From d347914a0683e5f6aa7fb3219bc4275d3257c873 Mon Sep 17 00:00:00 2001 From: Mathieu Malaterre Date: Thu, 30 Jan 2025 11:38:21 +0100 Subject: [PATCH] New upstream version 3.6.9 --- .github/workflows/cmake-win.yml | 121 + .gitignore | 25 +- ANNOUNCE | 219 +- CMake/3rdparty.cmake | 25 +- CMake/CTest/CTestCustomAndroid.cmake.in | 2 +- CMake/DCMTKConfig.cmake.in | 6 +- CMake/DCMTKConfig.old_cmake.in | 57 - CMake/FindICU.cmake | 689 - CMake/GenerateDCMTKConfigure.cmake | 525 +- CMake/dcmtkMacros.cmake | 58 +- CMake/dcmtkPrepare.cmake | 166 +- CMake/dcmtkTryRun.cmake | 2 +- CMake/osconfig.h.in | 881 +- CMakeLists.txt | 23 +- CONTRIBUTING.md | 79 + COPYRIGHT | 115 +- CREDITS | 9 +- HISTORY | 2 +- INSTALL | 595 +- Makefile | 70 +- README | 25 +- README.md | 9 +- VERSION | 2 +- config/Makefile.in | 15 +- config/aclocal.m4 | 681 +- config/configure | 8856 +-- config/configure.in | 336 +- config/confmod | 753 +- config/docs/CMakeLists.txt | 2 +- config/docs/config.dox | 7 +- config/docs/config.txt | 10 +- config/docs/cxx11.dox | 153 +- config/docs/envvars.txt | 10 - config/docs/macros.txt | 187 +- config/include/dcmtk/config/osconfig.h.in | 615 +- config/math.cc | 65 +- config/modules | 2 +- config/stdcxx.m4 | 128 +- config/tests/arith.cc | 651 - config/tests/cxx20.cc | 70 + dcmapps/CMakeLists.txt | 34 + dcmapps/Makefile.in | 76 + dcmapps/apps/CMakeLists.txt | 7 + dcmapps/apps/Makefile.dep | 161 + dcmapps/apps/Makefile.in | 132 + dcmapps/apps/dcm2img.cc | 23 + dcmapps/configure | 56 + dcmapps/docs/Makefile.in | 23 + dcmapps/docs/dcm2img.man | 603 + dcmapps/docs/dcmapps.dox | 13 + dcmapps/include/Makefile.in | 27 + dcmapps/include/dcmtk/dcmapps/dcm2img.h | 2030 + dcmdata/apps/CMakeLists.txt | 4 +- dcmdata/apps/Makefile.dep | 296 +- dcmdata/apps/Makefile.in | 7 +- dcmdata/apps/cda2dcm.cc | 0 dcmdata/apps/dcm2cda.cc | 344 + dcmdata/apps/dcm2pdf.cc | 373 +- dcmdata/apps/dcmcrle.cc | 4 +- dcmdata/apps/dcmgpdir.cc | 646 +- dcmdata/apps/dump2dcm.cc | 14 +- dcmdata/apps/img2dcm.cc | 2 +- dcmdata/apps/mdfconen.cc | 4 +- dcmdata/apps/mdfdsman.cc | 151 +- dcmdata/apps/mdfdsman.h | 39 +- dcmdata/apps/stl2dcm.cc | 0 dcmdata/apps/xml2dcm.cc | 4 +- dcmdata/data/CMakeLists.txt | 2 +- dcmdata/data/dicom.dic | 152 +- dcmdata/docs/CMakeLists.txt | 2 +- dcmdata/docs/cda2dcm.man | 2 +- dcmdata/docs/dcm2cda.man | 219 + dcmdata/docs/dcm2json.man | 6 +- dcmdata/docs/dcm2pdf.man | 34 +- dcmdata/docs/dcm2xml.man | 2 +- dcmdata/docs/dcmconv.man | 2 +- dcmdata/docs/dcmcrle.man | 2 +- dcmdata/docs/dcmdata.dox | 1 + dcmdata/docs/dcmdrle.man | 2 +- dcmdata/docs/dcmdump.man | 2 +- dcmdata/docs/dcmftest.man | 2 +- dcmdata/docs/dcmgpdir.man | 280 +- dcmdata/docs/dcmodify.man | 2 +- dcmdata/docs/dump2dcm.man | 2 +- dcmdata/docs/img2dcm.man | 24 +- dcmdata/docs/pdf2dcm.man | 2 +- dcmdata/docs/stl2dcm.man | 2 +- dcmdata/docs/xml2dcm.man | 2 +- dcmdata/include/dcmtk/dcmdata/dcchrstr.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcdatset.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcdatutl.h | 7 +- dcmdata/include/dcmtk/dcmdata/dcddirif.h | 8 +- dcmdata/include/dcmtk/dcmdata/dcdeftag.h | 151 +- dcmdata/include/dcmtk/dcmdata/dcdicent.h | 10 +- dcmdata/include/dcmtk/dcmdata/dcdict.h | 50 +- dcmdata/include/dcmtk/dcmdata/dcelem.h | 7 +- dcmdata/include/dcmtk/dcmdata/dcencdoc.h | 0 dcmdata/include/dcmtk/dcmdata/dcfilefo.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcitem.h | 7 +- dcmdata/include/dcmtk/dcmdata/dcmetinf.h | 4 +- .../include/dcmtk/dcmdata/dcmxml/xml2dcm.h | 14 +- dcmdata/include/dcmtk/dcmdata/dcobject.h | 7 +- dcmdata/include/dcmtk/dcmdata/dcostrmf.h | 12 +- dcmdata/include/dcmtk/dcmdata/dcpath.h | 8 +- dcmdata/include/dcmtk/dcmdata/dcpixel.h | 5 +- dcmdata/include/dcmtk/dcmdata/dcpixseq.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcpxitem.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcrleenc.h | 3 +- dcmdata/include/dcmtk/dcmdata/dcsequen.h | 4 +- dcmdata/include/dcmtk/dcmdata/dctag.h | 25 +- dcmdata/include/dcmtk/dcmdata/dcuid.h | 249 +- dcmdata/include/dcmtk/dcmdata/dcvr.h | 53 +- dcmdata/include/dcmtk/dcmdata/dcvrae.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvrcs.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvrda.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvrur.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcxfer.h | 437 +- dcmdata/libdcxml/Makefile.dep | 59 +- dcmdata/libdcxml/xml2dcm.cc | 57 +- dcmdata/libi2d/Makefile.dep | 70 +- dcmdata/libi2d/i2d.cc | 13 +- dcmdata/libi2d/i2djpgs.cc | 8 +- dcmdata/libsrc/Makefile.dep | 574 +- dcmdata/libsrc/cmdlnarg.cc | 54 +- dcmdata/libsrc/dcbytstr.cc | 10 +- dcmdata/libsrc/dcchrstr.cc | 3 +- dcmdata/libsrc/dcdatset.cc | 33 +- dcmdata/libsrc/dcddirif.cc | 197 +- dcmdata/libsrc/dcdicdir.cc | 13 +- dcmdata/libsrc/dcdicent.cc | 10 +- dcmdata/libsrc/dcdict.cc | 38 +- dcmdata/libsrc/dcdictbi.cc | 546 +- dcmdata/libsrc/dcdirrec.cc | 17 +- dcmdata/libsrc/dcelem.cc | 9 +- dcmdata/libsrc/dcencdoc.cc | 5 +- dcmdata/libsrc/dcfilefo.cc | 25 +- dcmdata/libsrc/dcitem.cc | 94 +- dcmdata/libsrc/dcmetinf.cc | 9 +- dcmdata/libsrc/dcostrmf.cc | 27 +- dcmdata/libsrc/dcpath.cc | 35 +- dcmdata/libsrc/dcpixel.cc | 94 +- dcmdata/libsrc/dcpixseq.cc | 4 +- dcmdata/libsrc/dcrleccd.cc | 53 +- dcmdata/libsrc/dcrlecce.cc | 4 +- dcmdata/libsrc/dcspchrs.cc | 112 +- dcmdata/libsrc/dctag.cc | 24 +- dcmdata/libsrc/dctagkey.cc | 4 +- dcmdata/libsrc/dcuid.cc | 1066 +- dcmdata/libsrc/dcvr.cc | 178 +- dcmdata/libsrc/dcvrat.cc | 7 +- dcmdata/libsrc/dcvrfd.cc | 8 +- dcmdata/libsrc/dcvrlt.cc | 4 +- dcmdata/libsrc/dcvrobow.cc | 20 +- dcmdata/libsrc/dcvrsl.cc | 20 +- dcmdata/libsrc/dcvrss.cc | 12 +- dcmdata/libsrc/dcvrst.cc | 4 +- dcmdata/libsrc/dcvrsv.cc | 22 +- dcmdata/libsrc/dcvrui.cc | 5 +- dcmdata/libsrc/dcvrul.cc | 20 +- dcmdata/libsrc/dcvrur.cc | 4 +- dcmdata/libsrc/dcvrus.cc | 11 +- dcmdata/libsrc/dcvrut.cc | 4 +- dcmdata/libsrc/dcvruv.cc | 22 +- dcmdata/libsrc/dcxfer.cc | 916 +- dcmdata/libsrc/mkdeftag.cc | 4 +- dcmdata/tests/CMakeLists.txt | 4 +- dcmdata/tests/Makefile.dep | 270 +- dcmdata/tests/Makefile.in | 2 +- dcmdata/tests/tbytestr.cc | 89 + dcmdata/tests/telemlen.cc | 2 +- dcmdata/tests/tests.cc | 8 +- dcmdata/tests/ti2dbmp.cc | 4 +- dcmdata/tests/tparser.cc | 22 +- dcmdata/tests/tvrcomp.cc | 12 +- dcmdata/tests/tvrds.cc | 12 +- dcmdata/tests/txfer.cc | 93 + dcmect/include/dcmtk/dcmect/def.h | 4 +- dcmect/include/dcmtk/dcmect/enhanced_ct.h | 19 +- dcmect/include/dcmtk/dcmect/types.h | 4 +- dcmect/libsrc/Makefile.dep | 244 +- dcmect/libsrc/enhanced_ct.cc | 47 +- dcmect/libsrc/types.cc | 5 +- dcmect/tests/CMakeLists.txt | 3 +- dcmect/tests/Makefile.dep | 394 +- dcmect/tests/Makefile.in | 4 +- dcmect/tests/t_huge_concat.cc | 8 +- dcmect/tests/t_overflow.cc | 362 + dcmect/tests/t_roundtrip.cc | 10 +- dcmect/tests/tests.cc | 3 +- .../dcmtk/dcmfg/concatenationcreator.h | 10 +- .../include/dcmtk/dcmfg/concatenationloader.h | 5 +- dcmfg/include/dcmtk/dcmfg/fg.h | 4 +- dcmfg/include/dcmtk/dcmfg/fgbase.h | 3 +- .../dcmtk/dcmfg/fgctacquisitiondetails.h | 7 +- .../include/dcmtk/dcmfg/fgctacquisitiontype.h | 6 +- .../dcmtk/dcmfg/fgctadditionalxraysource.h | 8 +- dcmfg/include/dcmtk/dcmfg/fgctexposure.h | 6 +- dcmfg/include/dcmtk/dcmfg/fgctgeometry.h | 6 +- .../include/dcmtk/dcmfg/fgctimageframetype.h | 5 +- dcmfg/include/dcmtk/dcmfg/fgctposition.h | 4 +- .../include/dcmtk/dcmfg/fgctreconstruction.h | 7 +- dcmfg/include/dcmtk/dcmfg/fgcttabledynamics.h | 4 +- dcmfg/include/dcmtk/dcmfg/fgctxraydetails.h | 8 +- dcmfg/include/dcmtk/dcmfg/fgdefine.h | 4 +- dcmfg/include/dcmtk/dcmfg/fgderimg.h | 28 +- dcmfg/include/dcmtk/dcmfg/fgfact.h | 3 +- dcmfg/include/dcmtk/dcmfg/fgfracon.h | 12 +- dcmfg/include/dcmtk/dcmfg/fgframevoilut.h | 5 +- dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h | 5 +- dcmfg/include/dcmtk/dcmfg/fginterface.h | 7 +- .../dcmtk/dcmfg/fgirradiationeventid.h | 5 +- dcmfg/include/dcmtk/dcmfg/fgplanor.h | 4 +- dcmfg/include/dcmtk/dcmfg/fgplanpo.h | 3 +- dcmfg/include/dcmtk/dcmfg/fgplanposvol.h | 1 + dcmfg/include/dcmtk/dcmfg/fgseg.h | 3 +- .../include/dcmtk/dcmfg/fgtemporalposition.h | 4 +- dcmfg/include/dcmtk/dcmfg/fgtypes.h | 5 +- .../dcmtk/dcmfg/fgusimagedescription.h | 3 +- dcmfg/include/dcmtk/dcmfg/stackinterface.h | 3 +- dcmfg/libsrc/Makefile.dep | 3271 +- dcmfg/libsrc/concatenationcreator.cc | 5 +- dcmfg/libsrc/concatenationloader.cc | 6 +- dcmfg/libsrc/fgbase.cc | 5 +- dcmfg/libsrc/fgctxraydetails.cc | 3 +- dcmfg/libsrc/fgderimg.cc | 34 +- dcmfg/libsrc/fgframevoilut.cc | 2 +- dcmfg/libsrc/fginterface.cc | 5 +- dcmfg/libsrc/fgplanposvol.cc | 2 +- dcmfg/libsrc/fgrealworldvaluemapping.cc | 7 +- dcmfg/libsrc/fgtypes.cc | 6 +- dcmfg/tests/CMakeLists.txt | 2 +- dcmfg/tests/Makefile.dep | 1169 +- dcmfg/tests/t_concatenation_creator.cc | 4 +- dcmfg/tests/t_concatenation_loader.cc | 1406 +- dcmfg/tests/t_ct_acquisition_details.cc | 4 +- dcmfg/tests/t_ct_acquisition_type.cc | 4 +- dcmfg/tests/t_ct_image_frame_type.cc | 4 +- dcmfg/tests/t_ct_position.cc | 4 +- dcmfg/tests/t_ct_table_dynamics.cc | 4 +- dcmfg/tests/t_deriv_image.cc | 3 +- dcmfg/tests/t_fg_base.cc | 5 +- dcmfg/tests/t_frame_content.cc | 4 +- .../t_irradiation_event_identification.cc | 4 +- dcmimage/apps/Makefile.dep | 163 +- dcmimage/apps/dcm2pnm.cc | 1527 +- dcmimage/docs/dcm2pnm.man | 481 +- dcmimage/docs/dcmicmp.man | 2 +- dcmimage/docs/dcmquant.man | 2 +- dcmimage/docs/dcmscale.man | 2 +- dcmimage/libsrc/Makefile.dep | 150 +- dcmimage/libsrc/dicoimg.cc | 11 +- dcmimage/libsrc/dipipng.cc | 9 +- dcmimage/libsrc/diqtctab.cc | 5 +- dcmimage/libsrc/diquant.cc | 5 +- dcmimgle/apps/Makefile.dep | 23 +- dcmimgle/apps/dcod2lum.cc | 6 +- dcmimgle/data/CMakeLists.txt | 2 +- dcmimgle/docs/dcmdspfn.man | 2 +- dcmimgle/docs/dcod2lum.man | 2 +- dcmimgle/docs/dconvlum.man | 2 +- dcmimgle/include/dcmtk/dcmimgle/dcmimage.h | 8 +- dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h | 73 +- dcmimgle/include/dcmtk/dcmimgle/didocu.h | 11 +- dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h | 12 +- dcmimgle/include/dcmtk/dcmimgle/diplugin.h | 5 +- dcmimgle/include/dcmtk/dcmimgle/dipxrept.h | 36 +- dcmimgle/include/dcmtk/dcmimgle/displint.h | 73 +- dcmimgle/libsrc/Makefile.dep | 241 +- dcmimgle/libsrc/dcmimage.cc | 26 +- dcmimgle/libsrc/diciefn.cc | 3 +- dcmimgle/libsrc/didispfn.cc | 5 +- dcmimgle/libsrc/didocu.cc | 19 +- dcmimgle/libsrc/digsdfn.cc | 3 +- dcmimgle/libsrc/diimage.cc | 9 +- dcmimgle/libsrc/dimoimg.cc | 12 +- dcmiod/include/dcmtk/dcmiod/iodcommn.h | 25 +- .../dcmtk/dcmiod/iodcontentitemmacro.h | 3 +- dcmiod/include/dcmtk/dcmiod/ioddef.h | 4 +- dcmiod/include/dcmtk/dcmiod/iodmacro.h | 10 +- dcmiod/include/dcmtk/dcmiod/iodutil.h | 44 +- .../dcmtk/dcmiod/modacquisitioncontext.h | 3 +- dcmiod/include/dcmtk/dcmiod/modbase.h | 38 +- .../dcmtk/dcmiod/modcommoninstanceref.h | 3 +- dcmiod/include/dcmtk/dcmiod/modenhusseries.h | 4 +- .../dcmtk/dcmiod/modfloatingpointimagepixel.h | 3 +- dcmiod/include/dcmtk/dcmiod/modhelp.h | 6 +- dcmiod/include/dcmtk/dcmiod/modimagepixel.h | 3 +- dcmiod/include/dcmtk/dcmiod/modmultiframefg.h | 5 +- dcmiod/include/dcmtk/dcmiod/modpatient.h | 4 +- dcmiod/include/dcmtk/dcmiod/modpatientstudy.h | 5 +- .../dcmtk/dcmiod/modsegmentationseries.h | 4 +- ...synchronisation.h => modsynchronization.h} | 3 +- dcmiod/include/dcmtk/dcmiod/modusfor.h | 3 +- dcmiod/libsrc/Makefile.dep | 1662 +- dcmiod/libsrc/cielabutil.cc | 5 +- dcmiod/libsrc/iodcommn.cc | 38 +- dcmiod/libsrc/iodcontentitemmacro.cc | 4 +- dcmiod/libsrc/iodmacro.cc | 15 +- dcmiod/libsrc/iodreferences.cc | 8 +- dcmiod/libsrc/iodrules.cc | 4 +- dcmiod/libsrc/iodtypes.cc | 5 +- dcmiod/libsrc/iodutil.cc | 201 +- dcmiod/libsrc/modacquisitioncontext.cc | 6 +- dcmiod/libsrc/modbase.cc | 31 +- dcmiod/libsrc/modcommoninstanceref.cc | 5 +- dcmiod/libsrc/modenhequipment.cc | 6 +- dcmiod/libsrc/modenhusimage.cc | 6 +- dcmiod/libsrc/modenhusseries.cc | 4 +- dcmiod/libsrc/modequipment.cc | 5 +- dcmiod/libsrc/modfloatingpointimagepixel.cc | 7 +- dcmiod/libsrc/modfor.cc | 4 +- dcmiod/libsrc/modgeneralimage.cc | 5 +- dcmiod/libsrc/modgeneralseries.cc | 5 +- dcmiod/libsrc/modgeneralstudy.cc | 5 +- dcmiod/libsrc/modhelp.cc | 4 +- dcmiod/libsrc/modimagepixel.cc | 5 +- dcmiod/libsrc/modimagepixelbase.cc | 6 +- dcmiod/libsrc/modmultiframedimension.cc | 5 +- dcmiod/libsrc/modmultiframefg.cc | 5 +- dcmiod/libsrc/modpatient.cc | 9 +- dcmiod/libsrc/modpatientstudy.cc | 9 +- dcmiod/libsrc/modsegmentationseries.cc | 7 +- dcmiod/libsrc/modsopcommon.cc | 5 +- dcmiod/libsrc/modsynchronization.cc | 6 +- dcmiod/libsrc/modusfor.cc | 6 +- dcmiod/tests/CMakeLists.txt | 5 +- dcmiod/tests/Makefile.dep | 339 +- dcmiod/tests/Makefile.in | 2 +- dcmiod/tests/tchecks.cc | 185 + dcmiod/tests/tcodes.cc | 7 +- dcmiod/tests/tests.cc | 9 +- dcmjpeg/apps/Makefile.dep | 171 +- dcmjpeg/apps/dcmcjpeg.cc | 4 +- dcmjpeg/apps/dcmj2pnm.cc | 17 +- dcmjpeg/apps/dcmmkdir.cc | 632 +- dcmjpeg/docs/dcmcjpeg.man | 2 +- dcmjpeg/docs/dcmdjpeg.man | 2 +- dcmjpeg/docs/dcmj2pnm.man | 558 +- dcmjpeg/docs/dcmmkdir.man | 8 +- dcmjpeg/include/dcmtk/dcmjpeg/djdijg12.h | 6 +- dcmjpeg/include/dcmtk/dcmjpeg/djdijg16.h | 6 +- dcmjpeg/include/dcmtk/dcmjpeg/djdijg8.h | 6 +- dcmjpeg/include/dcmtk/dcmjpeg/djeijg12.h | 14 +- dcmjpeg/include/dcmtk/dcmjpeg/djeijg16.h | 14 +- dcmjpeg/include/dcmtk/dcmjpeg/djeijg8.h | 11 +- dcmjpeg/libijg12/CMakeLists.txt | 1 - dcmjpeg/libijg12/Makefile.dep | 3 - dcmjpeg/libijg12/Makefile.in | 2 +- dcmjpeg/libijg12/jaricom.c | 15 - dcmjpeg/libijg12/jchuff12.h | 4 +- dcmjpeg/libijg12/jconfig12.h | 14 +- dcmjpeg/libijg12/jdct12.h | 18 +- dcmjpeg/libijg12/jdhuff12.h | 6 +- dcmjpeg/libijg12/jerror.c | 48 +- dcmjpeg/libijg12/jinclude12.h | 5 - dcmjpeg/libijg12/jmemmgr.c | 6 - dcmjpeg/libijg12/jmemnobs.c | 5 - dcmjpeg/libijg12/jmemsys12.h | 16 +- dcmjpeg/libijg12/jpegint12.h | 92 +- dcmjpeg/libijg12/jpeglib12.h | 248 +- dcmjpeg/libijg16/CMakeLists.txt | 1 - dcmjpeg/libijg16/Makefile.dep | 3 - dcmjpeg/libijg16/Makefile.in | 2 +- dcmjpeg/libijg16/jaricom.c | 15 - dcmjpeg/libijg16/jccolor.c | 2 - dcmjpeg/libijg16/jchuff16.h | 4 +- dcmjpeg/libijg16/jconfig16.h | 14 +- dcmjpeg/libijg16/jdct16.h | 18 +- dcmjpeg/libijg16/jdhuff16.h | 6 +- dcmjpeg/libijg16/jdmerge.c | 2 - dcmjpeg/libijg16/jerror.c | 48 +- dcmjpeg/libijg16/jinclude16.h | 5 - dcmjpeg/libijg16/jmemmgr.c | 6 - dcmjpeg/libijg16/jmemnobs.c | 5 - dcmjpeg/libijg16/jmemsys16.h | 16 +- dcmjpeg/libijg16/jpegint16.h | 92 +- dcmjpeg/libijg16/jpeglib16.h | 248 +- dcmjpeg/libijg8/CMakeLists.txt | 1 - dcmjpeg/libijg8/Makefile.dep | 3 - dcmjpeg/libijg8/Makefile.in | 2 +- dcmjpeg/libijg8/jaricom.c | 15 - dcmjpeg/libijg8/jchuff8.h | 4 +- dcmjpeg/libijg8/jconfig8.h | 14 +- dcmjpeg/libijg8/jdct8.h | 18 +- dcmjpeg/libijg8/jdhuff8.h | 6 +- dcmjpeg/libijg8/jerror.c | 48 +- dcmjpeg/libijg8/jinclude8.h | 5 - dcmjpeg/libijg8/jmemmgr.c | 6 - dcmjpeg/libijg8/jmemnobs.c | 5 - dcmjpeg/libijg8/jmemsys8.h | 16 +- dcmjpeg/libijg8/jpegint8.h | 92 +- dcmjpeg/libijg8/jpeglib8.h | 249 +- dcmjpeg/libsrc/Makefile.dep | 137 +- dcmjpeg/libsrc/djcodecd.cc | 42 +- dcmjpeg/libsrc/djcodece.cc | 11 +- dcmjpeg/libsrc/djdijg12.cc | 14 +- dcmjpeg/libsrc/djdijg16.cc | 14 +- dcmjpeg/libsrc/djdijg8.cc | 14 +- dcmjpeg/libsrc/djeijg12.cc | 20 +- dcmjpeg/libsrc/djeijg16.cc | 20 +- dcmjpeg/libsrc/djeijg8.cc | 20 +- dcmjpeg/libsrc/djencbas.cc | 5 +- dcmjpeg/libsrc/djencext.cc | 5 +- dcmjpeg/libsrc/djenclol.cc | 7 +- dcmjpeg/libsrc/djencpro.cc | 5 +- dcmjpeg/libsrc/djencsps.cc | 5 +- dcmjpeg/libsrc/djencsv1.cc | 5 +- dcmjpls/apps/Makefile.dep | 164 +- dcmjpls/apps/dcmcjpls.cc | 4 +- dcmjpls/apps/dcml2pnm.cc | 17 +- dcmjpls/docs/dcmcjpls.man | 2 +- dcmjpls/docs/dcmdjpls.man | 2 +- dcmjpls/docs/dcml2pnm.man | 482 +- dcmjpls/include/dcmtk/dcmjpls/dipijpls.h | 86 + dcmjpls/libcharls/Makefile.dep | 11 +- dcmjpls/libcharls/config.h | 6 +- dcmjpls/libsrc/CMakeLists.txt | 1 + dcmjpls/libsrc/Makefile.dep | 99 +- dcmjpls/libsrc/Makefile.in | 2 +- dcmjpls/libsrc/dipijpls.cc | 306 + dcmjpls/libsrc/djcodecd.cc | 21 +- dcmjpls/libsrc/djcodece.cc | 8 +- dcmnet/apps/CMakeLists.txt | 2 +- dcmnet/apps/Makefile.dep | 62 +- dcmnet/apps/Makefile.in | 2 +- dcmnet/apps/dcmrecv.cc | 9 +- dcmnet/apps/dcmsend.cc | 15 +- dcmnet/apps/echoscu.cc | 35 +- dcmnet/apps/findscu.cc | 24 +- dcmnet/apps/getscu.cc | 79 +- dcmnet/apps/movescu.cc | 100 +- dcmnet/apps/storescp.cc | 151 +- dcmnet/apps/storescu.cc | 43 +- dcmnet/apps/termscu.cc | 22 +- dcmnet/docs/CMakeLists.txt | 2 +- dcmnet/docs/dcmrecv.man | 7 +- dcmnet/docs/dcmsend.man | 41 +- dcmnet/docs/echoscu.man | 23 +- dcmnet/docs/findscu.man | 18 +- dcmnet/docs/getscu.man | 138 +- dcmnet/docs/movescu.man | 27 +- dcmnet/docs/storescp.man | 42 +- dcmnet/docs/storescu.man | 28 +- dcmnet/docs/termscu.man | 13 +- dcmnet/etc/CMakeLists.txt | 2 +- dcmnet/etc/storescp.cfg | 782 +- dcmnet/etc/storescu.cfg | 25 +- dcmnet/include/dcmtk/dcmnet/assoc.h | 57 +- dcmnet/include/dcmtk/dcmnet/dcmtrans.h | 32 +- dcmnet/include/dcmtk/dcmnet/dcompat.h | 129 +- dcmnet/include/dcmtk/dcmnet/dfindscu.h | 6 +- dcmnet/include/dcmtk/dcmnet/dimse.h | 5 +- dcmnet/include/dcmtk/dcmnet/dstorscu.h | 5 +- dcmnet/include/dcmtk/dcmnet/dul.h | 20 +- dcmnet/include/dcmtk/dcmnet/scu.h | 31 +- dcmnet/libsrc/CMakeLists.txt | 2 +- dcmnet/libsrc/Makefile.dep | 129 +- dcmnet/libsrc/assoc.cc | 37 +- dcmnet/libsrc/cond.cc | 7 +- dcmnet/libsrc/dcasccff.cc | 19 +- dcmnet/libsrc/dccfuidh.cc | 3 +- dcmnet/libsrc/dcmtrans.cc | 21 +- dcmnet/libsrc/dcompat.cc | 55 +- dcmnet/libsrc/dcuserid.cc | 17 +- dcmnet/libsrc/dfindscu.cc | 15 +- dcmnet/libsrc/dimcancl.cc | 7 +- dcmnet/libsrc/dimcmd.cc | 81 +- dcmnet/libsrc/dimdump.cc | 4 +- dcmnet/libsrc/dimecho.cc | 9 +- dcmnet/libsrc/dimfind.cc | 7 +- dcmnet/libsrc/dimget.cc | 7 +- dcmnet/libsrc/dimmove.cc | 7 +- dcmnet/libsrc/dimse.cc | 52 +- dcmnet/libsrc/dimstore.cc | 11 +- dcmnet/libsrc/diutil.cc | 73 +- dcmnet/libsrc/dstorscu.cc | 38 +- dcmnet/libsrc/dul.cc | 78 +- dcmnet/libsrc/dulconst.cc | 13 +- dcmnet/libsrc/dulextra.cc | 6 +- dcmnet/libsrc/dulfsm.cc | 335 +- dcmnet/libsrc/dulparse.cc | 6 +- dcmnet/libsrc/scp.cc | 3 +- dcmnet/libsrc/scpcfg.cc | 10 +- dcmnet/libsrc/scu.cc | 24 +- dcmnet/tests/CMakeLists.txt | 2 +- dcmnet/tests/Makefile.dep | 86 +- dcmnet/tests/tscuscp.cc | 2 - dcmpmap/include/dcmtk/dcmpmap/dpmdef.h | 4 +- .../dcmtk/dcmpmap/dpmparametricmapbase.h | 16 +- .../dcmtk/dcmpmap/dpmparametricmapiod.h | 3 +- dcmpmap/include/dcmtk/dcmpmap/dpmtypes.h | 4 +- dcmpmap/libsrc/Makefile.dep | 375 +- dcmpmap/libsrc/dpmparametricmapbase.cc | 4 +- dcmpmap/libsrc/dpmparametricmapiod.cc | 16 +- dcmpstat/apps/Makefile.dep | 250 +- dcmpstat/apps/dcmmklut.cc | 31 +- dcmpstat/apps/dcmp2pgm.cc | 11 +- dcmpstat/apps/dcmprscp.cc | 20 +- dcmpstat/apps/dcmprscu.cc | 20 +- dcmpstat/apps/dcmpschk.cc | 27 +- dcmpstat/apps/dcmpsrcv.cc | 17 +- dcmpstat/apps/dcmpssnd.cc | 13 +- dcmpstat/data/CMakeLists.txt | 2 +- dcmpstat/docs/dcmmkcrv.man | 2 +- dcmpstat/docs/dcmmklut.man | 2 +- dcmpstat/docs/dcmp2pgm.man | 2 +- dcmpstat/docs/dcmprscp.man | 2 +- dcmpstat/docs/dcmprscu.man | 2 +- dcmpstat/docs/dcmpschk.man | 2 +- dcmpstat/docs/dcmpsmk.man | 2 +- dcmpstat/docs/dcmpsprt.man | 2 +- dcmpstat/docs/dcmpsrcv.man | 2 +- dcmpstat/docs/dcmpssnd.man | 2 +- dcmpstat/etc/CMakeLists.txt | 2 +- dcmpstat/etc/dcmpstat.cfg | 13 +- dcmpstat/include/dcmtk/dcmpstat/dvpscf.h | 11 +- dcmpstat/include/dcmtk/dcmpstat/dvpspr.h | 4 +- dcmpstat/libsrc/CMakeLists.txt | 2 +- dcmpstat/libsrc/Makefile.dep | 383 +- dcmpstat/libsrc/dcmpstat.cc | 47 +- dcmpstat/libsrc/dviface.cc | 77 +- dcmpstat/libsrc/dvpsabl.cc | 4 +- dcmpstat/libsrc/dvpsall.cc | 22 +- dcmpstat/libsrc/dvpscf.cc | 34 +- dcmpstat/libsrc/dvpscu.cc | 18 +- dcmpstat/libsrc/dvpsda.cc | 6 +- dcmpstat/libsrc/dvpsdal.cc | 4 +- dcmpstat/libsrc/dvpsfs.cc | 22 +- dcmpstat/libsrc/dvpsga.cc | 5 +- dcmpstat/libsrc/dvpsgal.cc | 4 +- dcmpstat/libsrc/dvpsgl.cc | 5 +- dcmpstat/libsrc/dvpsgll.cc | 4 +- dcmpstat/libsrc/dvpsgrl.cc | 4 +- dcmpstat/libsrc/dvpshlp.cc | 23 +- dcmpstat/libsrc/dvpsib.cc | 42 +- dcmpstat/libsrc/dvpsibl.cc | 4 +- dcmpstat/libsrc/dvpsmsg.cc | 4 +- dcmpstat/libsrc/dvpspl.cc | 34 +- dcmpstat/libsrc/dvpspll.cc | 4 +- dcmpstat/libsrc/dvpspr.cc | 16 +- dcmpstat/libsrc/dvpsri.cc | 11 +- dcmpstat/libsrc/dvpsril.cc | 9 +- dcmpstat/libsrc/dvpsrsl.cc | 4 +- dcmpstat/libsrc/dvpssp.cc | 49 +- dcmpstat/libsrc/dvpssv.cc | 34 +- dcmpstat/libsrc/dvpssvl.cc | 25 +- dcmpstat/libsrc/dvpstat.cc | 81 +- dcmpstat/libsrc/dvpstxl.cc | 4 +- dcmpstat/libsrc/dvpsvl.cc | 25 +- dcmpstat/libsrc/dvpsvll.cc | 4 +- dcmpstat/libsrc/dvsighdl.cc | 7 +- dcmpstat/tests/CMakeLists.txt | 2 +- dcmpstat/tests/Makefile.dep | 3 +- dcmpstat/tests/msgserv.cc | 15 +- dcmqrdb/apps/CMakeLists.txt | 2 +- dcmqrdb/apps/Makefile.dep | 12 +- dcmqrdb/apps/Makefile.in | 17 +- dcmqrdb/apps/dcmqrscp.cc | 81 +- dcmqrdb/apps/dcmqrti.cc | 16 +- dcmqrdb/docs/CMakeLists.txt | 2 +- dcmqrdb/docs/dcmqridx.man | 2 +- dcmqrdb/docs/dcmqrscp.man | 170 +- dcmqrdb/docs/dcmqrti.man | 2 +- dcmqrdb/etc/CMakeLists.txt | 2 +- dcmqrdb/etc/Makefile.in | 2 +- dcmqrdb/etc/dcmqrprf.cfg | 846 +- dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h | 5 +- dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h | 8 +- dcmqrdb/libsrc/CMakeLists.txt | 6 +- dcmqrdb/libsrc/Makefile.dep | 33 +- dcmqrdb/libsrc/Makefile.in | 3 +- dcmqrdb/libsrc/dcmqrcnf.cc | 6 +- dcmqrdb/libsrc/dcmqrdbi.cc | 35 +- dcmqrdb/libsrc/dcmqrptb.cc | 20 +- dcmqrdb/libsrc/dcmqrsrv.cc | 44 +- dcmqrdb/libsrc/dcmqrtis.cc | 9 +- dcmrt/apps/Makefile.dep | 4 +- dcmrt/docs/drtdump.man | 2 +- dcmrt/libsrc/Makefile.dep | 1100 +- dcmrt/libsrc/drttypes.cc | 10 +- dcmrt/tests/CMakeLists.txt | 4 +- dcmrt/tests/Makefile.dep | 15 +- dcmrt/tests/drttest.cc | 215 +- dcmseg/include/dcmtk/dcmseg/segdoc.h | 19 +- dcmseg/include/dcmtk/dcmseg/segment.h | 5 +- dcmseg/include/dcmtk/dcmseg/segtypes.h | 3 +- dcmseg/include/dcmtk/dcmseg/segutils.h | 81 +- dcmseg/libsrc/Makefile.dep | 455 +- dcmseg/libsrc/segdoc.cc | 93 +- dcmseg/libsrc/segutils.cc | 204 +- dcmseg/tests/CMakeLists.txt | 2 +- dcmseg/tests/Makefile.dep | 537 +- dcmseg/tests/tbigdim.cc | 7 +- dcmseg/tests/tconcat_binary.cc | 4 +- dcmseg/tests/tests.cc | 7 +- dcmseg/tests/troundtrip.cc | 4 +- dcmseg/tests/tutils.cc | 237 +- dcmsign/apps/Makefile.dep | 4 +- dcmsign/docs/dcmsign.man | 2 +- dcmsign/libsrc/CMakeLists.txt | 2 +- dcmsign/libsrc/Makefile.dep | 64 +- dcmsign/libsrc/dcsighlp.cc | 9 +- dcmsign/libsrc/dcsignat.cc | 26 +- dcmsign/libsrc/sicert.cc | 18 +- dcmsign/libsrc/siprivat.cc | 5 +- dcmsign/libsrc/sitstamp.cc | 68 +- dcmsr/apps/Makefile.dep | 16 +- dcmsr/apps/dsr2html.cc | 19 +- dcmsr/apps/dsr2xml.cc | 4 +- dcmsr/apps/xml2dsr.cc | 14 +- dcmsr/data/CMakeLists.txt | 2 +- dcmsr/data/dsr2xml.xsd | 4 +- dcmsr/docs/dsr2html.man | 7 +- dcmsr/docs/dsr2xml.man | 3 +- dcmsr/docs/dsrdump.man | 3 +- dcmsr/docs/xml2dsr.man | 3 +- dcmsr/include/dcmtk/dcmsr/cmr/cid100.h | 12 +- dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h | 10 +- dcmsr/include/dcmtk/dcmsr/cmr/cid218.h | 10 +- dcmsr/include/dcmtk/dcmsr/cmr/cid244.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid247.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h | 46 +- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h | 10 +- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h | 14 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7551.h | 6 +- dcmsr/include/dcmtk/dcmsr/codes/dcm.h | 197 +- dcmsr/include/dcmtk/dcmsr/codes/ncit.h | 8 +- dcmsr/include/dcmtk/dcmsr/codes/umls.h | 10 +- dcmsr/include/dcmtk/dcmsr/dsdefine.h | 11 +- dcmsr/include/dcmtk/dcmsr/dsrchecc.h | 7 +- dcmsr/include/dcmtk/dcmsr/dsrcitem.h | 40 +- dcmsr/include/dcmtk/dcmsr/dsrcodtn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrcodvl.h | 86 +- dcmsr/include/dcmtk/dcmsr/dsrcolcc.h | 7 +- dcmsr/include/dcmtk/dcmsr/dsrcomtn.h | 70 +- dcmsr/include/dcmtk/dcmsr/dsrcomvl.h | 54 +- dcmsr/include/dcmtk/dcmsr/dsrcontn.h | 74 +- dcmsr/include/dcmtk/dcmsr/dsrdattn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrdoc.h | 32 +- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h | 94 +- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h | 7 +- dcmsr/include/dcmtk/dcmsr/dsrdtitn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrimgtn.h | 70 +- dcmsr/include/dcmtk/dcmsr/dsrimgvl.h | 55 +- dcmsr/include/dcmtk/dcmsr/dsrimpcc.h | 7 +- dcmsr/include/dcmtk/dcmsr/dsrkeycc.h | 7 +- dcmsr/include/dcmtk/dcmsr/dsrmaccc.h | 7 +- dcmsr/include/dcmtk/dcmsr/dsrmamcc.h | 7 +- dcmsr/include/dcmtk/dcmsr/dsrnumtn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h | 54 +- dcmsr/include/dcmtk/dcmsr/dsrpficc.h | 9 +- dcmsr/include/dcmtk/dcmsr/dsrplicc.h | 9 +- dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h | 70 +- dcmsr/include/dcmtk/dcmsr/dsrprdcc.h | 7 +- dcmsr/include/dcmtk/dcmsr/dsrreftn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrrsdcc.h | 7 +- dcmsr/include/dcmtk/dcmsr/dsrsaecc.h | 7 +- dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h | 40 +- dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h | 52 +- dcmsr/include/dcmtk/dcmsr/dsrscogr.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrscotn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrscovl.h | 52 +- dcmsr/include/dcmtk/dcmsr/dsrspecc.h | 7 +- dcmsr/include/dcmtk/dcmsr/dsrstrvl.h | 50 +- dcmsr/include/dcmtk/dcmsr/dsrtcotn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrtcovl.h | 52 +- dcmsr/include/dcmtk/dcmsr/dsrtextn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrtimtn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrtnant.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrtpltn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrtypes.h | 14 +- dcmsr/include/dcmtk/dcmsr/dsruidtn.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrwancc.h | 93 + dcmsr/include/dcmtk/dcmsr/dsrwavch.h | 66 +- dcmsr/include/dcmtk/dcmsr/dsrwavtn.h | 70 +- dcmsr/include/dcmtk/dcmsr/dsrwavvl.h | 54 +- dcmsr/include/dcmtk/dcmsr/dsrxmlc.h | 14 +- dcmsr/libcmr/Makefile.dep | 164 +- dcmsr/libcmr/cid100.cc | 10 +- dcmsr/libcmr/cid10013.cc | 6 +- dcmsr/libcmr/cid10033.cc | 6 +- dcmsr/libcmr/cid11.cc | 10 +- dcmsr/libcmr/cid218.cc | 8 +- dcmsr/libcmr/cid244.cc | 6 +- dcmsr/libcmr/cid247.cc | 6 +- dcmsr/libcmr/cid29.cc | 26 +- dcmsr/libcmr/cid4020.cc | 6 +- dcmsr/libcmr/cid4021.cc | 8 +- dcmsr/libcmr/cid4031.cc | 6 +- dcmsr/libcmr/cid4031e.cc | 8 +- dcmsr/libcmr/cid42.cc | 6 +- dcmsr/libcmr/cid6147.cc | 6 +- dcmsr/libcmr/cid7021.cc | 6 +- dcmsr/libcmr/cid7181.cc | 6 +- dcmsr/libcmr/cid7445.cc | 6 +- dcmsr/libcmr/cid7452.cc | 6 +- dcmsr/libcmr/cid7453.cc | 6 +- dcmsr/libcmr/cid7464.cc | 6 +- dcmsr/libcmr/cid7469.cc | 10 +- dcmsr/libcmr/cid7551.cc | 6 +- dcmsr/libcmr/tid1411.cc | 4 +- dcmsr/libsrc/CMakeLists.txt | 2 + dcmsr/libsrc/Makefile.dep | 425 +- dcmsr/libsrc/Makefile.in | 24 +- dcmsr/libsrc/dsracqcc.cc | 4 +- dcmsr/libsrc/dsrbascc.cc | 6 +- dcmsr/libsrc/dsrc3dcc.cc | 29 +- dcmsr/libsrc/dsrchecc.cc | 36 +- dcmsr/libsrc/dsrcitem.cc | 26 +- dcmsr/libsrc/dsrcodtn.cc | 56 +- dcmsr/libsrc/dsrcodvl.cc | 74 +- dcmsr/libsrc/dsrcolcc.cc | 28 +- dcmsr/libsrc/dsrcomcc.cc | 29 +- dcmsr/libsrc/dsrcomtn.cc | 61 +- dcmsr/libsrc/dsrcomvl.cc | 41 +- dcmsr/libsrc/dsrcontn.cc | 57 +- dcmsr/libsrc/dsrdattn.cc | 56 +- dcmsr/libsrc/dsrdoc.cc | 24 +- dcmsr/libsrc/dsrdocst.cc | 2 +- dcmsr/libsrc/dsrdoctn.cc | 86 +- dcmsr/libsrc/dsrdoctr.cc | 7 +- dcmsr/libsrc/dsrdtitn.cc | 56 +- dcmsr/libsrc/dsrenhcc.cc | 4 +- dcmsr/libsrc/dsrimgfr.cc | 11 +- dcmsr/libsrc/dsrimgtn.cc | 61 +- dcmsr/libsrc/dsrimgvl.cc | 58 +- dcmsr/libsrc/dsrimpcc.cc | 4 +- dcmsr/libsrc/dsrkeycc.cc | 4 +- dcmsr/libsrc/dsrmaccc.cc | 4 +- dcmsr/libsrc/dsrmamcc.cc | 51 +- dcmsr/libsrc/dsrnumtn.cc | 56 +- dcmsr/libsrc/dsrnumvl.cc | 46 +- dcmsr/libsrc/dsrpficc.cc | 22 +- dcmsr/libsrc/dsrplicc.cc | 24 +- dcmsr/libsrc/dsrpnmtn.cc | 56 +- dcmsr/libsrc/dsrposcn.cc | 6 +- dcmsr/libsrc/dsrprdcc.cc | 6 +- dcmsr/libsrc/dsrprocc.cc | 20 +- dcmsr/libsrc/dsrreftn.cc | 60 +- dcmsr/libsrc/dsrrrdcc.cc | 12 +- dcmsr/libsrc/dsrrsdcc.cc | 4 +- dcmsr/libsrc/dsrsaecc.cc | 36 +- dcmsr/libsrc/dsrsc3gr.cc | 18 +- dcmsr/libsrc/dsrsc3tn.cc | 56 +- dcmsr/libsrc/dsrsc3vl.cc | 40 +- dcmsr/libsrc/dsrscogr.cc | 32 +- dcmsr/libsrc/dsrscotn.cc | 56 +- dcmsr/libsrc/dsrscovl.cc | 38 +- dcmsr/libsrc/dsrstrvl.cc | 30 +- dcmsr/libsrc/dsrtcotn.cc | 56 +- dcmsr/libsrc/dsrtcoto.cc | 2 +- dcmsr/libsrc/dsrtcovl.cc | 40 +- dcmsr/libsrc/dsrtextn.cc | 57 +- dcmsr/libsrc/dsrtimtn.cc | 56 +- dcmsr/libsrc/dsrtnant.cc | 53 + dcmsr/libsrc/dsrtpltn.cc | 53 +- dcmsr/libsrc/dsrtypes.cc | 49 +- dcmsr/libsrc/dsruidtn.cc | 56 +- dcmsr/libsrc/dsrwancc.cc | 121 + dcmsr/libsrc/dsrwavch.cc | 32 +- dcmsr/libsrc/dsrwavtn.cc | 61 +- dcmsr/libsrc/dsrwavvl.cc | 41 +- dcmsr/libsrc/dsrxmld.cc | 21 +- dcmsr/libsrc/dsrxrdcc.cc | 4 +- dcmsr/tests/CMakeLists.txt | 4 +- dcmsr/tests/Makefile.dep | 36 +- dcmsr/tests/gmon.out | Bin 2537788 -> 0 bytes dcmsr/tests/tsrdoctr.cc | 2 +- dcmtls/docs/CMakeLists.txt | 2 +- dcmtls/docs/certstor.dox | 9 +- dcmtls/docs/ciphers.txt | 11 +- dcmtls/include/dcmtk/dcmtls/tlsciphr.h | 7 +- dcmtls/include/dcmtk/dcmtls/tlscond.h | 90 +- dcmtls/include/dcmtk/dcmtls/tlsopt.h | 17 +- dcmtls/libsrc/CMakeLists.txt | 2 +- dcmtls/libsrc/Makefile.dep | 13 +- dcmtls/libsrc/tlsciphr.cc | 96 +- dcmtls/libsrc/tlscond.cc | 127 +- dcmtls/libsrc/tlsfmacr.h | 20 +- dcmtls/libsrc/tlslayer.cc | 126 +- dcmtls/libsrc/tlsopt.cc | 37 +- dcmtls/libsrc/tlstrans.cc | 23 +- dcmtls/tests/CMakeLists.txt | 2 +- dcmtract/include/dcmtk/dcmtract/trcdef.h | 4 +- .../include/dcmtk/dcmtract/trcmeasurement.h | 4 +- .../include/dcmtk/dcmtract/trcstatistic.h | 4 +- .../dcmtk/dcmtract/trctractographyresults.h | 4 +- dcmtract/include/dcmtk/dcmtract/trctypes.h | 4 +- dcmtract/libsrc/Makefile.dep | 390 +- dcmtract/libsrc/trcmeasurement.cc | 7 +- dcmtract/libsrc/trcmodtractresults.cc | 4 +- dcmtract/libsrc/trcstatistic.cc | 4 +- dcmtract/libsrc/trctrack.cc | 6 +- dcmtract/libsrc/trctrackset.cc | 4 +- dcmtract/libsrc/trctractographyresults.cc | 10 +- dcmwlm/apps/Makefile.dep | 2 - dcmwlm/apps/wlcefs.cc | 13 +- dcmwlm/data/CMakeLists.txt | 2 +- dcmwlm/docs/CMakeLists.txt | 2 +- dcmwlm/docs/wlmscpfs.man | 2 +- dcmwlm/libsrc/Makefile.dep | 8 +- dcmwlm/libsrc/wlfsim.cc | 4 +- dcmwlm/libsrc/wlmactmg.cc | 38 +- dcmwlm/tests/CMakeLists.txt | 2 +- dcmwlm/tests/Makefile.dep | 1 - docs/ANNOUNCE.368 | 177 + docs/CHANGES.369 | 3962 + doxygen/CMakeLists.txt | 4 +- doxygen/htmldocs.cfg | 3 +- doxygen/htmldocs.dox | 22 +- doxygen/manpages/man1/cda2dcm.1 | 8 +- doxygen/manpages/man1/dcm2cda.1 | 174 + doxygen/manpages/man1/dcm2img.1 | 558 + doxygen/manpages/man1/dcm2json.1 | 196 +- doxygen/manpages/man1/dcm2pdf.1 | 41 +- doxygen/manpages/man1/dcm2pnm.1 | 442 +- doxygen/manpages/man1/dcm2xml.1 | 248 +- doxygen/manpages/man1/dcmcjpeg.1 | 202 +- doxygen/manpages/man1/dcmcjpls.1 | 74 +- doxygen/manpages/man1/dcmconv.1 | 12 +- doxygen/manpages/man1/dcmcrle.1 | 18 +- doxygen/manpages/man1/dcmdjpeg.1 | 88 +- doxygen/manpages/man1/dcmdjpls.1 | 46 +- doxygen/manpages/man1/dcmdrle.1 | 32 +- doxygen/manpages/man1/dcmdspfn.1 | 6 +- doxygen/manpages/man1/dcmdump.1 | 24 +- doxygen/manpages/man1/dcmftest.1 | 6 +- doxygen/manpages/man1/dcmgpdir.1 | 218 +- doxygen/manpages/man1/dcmicmp.1 | 32 +- doxygen/manpages/man1/dcmj2pnm.1 | 520 +- doxygen/manpages/man1/dcml2pnm.1 | 444 +- doxygen/manpages/man1/dcmmkcrv.1 | 28 +- doxygen/manpages/man1/dcmmkdir.1 | 40 +- doxygen/manpages/man1/dcmmklut.1 | 24 +- doxygen/manpages/man1/dcmodify.1 | 136 +- doxygen/manpages/man1/dcmp2pgm.1 | 6 +- doxygen/manpages/man1/dcmprscp.1 | 4 +- doxygen/manpages/man1/dcmprscu.1 | 10 +- doxygen/manpages/man1/dcmpschk.1 | 6 +- doxygen/manpages/man1/dcmpsmk.1 | 8 +- doxygen/manpages/man1/dcmpsprt.1 | 18 +- doxygen/manpages/man1/dcmpsrcv.1 | 4 +- doxygen/manpages/man1/dcmpssnd.1 | 4 +- doxygen/manpages/man1/dcmqridx.1 | 6 +- doxygen/manpages/man1/dcmqrscp.1 | 970 +- doxygen/manpages/man1/dcmqrti.1 | 56 +- doxygen/manpages/man1/dcmquant.1 | 10 +- doxygen/manpages/man1/dcmrecv.1 | 27 +- doxygen/manpages/man1/dcmscale.1 | 10 +- doxygen/manpages/man1/dcmsend.1 | 39 +- doxygen/manpages/man1/dcmsign.1 | 28 +- doxygen/manpages/man1/dcod2lum.1 | 4 +- doxygen/manpages/man1/dconvlum.1 | 4 +- doxygen/manpages/man1/drtdump.1 | 22 +- doxygen/manpages/man1/dsr2html.1 | 105 +- doxygen/manpages/man1/dsr2xml.1 | 89 +- doxygen/manpages/man1/dsrdump.1 | 55 +- doxygen/manpages/man1/dump2dcm.1 | 68 +- doxygen/manpages/man1/echoscu.1 | 125 +- doxygen/manpages/man1/findscu.1 | 54 +- doxygen/manpages/man1/getscu.1 | 469 +- doxygen/manpages/man1/img2dcm.1 | 24 +- doxygen/manpages/man1/mkcsmapper.1 | 2 +- doxygen/manpages/man1/mkesdb.1 | 2 +- doxygen/manpages/man1/movescu.1 | 507 +- doxygen/manpages/man1/pdf2dcm.1 | 8 +- doxygen/manpages/man1/stl2dcm.1 | 8 +- doxygen/manpages/man1/storescp.1 | 503 +- doxygen/manpages/man1/storescu.1 | 218 +- doxygen/manpages/man1/termscu.1 | 19 +- doxygen/manpages/man1/wlmscpfs.1 | 22 +- doxygen/manpages/man1/xml2dcm.1 | 198 +- doxygen/manpages/man1/xml2dsr.1 | 81 +- oficonv/apps/CMakeLists.txt | 6 +- oficonv/data/CMakeLists.txt | 31 +- .../data/csmapper/ISO-8859/UCS%ISO-8859-2.mps | Bin 262352 -> 262352 bytes .../data/csmapper/ISO-8859/UCS%ISO-8859-3.mps | Bin 262352 -> 262352 bytes oficonv/data/esdb/MISC/JISX0201-KANA.esdb | Bin 304 -> 400 bytes oficonv/datasrc/CMakeLists.txt | 5 +- .../csmapper/ISO-8859/UCS%ISO-8859-2.src | 64498 +-------------- .../csmapper/ISO-8859/UCS%ISO-8859-3.src | 64500 +--------------- .../csmapper/ISO-8859/UCS%ISO-8859-5.src | 251 - oficonv/datasrc/esdb/MISC/JISX0201-KANA.src | 5 +- oficonv/include/dcmtk/oficonv/iconv.h | 7 + oficonv/libsrc/Makefile.dep | 3 +- oficonv/libsrc/citrus_csmapper.c | 9 + oficonv/libsrc/citrus_csmapper.h | 2 + oficonv/libsrc/citrus_iconv.c | 12 +- oficonv/libsrc/citrus_mapper.c | 16 + oficonv/libsrc/citrus_mapper.h | 1 + oficonv/libsrc/citrus_viqr.c | 2 +- .../csmapper_iso_8859_ucs_iso_8859_2_mps.h | 43346 +++++------ .../csmapper_iso_8859_ucs_iso_8859_3_mps.h | 43346 +++++------ oficonv/libsrc/esdb_misc_jisx0201_kana_esdb.h | 54 +- oficonv/libsrc/oficonv_iconv.c | 7 +- oficonv/tests/CMakeLists.txt | 2 +- oficonv/tests/Makefile.dep | 19 +- oficonv/tests/tables_iso8859.h | 39 +- oficonv/tests/ticonv_japanese.cc | 6 +- oflog/docs/oflog.dox | 5 + oflog/etc/CMakeLists.txt | 2 +- oflog/etc/Makefile.in | 2 +- oflog/etc/consolog.cfg | 19 + oflog/include/dcmtk/oflog/config.h | 4 +- oflog/include/dcmtk/oflog/config/defines.h | 29 - .../dcmtk/oflog/thread/impl/syncpthr.h | 3 +- oflog/libsrc/Makefile.dep | 72 +- oflog/libsrc/property.cc | 19 +- ofstd/include/dcmtk/ofstd/diag/unarymin.def | 4 + ofstd/include/dcmtk/ofstd/ofalgo.h | 71 +- ofstd/include/dcmtk/ofstd/ofbmanip.h | 16 +- ofstd/include/dcmtk/ofstd/ofcast.h | 39 +- ofstd/include/dcmtk/ofstd/ofdefine.h | 43 +- ofstd/include/dcmtk/ofstd/ofdiag.h | 10 +- ofstd/include/dcmtk/ofstd/offile.h | 69 +- ofstd/include/dcmtk/ofstd/ofglobal.h | 102 +- ofstd/include/dcmtk/ofstd/oflimits.h | 1391 +- ofstd/include/dcmtk/ofstd/oflist.h | 41 +- ofstd/include/dcmtk/ofstd/ofmap.h | 6 +- ofstd/include/dcmtk/ofstd/ofstack.h | 6 +- ofstd/include/dcmtk/ofstd/ofstd.h | 73 +- ofstd/include/dcmtk/ofstd/ofstream.h | 41 +- ofstd/include/dcmtk/ofstd/ofstub.h | 47 + ofstd/include/dcmtk/ofstd/ofthread.h | 22 +- ofstd/include/dcmtk/ofstd/oftypes.h | 12 +- ofstd/include/dcmtk/ofstd/ofutil.h | 6 +- ofstd/include/dcmtk/ofstd/ofuuid.h | 5 +- ofstd/include/dcmtk/ofstd/ofvector.h | 6 +- ofstd/include/dcmtk/ofstd/ofvriant.h | 17 +- ofstd/include/dcmtk/ofstd/ofwhere.h | 61 + ofstd/libsrc/CMakeLists.txt | 2 + ofstd/libsrc/Makefile.dep | 107 +- ofstd/libsrc/Makefile.in | 3 +- ofstd/libsrc/ofchrenc.cc | 260 +- ofstd/libsrc/ofcmdln.cc | 7 +- ofstd/libsrc/ofconapp.cc | 22 +- ofstd/libsrc/ofdate.cc | 7 +- ofstd/libsrc/offile.cc | 4 +- ofstd/libsrc/offilsys.cc | 6 +- ofstd/libsrc/ofipc.cc | 20 +- ofstd/libsrc/ofstd.cc | 577 +- ofstd/libsrc/ofstub.cc | 280 + ofstd/libsrc/oftime.cc | 17 +- ofstd/libsrc/ofwhere.c | 548 + ofstd/tests/CMakeLists.txt | 35 +- ofstd/tests/Makefile.dep | 227 +- ofstd/tests/Makefile.in | 2 +- ofstd/tests/tatof.cc | 49 +- ofstd/tests/tests.cc | 12 +- ofstd/tests/tftoa.cc | 315 +- ofstd/tests/tlimits.cc | 20 +- ofstd/tests/toption.cc | 6 +- ofstd/tests/tstl.cc | 253 + 966 files changed, 81244 insertions(+), 213633 deletions(-) create mode 100644 .github/workflows/cmake-win.yml delete mode 100644 CMake/DCMTKConfig.old_cmake.in delete mode 100644 CMake/FindICU.cmake create mode 100644 CONTRIBUTING.md delete mode 100644 config/tests/arith.cc create mode 100644 config/tests/cxx20.cc create mode 100644 dcmapps/CMakeLists.txt create mode 100644 dcmapps/Makefile.in create mode 100644 dcmapps/apps/CMakeLists.txt create mode 100644 dcmapps/apps/Makefile.dep create mode 100644 dcmapps/apps/Makefile.in create mode 100644 dcmapps/apps/dcm2img.cc create mode 100755 dcmapps/configure create mode 100644 dcmapps/docs/Makefile.in create mode 100644 dcmapps/docs/dcm2img.man create mode 100644 dcmapps/docs/dcmapps.dox create mode 100644 dcmapps/include/Makefile.in create mode 100644 dcmapps/include/dcmtk/dcmapps/dcm2img.h mode change 100755 => 100644 dcmdata/apps/cda2dcm.cc create mode 100644 dcmdata/apps/dcm2cda.cc mode change 100755 => 100644 dcmdata/apps/stl2dcm.cc create mode 100644 dcmdata/docs/dcm2cda.man mode change 100755 => 100644 dcmdata/include/dcmtk/dcmdata/dcencdoc.h create mode 100644 dcmdata/tests/tbytestr.cc create mode 100644 dcmdata/tests/txfer.cc create mode 100644 dcmect/tests/t_overflow.cc rename dcmiod/include/dcmtk/dcmiod/{modsynchronisation.h => modsynchronization.h} (99%) create mode 100644 dcmiod/tests/tchecks.cc delete mode 100644 dcmjpeg/libijg12/jaricom.c delete mode 100644 dcmjpeg/libijg16/jaricom.c delete mode 100644 dcmjpeg/libijg8/jaricom.c create mode 100644 dcmjpls/include/dcmtk/dcmjpls/dipijpls.h create mode 100644 dcmjpls/libsrc/dipijpls.cc create mode 100644 dcmsr/include/dcmtk/dcmsr/dsrwancc.h create mode 100644 dcmsr/libsrc/dsrtnant.cc create mode 100644 dcmsr/libsrc/dsrwancc.cc delete mode 100644 dcmsr/tests/gmon.out create mode 100644 docs/ANNOUNCE.368 create mode 100644 docs/CHANGES.369 create mode 100644 doxygen/manpages/man1/dcm2cda.1 create mode 100644 doxygen/manpages/man1/dcm2img.1 create mode 100644 oflog/etc/consolog.cfg create mode 100644 ofstd/include/dcmtk/ofstd/diag/unarymin.def create mode 100644 ofstd/include/dcmtk/ofstd/ofstub.h create mode 100644 ofstd/include/dcmtk/ofstd/ofwhere.h create mode 100644 ofstd/libsrc/ofstub.cc create mode 100644 ofstd/libsrc/ofwhere.c create mode 100644 ofstd/tests/tstl.cc diff --git a/.github/workflows/cmake-win.yml b/.github/workflows/cmake-win.yml new file mode 100644 index 00000000..fd7869c7 --- /dev/null +++ b/.github/workflows/cmake-win.yml @@ -0,0 +1,121 @@ +name: C/C++ CI Windows + +on: + push: + branches: [ "master"] + pull_request: + branches: [ "master"] + workflow_dispatch: + +jobs: + + build-windows: + + runs-on: windows-latest + timeout-minutes: 30 + + steps: + - uses: actions/checkout@v4 + with: + fetch-tags: true + - uses: microsoft/setup-msbuild@v2 + with: + vs-version: '17' + msbuild-architecture: x64 + - uses: actions/setup-python@v5 + with: + python-version: '3.8.0' + + - name: Download DCMTK Support libraries + shell: pwsh + run: | + C:\msys64\usr\bin\wget.exe -O dcmtk_support.zip https://dicom.offis.de/download/dcmtk/dcmtk368/support/dcmtk-3.6.8-win64-support-MD-msvc-17.4.zip + + # Uncompress support libraries into directory c:\dcmtk_support\libs. + # We rename the original directory to libs so that the rest of the script + # can use the ame path even if the support library package is updated + # in the future in the download task above. + - name: Uncompress Support libraries + shell: pwsh + run: | + 7z x dcmtk_support.zip -oc:\dcmtk_support\ + cd c:\dcmtk_support + move dcmtk* libs + echo "Content of c:\dcmtk_support\libs" + ls c:\dcmtk_support\libs + + - name: Prepare environment + run: | + $NOW=& Get-Date -format yyyyMMdd + echo "NOW=$NOW" >> $env:GITHUB_ENV + $git_hash=$(git.exe rev-parse --short ${{ github.sha }}) + echo "COMMIT_SHORT_SHA=$git_hash" >> $env:GITHUB_ENV + + - name: Configure project + run: | + ls ${{ github.workspace }} + echo "WORKSPACE dir: ${{ github.workspace }}" + cmake --version + mkdir ${{ github.workspace }}\dcmtk-build + echo "Step 2" + cd ${{ github.workspace }}\dcmtk-build + echo "Step 3" + cmake -G "Visual Studio 17 2022" -Ax64 -DDCMTK_MODULES:STR="ofstd;oflog;oficonv;dcmdata;dcmimgle;dcmimage;dcmjpeg;dcmjpls;dcmtls;dcmnet;dcmsr;dcmsign;dcmwlm;dcmqrdb;dcmpstat;dcmrt;dcmiod;dcmfg;dcmseg;dcmtract;dcmpmap;dcmect" -DDCMTK_ENABLE_BUILTIN_OFICONV_DATA:BOOL=On -DBUILD_SHARED_LIBS:BOOL=ON -DDCMTK_SUPPORT_LIBRARIES_DIR:PATH=c:\dcmtk_support\libs -DCMAKE_INSTALL_PREFIX:PATH=${{ github.workspace }}\dcmtk-${{ env.NOW }}-${{ env.COMMIT_SHORT_SHA }} ${{ github.workspace }} + + - name: Build dcmtk + run: | + cd ${{ github.workspace }}\dcmtk-build/ + cmake --build . --config Release -- /m + + - name: Test dcmtk + run: | + cd ${{ github.workspace }}\dcmtk-build + copy c:\dcmtk_support\libs\openssl*\bin\*.dll ${{ github.workspace }}\dcmtk-build\bin\Release + ctest -VV -C Release --no-compress-output --output-on-failure + + - name: Install dcmtk + run: | + cd ${{ github.workspace }}\dcmtk-build + cmake --build . --config Release --target INSTALL -- /m + Compress-Archive -Path ${{ github.workspace }}\dcmtk-${{ env.NOW }}-${{ env.COMMIT_SHORT_SHA }} -Destination ${{ github.workspace }}\dcmtk-${{ env.NOW }}-${{ env.COMMIT_SHORT_SHA }}\dcmtk-${{ env.NOW }}-${{ env.COMMIT_SHORT_SHA }}-win64.zip + echo "Listing install dir: ${{ github.workspace }}\dcmtk-${{ env.NOW }}-${{ env.COMMIT_SHORT_SHA }}" + ls ${{ github.workspace }}\dcmtk-${{ env.NOW }}-${{ env.COMMIT_SHORT_SHA }} + + - uses: actions/upload-artifact@v4 + with: + name: dcmtk-install-zip-package + path: ${{ github.workspace }}\dcmtk-${{ env.NOW }}-${{ env.COMMIT_SHORT_SHA }}\dcmtk-*-win64.zip + + publish-windows: + + runs-on: windows-latest + timeout-minutes: 5 + # Only run if the event is not a pull request and the repository owner is DCMTK. + # The latter is to prevent forks from publishing packages even if the owner's token + # would have sufficient privileges. + if: ${{ (github.event_name != 'pull_request') && (github.repository_owner == 'DCMTK')}} + + needs: build-windows + + steps: + - uses: actions/checkout@v4 + with: + fetch-tags: true + - uses: actions/download-artifact@v4 + with: + name: dcmtk-install-zip-package + path: ${{ github.workspace }}\dcmtk-install + + - name: Publish package + run: | + echo "Listing install dir: ${{ github.workspace }}\dcmtk-install" + ls ${{ github.workspace }}\dcmtk-install + pip install -U "scikit-ci-addons>=0.22.0" + ci_addons publish_github_release DCMTK/dcmtk ` + --exit-success-if-missing-token ` + --release-packages "${{ github.workspace }}\dcmtk-install\dcmtk-*-win64.zip" ` + --prerelease-packages "${{ github.workspace }}\dcmtk-install\dcmtk-*-win64.zip" ` + --prerelease-packages-clear-pattern "dcmtk-*-win64.zip" ` + --prerelease-packages-keep-pattern "**" ` + --prerelease-sha master ` + --token ${{ secrets.RELEASE_DCMTK_TOKEN }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 44b3b5a4..89d3a277 100644 --- a/.gitignore +++ b/.gitignore @@ -8,33 +8,38 @@ build Makefile !/Makefile -# Files generated by various configure scripts +# Ignore files generated by various configure scripts config.status config.log config/Makefile.def -config/include/dcmtk/config/arith.h config/include/dcmtk/config/osconfig.h -# Directories created by autoconf +# Ignore files and directories created by Autoconf +/configure config/autom4te.cache/ -# Ignore all temporary and log files +# Ignore all temporary, log and backup files *.tmp *.log *.*~ +*.bak -# Patch files +# Also ignore temporary directories +_*/ +ofstd/tests/tehtestdire/ + +# Ignore patch files *.patch -# HTML documentation +# Ignore HTML documentation doxygen/htmldocs/ doxygen/dcmtk.tag -# Built binary files +# Ignore built binary files */tests/tests -config/arith -config/lzwtest.tif +dcmapps/apps/dcm2img dcmdata/apps/cda2dcm +dcmdata/apps/dcm2cda dcmdata/apps/dcm2json dcmdata/apps/dcm2pdf dcmdata/apps/dcm2xml @@ -99,3 +104,5 @@ dcmsr/apps/xml2dsr dcmsr/tests/mkreport dcmwlm/apps/wlmscpfs dcmwlm/tests/wltest +oficonv/apps/mkcsmapper +oficonv/apps/mkesdb diff --git a/ANNOUNCE b/ANNOUNCE index af52b96b..646567c9 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,12 +1,12 @@ ANNOUNCEMENT -Version 3.6.8 of the OFFIS DCMTK (DICOM toolkit) software is now available for +Version 3.6.9 of the OFFIS DCMTK (DICOM toolkit) software is now available for public release. This release includes the following main changes over the -previous version 3.6.7: +previous version 3.6.8: -- DCMTK 3.6.8 builds correctly on older and up-to-date versions of GNU gcc - (4.8.5 to 12.3.0) Clang (3.4.2 to 15.0.7), Apple Clang (14.0.3 to 15.0.0), - and Microsoft Visual Studio (2015 to 2022). +- DCMTK 3.6.9 builds correctly on older and up-to-date versions of GNU gcc + (9.5.0 to 14.2.0), Clang (14.0.6 to 18.1.8), Apple Clang (14.0.3 to 15.0.0), + and Microsoft Visual Studio (2017 to 2022). - Tested with the following operating systems/environments: - Android on arm64 @@ -15,163 +15,154 @@ previous version 3.6.7: - MacOS X on x86_64 and arm64 - NetBSD on x86_64 - OpenBSD on x86_64 - - OpenIndiana on x86 + - OpenIndiana on x86_64 - Windows (including MinGW) on x86_64 and x86 For a complete list of tested systems and compilers, see the INSTALL file. - Updated DICOM data dictionary, list of SOP classes, well-known frame of - references, transfer syntaxes [*], code definitions, supported context group - classes, and directory record types for DICOM standard release 2023c. + references, transfer syntaxes, code definitions, supported context group + classes, and directory record types for DICOM standard release 2024e: - [*] Support for the Encapsulated Uncompressed Explicit VR Little Endian - Transfer Syntax (introduced with CP-2083) is still missing, see - https://support.dcmtk.org/redmine/issues/1000 for the current status. + - This also includes the latest attributes and SOP classes for the DICONDE + standard, e.g. for thermography images (based on ASTM E3440). -- Updated automatically generated classes in module "dcmrt" (Radiotherapy) - based on DICOM 2023b. Also fixed long undiscovered bugs that occurred when - iterating over sequence items or when reading RT images. + - Also updated the DICOMDIR generation code and tools accordingly. -- Added new module oficonv providing builtin character set conversion in DCMTK. - oficonv is enabled by default and, therefore, is chosen over the external - libraries iconv and icu as well as stdlibc (iconv). However, one of the - other conversion libraries can still be enabled if preferred by the user. -- Added support for the Specific Character Sets "ISO_IR 203" and "ISO 2022 IR - 203" (ISO 8859-15, Latin-9) introduced with CP-2113 to the character set - conversion. +- The new JPEG XL and HTJ2K transfer syntaxes as well as the encapsulated + uncompressed transfer syntax are now supported for reading and writing, i.e. + for both files and network transfer. However, encoders or decoders have not + been implemented yet. -- Added support for the new RFC 8996 TLS profiles, including support for - Application-Layer Protocol Negotiation (ALPN), Server Name Indication (SNI), - and other recommendations of RFC 9325 (the current revision of BCP 195). +- Added new command line tool dcm2img that unifies and replaces the tools + dcm2pnm, dcmj2pnm and dcml2pnm, and adds support for JPEG-LS as an export + format for image files. The command line options are identical to the older + tools, so that dcm2img can serve as a drop-in replacement: -- Further enhanced DICOM Structured Reporting (SR) module "dcmsr": + - By default, the new command line tool determines the output format + automatically based on the extension of the output filename. - - Added support for Context Groups CID 218 and CID 7551, which are used for - TID 1500 "Measurement Report". + - The deprecated command line tools were replaced by stubs, which are provided + for the user's convenience, but will be removed with a future release. - - Implemented changes for CP-2000 by adding support for the SR Template - parameters $ImagePurpose or $Purpose to the implementation of TID 1501, - 300 and 320. +- Added new command line tool dcm2cda that extracts a CDA document from a DICOM + Encapsulated CDA Storage SOP Instance and stores it in a separate file. - - Added "Rendition Selection Document" (introduced with Supplement 202) to - the list of supported "ReportTypes" in the XML Schema (XSD). +- Replaced command line tool dcmgpdir by a stub that calls the more + comprehensive command line tool dcmmkdir. - - Updated list of known Presentation State, Segmentation and Waveform SOP - Classes. +- Further enhanced and updated DICOM Structured Reporting (SR) module "dcmsr": - - Updated mapping of the Defined Terms for the Body Part Examined attribute - to associated CID 4031 (Common Anatomic Regions) codes based on part 16. + - Added support for the new Waveform Annotation SR IOD (introduced with + Supplement 239). -- Further improved network classes DcmSCU and DcmSCP: + - Made URL prefix for hyperlinks to composite objects configurable. - - Removed note on experimental status of DcmSCU and DcmSCP. - - Reject wrong called AE Title in DcmSCP (if configured). - - Allow operating system to choose free port for DcmSCP. - - Added N-CREATE and N-SET support to DcmSCU. - - Allow setting individual TCP timeout for every instance of DcmSCU. - - Introduced new class DcmTLSSCU to bring TLS support to DcmSCU. + - Updated code definitions and supported context group classes (see above). -- Don't fill in Responding AE Title in log output of A-ASSOCIATE request. - DCMTK used to fill in Responding AE Title in the log when an SCU was - connecting to a Remote AE. Since obviously the Responding AE Title is - not known in the request, the string value should be logged empty. + - Fixed issue with various IOD constraint checkers (see CP-2084). -- Fixed an unexpected behavior when using option --charset-assume (+Ca) - together with option --convert-to-utf8 (+U8) for dcm2xml, dsr2html or - dsr2xml. Now, the order of evaluating these options is reversed, so that - a DICOM file that is missing the Specific Character Set attribute although it - is needed (because extended characters are used) can be processed. +- Added IPv6 support to DCMTK's association requestors. All DCMTK "client" + applications that only request outgoing DICOM network associations can now + explicitly select the protocol version to be used. IPv6 support is not yet + implemented for association acceptors ("server" applications). -- Enabled support for the --print-color (+C) option in dcmdump and dsrdump also - on Windows systems. Both the Windows Terminal and the PowerShell support - ANSI escape codes, so the color output should work with these tools. +- Various TLS enhancements: -- Enhanced handling of converting IS (Integer String) and DS (Decimal String) - values to JSON format. Added new command line options to dcm2json for this - purpose. + - Added TLS support to the command line tools dcmqrscp and getscu. -- Added initial support for Multi-Fragment Video Transfer Syntaxes introduced - with Supplement 225. This commit covers the definition of the UID values - and the DCMTK-specific definitions that are needed to later enhance support. + - Added support for the Modified BCP 195 RFC 8996 TLS Profile. -- Added JPEG-LS support to img2dcm's regular JPEG plugin. + - Added new command line option --list-profiles to all TLS-enabled tools. + This option prints a list of the TLS Secure Transport Connection Profiles + supported. -- Added comparison operators to classes DcmTag and DcmXfer. + - Removed support for OpenSSL 1.0.2 and 1.1.0 and added support for OpenSSL + 3.1.0 to 3.4.0. -- Added support for the official DICOM UID keywords that were originally - introduced with CP-1995. These keywords are defined in addition to the - DCMTK-specific UID names that have been used for a long time and will still - be supported for the foreseeable future. +- Extended central DCMTK data structure where all SOP Classes are defined with + their associated properties, e.g. type and sub-type. -- Added classes OFIPCMessageQueueServer and OFIPCMessageQueueClient, which - implement the server and client side of a message queue for inter-process - communication. A server process can create a message queue and receive - text messages, and a client process can open the queue and send messages. - Depending on the platform, the queues are implemented as Windows Mailslot, - Posix message queue or System V message queue. +- Largely enhanced basic transfer syntax class DcmXfer, e.g. to distinguish + more clearly between encapsulation and compression. Please note that some of + the old methods have been deprecated and will be removed in a future release. -- CMake-related enhancements and other changes: +- Enhanced performance of OFGlobal class, especially when used in applications + with many threads that read global objects of this class concurrently. + +- New, fully standards compliant implementations of OFStandard::atof() and + OFStandard::ftoa(), DCMTK's locale independent conversion routines between + floating point numbers and text. + +- Removed support for ICU-based character set conversion. Since the oficonv + module in DCMTK supports all DICOM Specific Character Sets, the ICU support, + which was never complete, has been removed. - - Fix detection and enabling of modern C++ versions (C++11 and later) for VS. - Mainly, it is ensured that the __cplusplus version macro is set accordingly - when using VS while enabling C++11 or later. +- DCMTK now requires compilers to provide conformance to C++98 and supports + compilation with newer C++ versions up to C++20, which can be enabled via + CMake's CMAKE_CXX_STANDARD variable. By default, C++11 is now enabled on + compilers that support this. + +- CMake-related enhancements and other changes: - - The CMake install target now uses the installation directories provided by - the GNUInstallDirs package more consistently. + - The configure process now respects CMake's CMAKE_CROSSCOMPILING_EMULATOR + variable. - - The minimum supported CMake version has been increased to 3.0.0. + - Exposed the CMAKE_DEBUG_POSTFIX variable to the user. There are extra + options to also enable the postfix for Windows DLLs as well as executables. - - A new, still experimental setting named DCMTK_USE_WIN32_PROGRAMDATA allows - data files to be installed in the "ProgramData" directory on Windows. +- Many configure tests related to outdated compilers or libraries were removed, + thus significantly speeding up the configuration process. -- The default installation directories for support data, configuration data and - documentation now contain the DCMTK release number in the path. This allows - multiple versions of DCMTK to be installed in parallel, without generating - conflicts for the data dictionary and other data and configuration files. +- Fixed binary segmentations with certain dimensions (some cases where number + of total bits per frame is not divisible by 8) that were broken when being + serialized into a dataset. -- Fixed various issues that occurred after the official 3.6.7 release. - See CHANGES file for details. +- Fixed various other issues that occurred after the official 3.6.8 release, + and further improved the performance. See CHANGES file for details. Many people have contributed to this new release of DCMTK, appearing here in alphabetical order. Thank you very much for your support! - Ahmad Hazimeh - Calvin Fong - Dimitri Papadopoulos Orfanos - Franz Reitner - Joger Hansegard - Juhee Kim - Marcus Hennix + Christian Wetzel + David Gobbi + David Seifert + Giulio Simonetti + Helmut Steiner + Jean Pierre Bassenge + Jean-Christophe Fillion-Robin + Jesper Alf Dam + Kevin Leonardic + Marcel Pham + Mario Galijot + Markus Sabin + Martin Zeiser of the Cisco Talos team Mathieu Malaterre - Michael L. Williams - Oliver Klerx + Matt McCormick + Melanie Michels + Nils Bars Peter Klotz - Sharon Brizinov>sharon.b@claroty.com> - Song Xiangpu - Tamas Nemeth - Zahra Mirzamomen + Phileas Lebada + Piotr Batko + Sam James + Sobhita Mercy + Yoshinaga Kosuke - DCMTK forum users "nbeck", "pgimeno", "Martin Roeseler" + DCMTK forum users "andreasb", "Fabian Guenther", "nbeck", "Oleh", "saltcreek" - GitHub users "bettar", "Cheney-W", "chrisse74", "doskachok", "jogerh", - "knight2995", "kwach", "maddin200", "malaterre", "mrbean-bremen", - "reunanen", "StillerHarpo" + GitHub users "akaraivanov", "bananabr", "khangthk", "luissantosHCIT", + "malaterre", "mrbean-bremen", "percontation", "thewtex" Members of the DCMTK Team who have worked on this release are: + Joerg Riesmeier Marco Eichelberg Michael Onken - Joerg Riesmeier - Jan Schlamelcher - -Student associates: - - Marcel Baumann - Nikolas Goldhammer + Tingyan Xu The DCMTK software can be downloaded via: - https://dicom.offis.de/en/dcmtk/ or https://www.dcmtk.org/ + https://dicom.offis.de/dcmtk or https://www.dcmtk.org/ -OFFIS e.V., Oldenburg, Germany, 2023-12-19 +OFFIS e.V., Oldenburg, Germany, 2024-12-10 diff --git a/CMake/3rdparty.cmake b/CMake/3rdparty.cmake index c3559229..510027c8 100644 --- a/CMake/3rdparty.cmake +++ b/CMake/3rdparty.cmake @@ -38,11 +38,12 @@ if(DCMTK_USE_FIND_PACKAGE) if(NOT JPEG_FOUND) message(STATUS "Info: DCMTK TIFF support will be enabled (but without JPEG)") include_directories(${TIFF_INCLUDE_DIR}) + set(LIBTIFF_LIBS ${TIFF_LIBRARIES} ${TIFF_EXTRA_LIBS_STATIC}) else() message(STATUS "Info: DCMTK TIFF support will be enabled") include_directories(${TIFF_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) + set(LIBTIFF_LIBS ${TIFF_LIBRARIES} ${TIFF_EXTRA_LIBS_STATIC} ${JPEG_LIBRARIES}) endif() - set(LIBTIFF_LIBS ${TIFF_LIBRARY} ${TIFF_EXTRA_LIBS_STATIC} ${JPEG_LIBRARY}) endif() endif() @@ -73,7 +74,7 @@ if(DCMTK_USE_FIND_PACKAGE) include(CheckCXXSourceCompiles) set(TEMP_INCLUDES "${CMAKE_REQUIRED_INCLUDES}") list(APPEND CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCLUDE_DIR}") - CHECK_CXX_SOURCE_COMPILES("extern \"C\" {\n#include \n}\nint main(){\n#if OPENSSL_VERSION_NUMBER < 0x10002000L\n#error OpenSSL too old\n#endif\n}\n" OPENSSL_VERSION_CHECK) + CHECK_CXX_SOURCE_COMPILES("extern \"C\" {\n#include \n}\nint main(){\n#if OPENSSL_VERSION_NUMBER < 0x10101000L\n#error OpenSSL too old\n#endif\n}\n" OPENSSL_VERSION_CHECK) set(CMAKE_REQUIRED_INCLUDES "${TEMP_INCLUDES}") if(OPENSSL_VERSION_CHECK) message(STATUS "Info: DCMTK OPENSSL support will be enabled") @@ -85,7 +86,7 @@ if(DCMTK_USE_FIND_PACKAGE) set(OPENSSL_LIBS ${OPENSSL_LIBS} dl) endif() else() - message(STATUS "Info: DCMTK OPENSSL support will be disabled: DCMTK requires OpenSSL version 1.0.2 or newer") + message(STATUS "Info: DCMTK OPENSSL support will be disabled: DCMTK requires OpenSSL version 1.1.1 or newer") set(DCMTK_WITH_OPENSSL OFF CACHE BOOL "" FORCE) set(WITH_OPENSSL "") endif() @@ -247,7 +248,8 @@ else() if(WITH_LIBXMLINC) set(LIBXML_INCDIR "${WITH_LIBXMLINC}/include") set(LIBXML_LIBDIR "${WITH_LIBXMLINC}/lib") - set(LIBXML_LIBS debug "${LIBXML_LIBDIR}/libxml2_d.lib" optimized "${LIBXML_LIBDIR}/libxml2_o.lib") + # libxml2 2.13 and newer require bcrypt.lib on Windows. + set(LIBXML_LIBS bcrypt debug "${LIBXML_LIBDIR}/libxml2_d.lib" optimized "${LIBXML_LIBDIR}/libxml2_o.lib") if (EXISTS "${LIBXML_LIBDIR}/iconv_o.lib") set(LIBXML_LIBS ${LIBXML_LIBS} debug "${LIBXML_LIBDIR}/iconv_d.lib" optimized "${LIBXML_LIBDIR}/iconv_o.lib") endif() @@ -401,21 +403,6 @@ if(NOT DEFINED DCMTK_WITH_STDLIBC_ICONV) endif() endif() -if(DCMTK_WITH_ICU) - find_package(ICU COMPONENTS uc data QUIET) - if(NOT ICU_FOUND) - message(STATUS "Warning: ICU support will be disabled because the ICU were not found.") - set(DCMTK_WITH_ICU OFF CACHE BOOL "" FORCE) - set(WITH_ICU "") - else() - message(STATUS "Info: DCMTK ICU support will be enabled") - set(WITH_ICU 1) - set(ICU_INCDIR ${ICU_INCLUDE_DIR}) - set(ICU_LIBS ${ICU_LIBRARIES} ${ICU_EXTRA_LIBS_STATIC}) - include_directories(${ICU_INCLUDE_DIR}) - endif() -endif() - # Find doxygen if(DCMTK_WITH_DOXYGEN) find_package(Doxygen QUIET) # will set variable DOXYGEN_EXECUTABLE diff --git a/CMake/CTest/CTestCustomAndroid.cmake.in b/CMake/CTest/CTestCustomAndroid.cmake.in index 4e738fd7..087bb7aa 100644 --- a/CMake/CTest/CTestCustomAndroid.cmake.in +++ b/CMake/CTest/CTestCustomAndroid.cmake.in @@ -5,7 +5,7 @@ # # Restore the required settings of the CMake configuration step -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.1) set(CMAKE_COMMAND "@CMAKE_COMMAND@") set(CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@") set(CMAKE_CURRENT_BINARY_DIR "@CMAKE_BINARY_DIR@") diff --git a/CMake/DCMTKConfig.cmake.in b/CMake/DCMTKConfig.cmake.in index 159de4ba..9ae5cfce 100644 --- a/CMake/DCMTKConfig.cmake.in +++ b/CMake/DCMTKConfig.cmake.in @@ -22,7 +22,6 @@ set(DCMTK_WITH_OPENSSL @DCMTK_WITH_OPENSSL@) set(DCMTK_WITH_SNDFILE @DCMTK_WITH_SNDFILE@) set(DCMTK_WITH_ICONV @DCMTK_WITH_ICONV@) set(DCMTK_WITH_STDLIBC_ICONV @DCMTK_WITH_STDLIBC_ICONV@) -set(DCMTK_WITH_ICU @DCMTK_WITH_ICU@) set(DCMTK_WITH_WRAP @DCMTK_WITH_WRAP@) set(DCMTK_WITH_OPENJPEG @DCMTK_WITH_OPENJPEG@) set(DCMTK_WITH_DOXYGEN @DCMTK_WITH_DOXYGEN@) @@ -38,11 +37,8 @@ set(DCM_DICT_USE_DCMDICTPATH @DCM_DICT_USE_DCMDICTPATH@) set(DCMTK_ENABLE_PRIVATE_TAGS @DCMTK_ENABLE_PRIVATE_TAGS@) # Compiler / standard library features -set(DCMTK_ENABLE_CXX11 @DCMTK_ENABLE_CXX11@) -set(DCMTK_CXX11_FLAGS @DCMTK_CXX11_FLAGS@) set(DCMTK_ENABLE_STL @DCMTK_ENABLE_STL@) set(DCMTK_ENABLE_STL_ALGORITHM @DCMTK_ENABLE_STL_ALGORITHM@) -set(DCMTK_ENABLE_STL_LIMITS @DCMTK_ENABLE_STL_LIMITS@) set(DCMTK_ENABLE_STL_LIST @DCMTK_ENABLE_STL_LIST@) set(DCMTK_ENABLE_STL_MAP @DCMTK_ENABLE_STL_MAP@) set(DCMTK_ENABLE_STL_MEMORY @DCMTK_ENABLE_STL_MEMORY@) @@ -52,6 +48,7 @@ set(DCMTK_ENABLE_STL_SYSTEM_ERROR @DCMTK_ENABLE_STL_SYSTEM_ERROR@) set(DCMTK_ENABLE_STL_TUPLE @DCMTK_ENABLE_STL_TUPLE@) set(DCMTK_ENABLE_STL_TYPE_TRAITS @DCMTK_ENABLE_STL_TYPE_TRAITS@) set(DCMTK_ENABLE_STL_VECTOR @DCMTK_ENABLE_STL_VECTOR@) +set(DCMTK_ENABLE_STL_ATOMIC @DCMTK_ENABLE_STL_ATOMIC@) set(DCMTK_FORCE_FPIC_ON_UNIX @DCMTK_FORCE_FPIC_ON_UNIX@) @@ -76,6 +73,7 @@ set(DCMTK_ENABLE_CHARSET_CONVERSION @DCMTK_ENABLE_CHARSET_CONVERSION@) # CMake builtins set(DCMTK_CMAKE_BUILD_TYPE @CMAKE_BUILD_TYPE@) set(DCMTK_CMAKE_CXX_COMPILER "@CMAKE_CXX_COMPILER@") +set(DCMTK_CMAKE_CXX_STANDARD "@CMAKE_CXX_STANDARD@") set(DCMTK_CMAKE_CXX_FLAGS @CMAKE_CXX_FLAGS@) set(DCMTK_CMAKE_CXX_FLAGS_DEBUG @CMAKE_CXX_FLAGS_DEBUG@) diff --git a/CMake/DCMTKConfig.old_cmake.in b/CMake/DCMTKConfig.old_cmake.in deleted file mode 100644 index e6dd18ba..00000000 --- a/CMake/DCMTKConfig.old_cmake.in +++ /dev/null @@ -1,57 +0,0 @@ -# -# DCMTKConfig.cmake - DCMTK CMake configuration file for external projects -# -# This is the old version that is used by CMake versions lower than 2.8.8 -# which introduced the more convenient CONFIGURE_PACKAGE_CONFIG_FILE command. -# As a result, this file lacks some information compared to the -# CONFIGURE_PACKAGE_CONFIG_FILE version. -# - -# Basic version information -SET(DCMTK_MAJOR_VERSION @DCMTK_MAJOR_VERSION@) -SET(DCMTK_MINOR_VERSION @DCMTK_MINOR_VERSION@) -SET(DCMTK_BUILD_VERSION @DCMTK_BUILD_VERSION@) - -# DCMTK libraries and modules -SET(DCMTK_MODULES "@DCMTK_MODULES@") -SET(DCMTK_LIBRARIES "@DCMTK_LIBRARY_TARGETS@") - -# Optional DCMTK 3rd party libraries -SET(DCMTK_WITH_TIFF @DCMTK_WITH_TIFF@) -SET(DCMTK_WITH_PNG @DCMTK_WITH_PNG@) -SET(DCMTK_WITH_XML @DCMTK_WITH_XML@) -SET(DCMTK_WITH_ZLIB @DCMTK_WITH_ZLIB@) -SET(DCMTK_WITH_OPENSSL @DCMTK_WITH_OPENSSL@) -SET(DCMTK_WITH_SNDFILE @DCMTK_WITH_SNDFILE@) -SET(DCMTK_WITH_ICONV @DCMTK_WITH_ICONV@) -SET(DCMTK_WITH_STDLIBC_ICONV @DCMTK_WITH_STDLIBC_ICONV@) -SET(DCMTK_WITH_ICU @DCMTK_WITH_ICU@) -SET(DCMTK_WITH_WRAP @DCMTK_WITH_WRAP@) -set(DCMTK_WITH_OPENJPEG @DCMTK_WITH_OPENJPEG@) -SET(DCMTK_WITH_DOXYGEN @DCMTK_WITH_DOXYGEN@) - -# Dictionary-related - -# Define the type of standard dictionary that we want to use: -# 0 - Do not load any default dictionary on startup -# 1 - Load builtin dictionary on startup -# 2 - Load external (i.e. file-based) dictionary on startup -SET(DCM_DICT_DEFAULT @DCM_DICT_DEFAULT@) -SET(DCM_DICT_USE_DCMDICTPATH @DCM_DICT_USE_DCMDICTPATH@) -SET(DCMTK_ENABLE_PRIVATE_TAGS @DCMTK_ENABLE_PRIVATE_TAGS@) - -# Compiler / standard library features -SET(DCMTK_ENABLE_CXX11 @DCMTK_ENABLE_CXX11@) -SET(DCMTK_CXX11_FLAGS @DCMTK_CXX11_FLAGS@) -SET(DCMTK_ENABLE_STL @DCMTK_ENABLE_STL@) - -# DCMTK shared libraries -SET(DCMTK_SHARED_LIBRARIES @BUILD_SHARED_LIBS@) -SET(DCMTK_SINGLE_SHARED_LIBRARY @BUILD_SINGLE_SHARED_LIBRARY@) - -# DCMTK additional options -SET(DCMTK_WITH_THREADS @DCMTK_WITH_THREADS@) -SET(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS @DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS@) -SET(DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS @DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS@) -SET(DCMTK_WIDE_CHAR_MAIN_FUNCTION @DCMTK_WIDE_CHAR_MAIN_FUNCTION@) -SET(DCMTK_ENABLE_LFS @DCMTK_ENABLE_LFS@) diff --git a/CMake/FindICU.cmake b/CMake/FindICU.cmake deleted file mode 100644 index 324e47d9..00000000 --- a/CMake/FindICU.cmake +++ /dev/null @@ -1,689 +0,0 @@ -# This module can find the International Components for Unicode (ICU) libraries -# -# Requirements: -# - CMake >= 2.8.3 (for new version of find_package_handle_standard_args) -# -# The following variables will be defined for your use: -# - ICU_FOUND : were all of your specified components found? -# - ICU_INCLUDE_DIRS : ICU include directory -# - ICU_LIBRARIES : ICU libraries -# - ICU_VERSION : complete version of ICU (x.y.z) -# - ICU_VERSION_MAJOR : major version of ICU -# - ICU_VERSION_MINOR : minor version of ICU -# - ICU_VERSION_PATCH : patch version of ICU -# - ICU__FOUND : were found? (FALSE for non specified component if it is not a dependency) -# -# For windows or non standard installation, define ICU_ROOT_DIR variable to point to the root installation of ICU. Two ways: -# - run cmake with -DICU_ROOT_DIR= -# - define an environment variable with the same name before running cmake -# With cmake-gui, before pressing "Configure": -# 1) Press "Add Entry" button -# 2) Add a new entry defined as: -# - Name: ICU_ROOT_DIR -# - Type: choose PATH in the selection list -# - Press "..." button and select the root installation of ICU -# -# Example Usage: -# -# 1. Copy this file in the root of your project source directory -# 2. Then, tell CMake to search this non-standard module in your project directory by adding to your CMakeLists.txt: -# set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) -# 3. Finally call find_package() once, here are some examples to pick from -# -# Require ICU 4.4 or later -# find_package(ICU 4.4 REQUIRED) -# -# if(ICU_FOUND) -# add_executable(myapp myapp.c) -# include_directories(${ICU_INCLUDE_DIRS}) -# target_link_libraries(myapp ${ICU_LIBRARIES}) -# # with CMake >= 3.0.0, the last two lines can be replaced by the following -# target_link_libraries(myapp ICU::ICU) -# endif() - -########## ########## - -find_package(PkgConfig QUIET) - -########## Private ########## -if(NOT DEFINED ICU_PUBLIC_VAR_NS) - set(ICU_PUBLIC_VAR_NS "ICU") # Prefix for all ICU relative public variables -endif() -if(NOT DEFINED ICU_PRIVATE_VAR_NS) - set(ICU_PRIVATE_VAR_NS "_${ICU_PUBLIC_VAR_NS}") # Prefix for all ICU relative internal variables -endif() -if(NOT DEFINED PC_ICU_PRIVATE_VAR_NS) - set(PC_ICU_PRIVATE_VAR_NS "_PC${ICU_PRIVATE_VAR_NS}") # Prefix for all pkg-config relative internal variables -endif() - -set(${ICU_PRIVATE_VAR_NS}_HINTS ) -# -# for future removal -if(DEFINED ENV{ICU_ROOT}) - list(APPEND ${ICU_PRIVATE_VAR_NS}_HINTS "$ENV{ICU_ROOT}") - message(AUTHOR_WARNING "ENV{ICU_ROOT} is deprecated in favor of ENV{ICU_ROOT_DIR}") -endif() -if (DEFINED ICU_ROOT) - list(APPEND ${ICU_PRIVATE_VAR_NS}_HINTS "${ICU_ROOT}") - message(AUTHOR_WARNING "ICU_ROOT is deprecated in favor of ICU_ROOT_DIR") -endif() -# -if(DEFINED ENV{ICU_ROOT_DIR}) - list(APPEND ${ICU_PRIVATE_VAR_NS}_HINTS "$ENV{ICU_ROOT_DIR}") -endif() -if (DEFINED ICU_ROOT_DIR) - list(APPEND ${ICU_PRIVATE_VAR_NS}_HINTS "${ICU_ROOT_DIR}") -endif() - -set(${ICU_PRIVATE_VAR_NS}_COMPONENTS ) -# ... -macro(_icu_declare_component _NAME) - list(APPEND ${ICU_PRIVATE_VAR_NS}_COMPONENTS ${_NAME}) - set("${ICU_PRIVATE_VAR_NS}_COMPONENTS_${_NAME}" ${ARGN}) -endmacro() - -_icu_declare_component(data icudata) -_icu_declare_component(uc icuuc) # Common and Data libraries -_icu_declare_component(i18n icui18n icuin) # Internationalization library -_icu_declare_component(io icuio ustdio) # Stream and I/O Library -_icu_declare_component(le icule) # Layout library -_icu_declare_component(lx iculx) # Paragraph Layout library - -########## Public ########## -set(${ICU_PUBLIC_VAR_NS}_FOUND FALSE) -set(${ICU_PUBLIC_VAR_NS}_LIBRARIES ) -set(${ICU_PUBLIC_VAR_NS}_INCLUDE_DIRS ) -set(${ICU_PUBLIC_VAR_NS}_C_FLAGS "") -set(${ICU_PUBLIC_VAR_NS}_CXX_FLAGS "") -set(${ICU_PUBLIC_VAR_NS}_CPP_FLAGS "") -set(${ICU_PUBLIC_VAR_NS}_C_SHARED_FLAGS "") -set(${ICU_PUBLIC_VAR_NS}_CXX_SHARED_FLAGS "") -set(${ICU_PUBLIC_VAR_NS}_CPP_SHARED_FLAGS "") - -foreach(${ICU_PRIVATE_VAR_NS}_COMPONENT ${${ICU_PRIVATE_VAR_NS}_COMPONENTS}) - string(TOUPPER "${${ICU_PRIVATE_VAR_NS}_COMPONENT}" ${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT) - set("${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_FOUND" FALSE) # may be done in the _icu_declare_component macro -endforeach() - -# Check components -if(NOT ${ICU_PUBLIC_VAR_NS}_FIND_COMPONENTS) # uc required at least - set(${ICU_PUBLIC_VAR_NS}_FIND_COMPONENTS uc) -else() - list(APPEND ${ICU_PUBLIC_VAR_NS}_FIND_COMPONENTS uc) - list(REMOVE_DUPLICATES ${ICU_PUBLIC_VAR_NS}_FIND_COMPONENTS) - foreach(${ICU_PRIVATE_VAR_NS}_COMPONENT ${${ICU_PUBLIC_VAR_NS}_FIND_COMPONENTS}) - if(NOT DEFINED ${ICU_PRIVATE_VAR_NS}_COMPONENTS_${${ICU_PRIVATE_VAR_NS}_COMPONENT}) - message(FATAL_ERROR "Unknown ICU component: ${${ICU_PRIVATE_VAR_NS}_COMPONENT}") - endif() - endforeach() -endif() - -# if pkg-config is available check components dependencies and append `pkg-config icu- --variable=prefix` to hints -if(PKG_CONFIG_FOUND) - set(${ICU_PRIVATE_VAR_NS}_COMPONENTS_DUP ${${ICU_PUBLIC_VAR_NS}_FIND_COMPONENTS}) - foreach(${ICU_PRIVATE_VAR_NS}_COMPONENT ${${ICU_PRIVATE_VAR_NS}_COMPONENTS_DUP}) - pkg_check_modules(${PC_ICU_PRIVATE_VAR_NS} "icu-${${ICU_PRIVATE_VAR_NS}_COMPONENT}" QUIET) - - if(${PC_ICU_PRIVATE_VAR_NS}_FOUND) - list(APPEND ${ICU_PRIVATE_VAR_NS}_HINTS ${${PC_ICU_PRIVATE_VAR_NS}_PREFIX}) - foreach(${PC_ICU_PRIVATE_VAR_NS}_LIBRARY ${${PC_ICU_PRIVATE_VAR_NS}_LIBRARIES}) - string(REGEX REPLACE "^icu" "" ${PC_ICU_PRIVATE_VAR_NS}_STRIPPED_LIBRARY ${${PC_ICU_PRIVATE_VAR_NS}_LIBRARY}) - if(NOT ${PC_ICU_PRIVATE_VAR_NS}_STRIPPED_LIBRARY STREQUAL "data") - list(FIND ${ICU_PUBLIC_VAR_NS}_FIND_COMPONENTS ${${PC_ICU_PRIVATE_VAR_NS}_STRIPPED_LIBRARY} ${ICU_PRIVATE_VAR_NS}_COMPONENT_INDEX) - if(${ICU_PRIVATE_VAR_NS}_COMPONENT_INDEX EQUAL -1) - message(WARNING "Missing component dependency: ${${PC_ICU_PRIVATE_VAR_NS}_STRIPPED_LIBRARY}. Add it to your find_package(ICU) line as COMPONENTS to fix this warning.") - list(APPEND ${ICU_PUBLIC_VAR_NS}_FIND_COMPONENTS ${${PC_ICU_PRIVATE_VAR_NS}_STRIPPED_LIBRARY}) - endif() - endif() - endforeach() - endif() - endforeach() -endif() -# list(APPEND ${ICU_PRIVATE_VAR_NS}_HINTS ENV ICU_ROOT_DIR) -# message("${ICU_PRIVATE_VAR_NS}_HINTS = ${${ICU_PRIVATE_VAR_NS}_HINTS}") - -# Includes -find_path( - ${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR - NAMES unicode/utypes.h utypes.h - HINTS ${${ICU_PRIVATE_VAR_NS}_HINTS} - PATH_SUFFIXES "include" - DOC "Include directories for ICU" -) - -if(${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR) - ########## ########## - if(EXISTS "${${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR}/unicode/uvernum.h") # ICU >= 4.4 - file(READ "${${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR}/unicode/uvernum.h" ${ICU_PRIVATE_VAR_NS}_VERSION_HEADER_CONTENTS) - elseif(EXISTS "${${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR}/unicode/uversion.h") # ICU [2;4.4[ - file(READ "${${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR}/unicode/uversion.h" ${ICU_PRIVATE_VAR_NS}_VERSION_HEADER_CONTENTS) - elseif(EXISTS "${${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR}/unicode/utypes.h") # ICU [1.4;2[ - file(READ "${${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR}/unicode/utypes.h" ${ICU_PRIVATE_VAR_NS}_VERSION_HEADER_CONTENTS) - elseif(EXISTS "${${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR}/utypes.h") # ICU 1.3 - file(READ "${${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR}/utypes.h" ${ICU_PRIVATE_VAR_NS}_VERSION_HEADER_CONTENTS) - else() - message(FATAL_ERROR "ICU version header not found") - endif() - - if(${ICU_PRIVATE_VAR_NS}_VERSION_HEADER_CONTENTS MATCHES ".*# *define *ICU_VERSION *\"([0-9]+)\".*") # ICU 1.3 - # [1.3;1.4[ as #define ICU_VERSION "3" (no patch version, ie all 1.3.X versions will be detected as 1.3.0) - set(${ICU_PUBLIC_VAR_NS}_VERSION_MAJOR "1") - set(${ICU_PUBLIC_VAR_NS}_VERSION_MINOR "${CMAKE_MATCH_1}") - set(${ICU_PUBLIC_VAR_NS}_VERSION_PATCH "0") - elseif(${ICU_PRIVATE_VAR_NS}_VERSION_HEADER_CONTENTS MATCHES ".*# *define *U_ICU_VERSION_MAJOR_NUM *([0-9]+).*") - # - # Since version 4.9.1, ICU release version numbering was totaly changed, see: - # - http://site.icu-project.org/download/49 - # - http://userguide.icu-project.org/design#TOC-Version-Numbers-in-ICU - # - set(${ICU_PUBLIC_VAR_NS}_VERSION_MAJOR "${CMAKE_MATCH_1}") - string(REGEX REPLACE ".*# *define *U_ICU_VERSION_MINOR_NUM *([0-9]+).*" "\\1" ${ICU_PUBLIC_VAR_NS}_VERSION_MINOR "${${ICU_PRIVATE_VAR_NS}_VERSION_HEADER_CONTENTS}") - string(REGEX REPLACE ".*# *define *U_ICU_VERSION_PATCHLEVEL_NUM *([0-9]+).*" "\\1" ${ICU_PUBLIC_VAR_NS}_VERSION_PATCH "${${ICU_PRIVATE_VAR_NS}_VERSION_HEADER_CONTENTS}") - elseif(${ICU_PRIVATE_VAR_NS}_VERSION_HEADER_CONTENTS MATCHES ".*# *define *U_ICU_VERSION *\"(([0-9]+)(\\.[0-9]+)*)\".*") # ICU [1.4;1.8[ - # [1.4;1.8[ as #define U_ICU_VERSION "1.4.1.2" but it seems that some 1.4.[12](?:\.\d)? have releasing error and appears as 1.4.0 - set(${ICU_PRIVATE_VAR_NS}_FULL_VERSION "${CMAKE_MATCH_1}") # copy CMAKE_MATCH_1, no longer valid on the following if - if(${ICU_PRIVATE_VAR_NS}_FULL_VERSION MATCHES "^([0-9]+)\\.([0-9]+)$") - set(${ICU_PUBLIC_VAR_NS}_VERSION_MAJOR "${CMAKE_MATCH_1}") - set(${ICU_PUBLIC_VAR_NS}_VERSION_MINOR "${CMAKE_MATCH_2}") - set(${ICU_PUBLIC_VAR_NS}_VERSION_PATCH "0") - elseif(${ICU_PRIVATE_VAR_NS}_FULL_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)") - set(${ICU_PUBLIC_VAR_NS}_VERSION_MAJOR "${CMAKE_MATCH_1}") - set(${ICU_PUBLIC_VAR_NS}_VERSION_MINOR "${CMAKE_MATCH_2}") - set(${ICU_PUBLIC_VAR_NS}_VERSION_PATCH "${CMAKE_MATCH_3}") - endif() - else() - message(FATAL_ERROR "failed to detect ICU version") - endif() - set(${ICU_PUBLIC_VAR_NS}_VERSION "${${ICU_PUBLIC_VAR_NS}_VERSION_MAJOR}.${${ICU_PUBLIC_VAR_NS}_VERSION_MINOR}.${${ICU_PUBLIC_VAR_NS}_VERSION_PATCH}") - ########## ########## -endif() - -# Check libraries -if(MSVC) - include(SelectLibraryConfigurations) -endif() -foreach(${ICU_PRIVATE_VAR_NS}_COMPONENT ${${ICU_PUBLIC_VAR_NS}_FIND_COMPONENTS}) - string(TOUPPER "${${ICU_PRIVATE_VAR_NS}_COMPONENT}" ${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT) - if(MSVC) - set(${ICU_PRIVATE_VAR_NS}_POSSIBLE_RELEASE_NAMES ) - set(${ICU_PRIVATE_VAR_NS}_POSSIBLE_DEBUG_NAMES ) - foreach(${ICU_PRIVATE_VAR_NS}_BASE_NAME ${${ICU_PRIVATE_VAR_NS}_COMPONENTS_${${ICU_PRIVATE_VAR_NS}_COMPONENT}}) - list(APPEND ${ICU_PRIVATE_VAR_NS}_POSSIBLE_RELEASE_NAMES "${${ICU_PRIVATE_VAR_NS}_BASE_NAME}") - list(APPEND ${ICU_PRIVATE_VAR_NS}_POSSIBLE_DEBUG_NAMES "${${ICU_PRIVATE_VAR_NS}_BASE_NAME}d") - list(APPEND ${ICU_PRIVATE_VAR_NS}_POSSIBLE_RELEASE_NAMES "${${ICU_PRIVATE_VAR_NS}_BASE_NAME}${${ICU_PUBLIC_VAR_NS}_VERSION_MAJOR}${${ICU_PUBLIC_VAR_NS}_VERSION_MINOR}") - list(APPEND ${ICU_PRIVATE_VAR_NS}_POSSIBLE_DEBUG_NAMES "${${ICU_PRIVATE_VAR_NS}_BASE_NAME}${${ICU_PUBLIC_VAR_NS}_VERSION_MAJOR}${${ICU_PUBLIC_VAR_NS}_VERSION_MINOR}d") - endforeach() - - find_library( - ${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY_RELEASE - NAMES ${${ICU_PRIVATE_VAR_NS}_POSSIBLE_RELEASE_NAMES} - HINTS ${${ICU_PRIVATE_VAR_NS}_HINTS} - DOC "Release library for ICU ${${ICU_PRIVATE_VAR_NS}_COMPONENT} component" - ) - find_library( - ${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY_DEBUG - NAMES ${${ICU_PRIVATE_VAR_NS}_POSSIBLE_DEBUG_NAMES} - HINTS ${${ICU_PRIVATE_VAR_NS}_HINTS} - DOC "Debug library for ICU ${${ICU_PRIVATE_VAR_NS}_COMPONENT} component" - ) - - select_library_configurations("${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}") - list(APPEND ${ICU_PUBLIC_VAR_NS}_LIBRARY ${${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY}) - else() - find_library( - ${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY - NAMES ${${ICU_PRIVATE_VAR_NS}_COMPONENTS_${${ICU_PRIVATE_VAR_NS}_COMPONENT}} - PATHS ${${ICU_PRIVATE_VAR_NS}_HINTS} - DOC "Library for ICU ${${ICU_PRIVATE_VAR_NS}_COMPONENT} component" - ) - - if(${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY) - set("${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_FOUND" TRUE) - list(APPEND ${ICU_PUBLIC_VAR_NS}_LIBRARY ${${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY}) - endif() - endif() -endforeach() - -# Try to find out compiler flags -find_program(${ICU_PUBLIC_VAR_NS}_CONFIG_EXECUTABLE icu-config HINTS ${${ICU_PRIVATE_VAR_NS}_HINTS}) -if(${ICU_PUBLIC_VAR_NS}_CONFIG_EXECUTABLE) - execute_process(COMMAND ${${ICU_PUBLIC_VAR_NS}_CONFIG_EXECUTABLE} --cflags OUTPUT_VARIABLE ${ICU_PUBLIC_VAR_NS}_C_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${${ICU_PUBLIC_VAR_NS}_CONFIG_EXECUTABLE} --cxxflags OUTPUT_VARIABLE ${ICU_PUBLIC_VAR_NS}_CXX_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${${ICU_PUBLIC_VAR_NS}_CONFIG_EXECUTABLE} --cppflags OUTPUT_VARIABLE ${ICU_PUBLIC_VAR_NS}_CPP_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) - - execute_process(COMMAND ${${ICU_PUBLIC_VAR_NS}_CONFIG_EXECUTABLE} --cflags-dynamic OUTPUT_VARIABLE ${ICU_PUBLIC_VAR_NS}_C_SHARED_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${${ICU_PUBLIC_VAR_NS}_CONFIG_EXECUTABLE} --cxxflags-dynamic OUTPUT_VARIABLE ${ICU_PUBLIC_VAR_NS}_CXX_SHARED_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${${ICU_PUBLIC_VAR_NS}_CONFIG_EXECUTABLE} --cppflags-dynamic OUTPUT_VARIABLE ${ICU_PUBLIC_VAR_NS}_CPP_SHARED_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) -endif() - -# Check find_package arguments -include(FindPackageHandleStandardArgs) -if(${ICU_PUBLIC_VAR_NS}_FIND_REQUIRED AND NOT ${ICU_PUBLIC_VAR_NS}_FIND_QUIETLY) - find_package_handle_standard_args( - ${ICU_PUBLIC_VAR_NS} - REQUIRED_VARS ${ICU_PUBLIC_VAR_NS}_LIBRARY ${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR - VERSION_VAR ${ICU_PUBLIC_VAR_NS}_VERSION - ) -else() - find_package_handle_standard_args(${ICU_PUBLIC_VAR_NS} "Could NOT find ICU" ${ICU_PUBLIC_VAR_NS}_LIBRARY ${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR) -endif() - -if(${ICU_PUBLIC_VAR_NS}_FOUND) - # - # for compatibility with previous versions, alias old ICU_(MAJOR|MINOR|PATCH)_VERSION to ICU_VERSION_$1 - set(${ICU_PUBLIC_VAR_NS}_MAJOR_VERSION ${${ICU_PUBLIC_VAR_NS}_VERSION_MAJOR}) - set(${ICU_PUBLIC_VAR_NS}_MINOR_VERSION ${${ICU_PUBLIC_VAR_NS}_VERSION_MINOR}) - set(${ICU_PUBLIC_VAR_NS}_PATCH_VERSION ${${ICU_PUBLIC_VAR_NS}_VERSION_PATCH}) - # - set(${ICU_PUBLIC_VAR_NS}_LIBRARIES ${${ICU_PUBLIC_VAR_NS}_LIBRARY}) - set(${ICU_PUBLIC_VAR_NS}_INCLUDE_DIRS ${${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR}) - - if(NOT TARGET ICU::ICU) - add_library(ICU::ICU INTERFACE IMPORTED) - endif() - set_target_properties(ICU::ICU PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR}") - foreach(${ICU_PRIVATE_VAR_NS}_COMPONENT ${${ICU_PUBLIC_VAR_NS}_FIND_COMPONENTS}) - string(TOUPPER "${${ICU_PRIVATE_VAR_NS}_COMPONENT}" ${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT) - add_library("ICU::${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}" UNKNOWN IMPORTED) - if(${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY_RELEASE) - set_property(TARGET "ICU::${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}" APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) - set_target_properties("ICU::${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}" PROPERTIES IMPORTED_LOCATION_RELEASE "${${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY_RELEASE}") - endif() - if(${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY_DEBUG) - set_property(TARGET "ICU::${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}" APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) - set_target_properties("ICU::${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}" PROPERTIES IMPORTED_LOCATION_DEBUG "${${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY_DEBUG}") - endif() - if(${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY) - set_target_properties("ICU::${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}" PROPERTIES IMPORTED_LOCATION "${${ICU_PUBLIC_VAR_NS}_${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_LIBRARY}") - endif() - set_property(TARGET ICU::ICU APPEND PROPERTY INTERFACE_LINK_LIBRARIES "ICU::${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}") -# set_target_properties("ICU::${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}" PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR}") - endforeach() - -endif() - -mark_as_advanced( - ${ICU_PUBLIC_VAR_NS}_INCLUDE_DIR - ${ICU_PUBLIC_VAR_NS}_LIBRARY -) - -########## ########## - -########## ########## - -########## Private ########## -function(_icu_extract_locale_from_rb _BUNDLE_SOURCE _RETURN_VAR_NAME) - file(READ "${_BUNDLE_SOURCE}" _BUNDLE_CONTENTS) - string(REGEX REPLACE "//[^\n]*\n" "" _BUNDLE_CONTENTS_WITHOUT_COMMENTS ${_BUNDLE_CONTENTS}) - string(REGEX REPLACE "[ \t\n]" "" _BUNDLE_CONTENTS_WITHOUT_COMMENTS_AND_SPACES ${_BUNDLE_CONTENTS_WITHOUT_COMMENTS}) - string(REGEX MATCH "^([a-zA-Z_-]+)(:table)?{" LOCALE_FOUND ${_BUNDLE_CONTENTS_WITHOUT_COMMENTS_AND_SPACES}) - set("${_RETURN_VAR_NAME}" "${CMAKE_MATCH_1}" PARENT_SCOPE) -endfunction() - -########## Public ########## - -# -# Prototype: -# icu_generate_resource_bundle([NAME ] [PACKAGE] [DESTINATION ] [FILES ]) -# -# Common arguments: -# - NAME : name of output package and to create dummy targets -# - FILES ... : list of resource bundles sources -# - DEPENDS ... : required to package as library (shared or static), a list of cmake parent targets to link to -# Note: only (PREVIOUSLY DECLARED) add_executable and add_library as dependencies -# - DESTINATION : optional, directory where to install final binary file(s) -# - FORMAT : optional, one of none (ICU4C binary format, default), java (plain java) or xliff (XML), see below -# -# Arguments depending on FORMAT: -# - none (default): -# * PACKAGE : if present, package all resource bundles together. Default is to stop after building individual *.res files -# * TYPE : one of : -# + common or archive (default) : archive all ressource bundles into a single .dat file -# + library or dll : assemble all ressource bundles into a separate and loadable library (.dll/.so) -# + static : integrate all ressource bundles to targets designed by DEPENDS parameter (as a static library) -# * NO_SHARED_FLAGS : only with TYPE in ['library', 'dll', 'static'], do not append ICU_C(XX)_SHARED_FLAGS to targets given as DEPENDS argument -# - JAVA: -# * BUNDLE : required, prefix for generated classnames -# - XLIFF: -# (none) -# - -# -# For an archive, the idea is to generate the following dependencies: -# -# root.txt => root.res \ -# | -# en.txt => en.res | -# | => pkglist.txt => application.dat -# fr.txt => fr.res | -# | -# and so on / -# -# Lengend: 'A => B' means B depends on A -# -# Steps (correspond to arrows): -# 1) genrb (from .txt to .res) -# 2) generate a file text (pkglist.txt) with all .res files to put together -# 3) build final archive (from *.res/pkglist.txt to .dat) -# - -function(icu_generate_resource_bundle) - - ##### ##### - find_program(${ICU_PUBLIC_VAR_NS}_GENRB_EXECUTABLE genrb HINTS ${${ICU_PRIVATE_VAR_NS}_HINTS}) - find_program(${ICU_PUBLIC_VAR_NS}_PKGDATA_EXECUTABLE pkgdata HINTS ${${ICU_PRIVATE_VAR_NS}_HINTS}) - - if(NOT ${ICU_PUBLIC_VAR_NS}_GENRB_EXECUTABLE) - message(FATAL_ERROR "genrb not found") - endif() - if(NOT ${ICU_PUBLIC_VAR_NS}_PKGDATA_EXECUTABLE) - message(FATAL_ERROR "pkgdata not found") - endif() - ##### ##### - - ##### ##### - set(TARGET_SEPARATOR "+") - set(__FUNCTION__ "icu_generate_resource_bundle") - set(PACKAGE_TARGET_PREFIX "ICU${TARGET_SEPARATOR}PKG") - set(RESOURCE_TARGET_PREFIX "ICU${TARGET_SEPARATOR}RB") - ##### ##### - - ##### ##### - # filename extension of built resource bundle (without dot) - set(BUNDLES__SUFFIX "res") - set(BUNDLES_JAVA_SUFFIX "java") - set(BUNDLES_XLIFF_SUFFIX "xlf") - # alias: none (default) = common = archive ; dll = library ; static - set(PKGDATA__ALIAS "") - set(PKGDATA_COMMON_ALIAS "") - set(PKGDATA_ARCHIVE_ALIAS "") - set(PKGDATA_DLL_ALIAS "LIBRARY") - set(PKGDATA_LIBRARY_ALIAS "LIBRARY") - set(PKGDATA_STATIC_ALIAS "STATIC") - # filename prefix of built package - set(PKGDATA__PREFIX "") - set(PKGDATA_LIBRARY_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}") - set(PKGDATA_STATIC_PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}") - # filename extension of built package (with dot) - set(PKGDATA__SUFFIX ".dat") - set(PKGDATA_LIBRARY_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}") - set(PKGDATA_STATIC_SUFFIX "${CMAKE_STATIC_LIBRARY_SUFFIX}") - # pkgdata option mode specific - set(PKGDATA__OPTIONS "-m" "common") - set(PKGDATA_STATIC_OPTIONS "-m" "static") - set(PKGDATA_LIBRARY_OPTIONS "-m" "library") - # cmake library type for output package - set(PKGDATA_LIBRARY__TYPE "") - set(PKGDATA_LIBRARY_STATIC_TYPE STATIC) - set(PKGDATA_LIBRARY_LIBRARY_TYPE SHARED) - ##### ##### - - include(CMakeParseArguments) - cmake_parse_arguments( - PARSED_ARGS # output variable name - # options (true/false) (default value: false) - "PACKAGE;NO_SHARED_FLAGS" - # univalued parameters (default value: "") - "NAME;DESTINATION;TYPE;FORMAT;BUNDLE" - # multivalued parameters (default value: "") - "FILES;DEPENDS" - ${ARGN} - ) - - # assert(${PARSED_ARGS_NAME} != "") - if(NOT PARSED_ARGS_NAME) - message(FATAL_ERROR "${__FUNCTION__}(): no name given, NAME parameter missing") - endif() - - # assert(length(PARSED_ARGS_FILES) > 0) - list(LENGTH PARSED_ARGS_FILES PARSED_ARGS_FILES_LEN) - if(PARSED_ARGS_FILES_LEN LESS 1) - message(FATAL_ERROR "${__FUNCTION__}() expects at least 1 resource bundle as FILES argument, 0 given") - endif() - - string(TOUPPER "${PARSED_ARGS_FORMAT}" UPPER_FORMAT) - # assert(${UPPER_FORMAT} in ['', 'java', 'xlif']) - if(NOT DEFINED BUNDLES_${UPPER_FORMAT}_SUFFIX) - message(FATAL_ERROR "${__FUNCTION__}(): unknown FORMAT '${PARSED_ARGS_FORMAT}'") - endif() - - if(UPPER_FORMAT STREQUAL "JAVA") - # assert(${PARSED_ARGS_BUNDLE} != "") - if(NOT PARSED_ARGS_BUNDLE) - message(FATAL_ERROR "${__FUNCTION__}(): java bundle name expected, BUNDLE parameter missing") - endif() - endif() - - if(PARSED_ARGS_PACKAGE) - # assert(${PARSED_ARGS_FORMAT} == "") - if(PARSED_ARGS_FORMAT) - message(FATAL_ERROR "${__FUNCTION__}(): packaging is only supported for binary format, not xlif neither java outputs") - endif() - - string(TOUPPER "${PARSED_ARGS_TYPE}" UPPER_MODE) - # assert(${UPPER_MODE} in ['', 'common', 'archive', 'dll', library']) - if(NOT DEFINED PKGDATA_${UPPER_MODE}_ALIAS) - message(FATAL_ERROR "${__FUNCTION__}(): unknown TYPE '${PARSED_ARGS_TYPE}'") - else() - set(TYPE "${PKGDATA_${UPPER_MODE}_ALIAS}") - endif() - - # Package name: strip file extension if present - get_filename_component(PACKAGE_NAME_WE ${PARSED_ARGS_NAME} NAME_WE) - # Target name to build package - set(PACKAGE_TARGET_NAME "${PACKAGE_TARGET_PREFIX}${TARGET_SEPARATOR}${PACKAGE_NAME_WE}") - # Target name to build intermediate list file - set(PACKAGE_LIST_TARGET_NAME "${PACKAGE_TARGET_NAME}${TARGET_SEPARATOR}PKGLIST") - # Directory (absolute) to set as "current directory" for genrb (does not include package directory, -p) - # We make our "cook" there to prevent any conflict - if(DEFINED CMAKE_PLATFORM_ROOT_BIN) # CMake < 2.8.10 - set(RESOURCE_GENRB_CHDIR_DIR "${CMAKE_PLATFORM_ROOT_BIN}/${PACKAGE_TARGET_NAME}.dir/") - else() # CMake >= 2.8.10 - set(RESOURCE_GENRB_CHDIR_DIR "${CMAKE_PLATFORM_INFO_DIR}/${PACKAGE_TARGET_NAME}.dir/") - endif() - # Directory (absolute) where resource bundles are built: concatenation of RESOURCE_GENRB_CHDIR_DIR and package name - set(RESOURCE_OUTPUT_DIR "${RESOURCE_GENRB_CHDIR_DIR}/${PACKAGE_NAME_WE}/") - # Output (relative) path for built package - if(MSVC AND TYPE STREQUAL PKGDATA_LIBRARY_ALIAS) - set(PACKAGE_OUTPUT_PATH "${RESOURCE_GENRB_CHDIR_DIR}/${PACKAGE_NAME_WE}/${PKGDATA_${TYPE}_PREFIX}${PACKAGE_NAME_WE}${PKGDATA_${TYPE}_SUFFIX}") - else() - set(PACKAGE_OUTPUT_PATH "${RESOURCE_GENRB_CHDIR_DIR}/${PKGDATA_${TYPE}_PREFIX}${PACKAGE_NAME_WE}${PKGDATA_${TYPE}_SUFFIX}") - endif() - # Output (absolute) path for the list file - set(PACKAGE_LIST_OUTPUT_PATH "${RESOURCE_GENRB_CHDIR_DIR}/pkglist.txt") - - file(MAKE_DIRECTORY "${RESOURCE_OUTPUT_DIR}") - else() - set(RESOURCE_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/") -# set(RESOURCE_GENRB_CHDIR_DIR "UNUSED") - endif() - - set(TARGET_RESOURCES ) - set(COMPILED_RESOURCES_PATH ) - set(COMPILED_RESOURCES_BASENAME ) - foreach(RESOURCE_SOURCE ${PARSED_ARGS_FILES}) - _icu_extract_locale_from_rb(${RESOURCE_SOURCE} RESOURCE_NAME_WE) - get_filename_component(SOURCE_BASENAME ${RESOURCE_SOURCE} NAME) - get_filename_component(ABSOLUTE_SOURCE ${RESOURCE_SOURCE} ABSOLUTE) - - if(UPPER_FORMAT STREQUAL "XLIFF") - if(RESOURCE_NAME_WE STREQUAL "root") - set(XLIFF_LANGUAGE "en") - else() - string(REGEX REPLACE "[^a-z].*$" "" XLIFF_LANGUAGE "${RESOURCE_NAME_WE}") - endif() - endif() - - ##### ##### - set(RESOURCE_TARGET_NAME "${RESOURCE_TARGET_PREFIX}${TARGET_SEPARATOR}${PARSED_ARGS_NAME}${TARGET_SEPARATOR}${RESOURCE_NAME_WE}") - - set(RESOURCE_OUTPUT__PATH "${RESOURCE_NAME_WE}.res") - if(RESOURCE_NAME_WE STREQUAL "root") - set(RESOURCE_OUTPUT_JAVA_PATH "${PARSED_ARGS_BUNDLE}.java") - else() - set(RESOURCE_OUTPUT_JAVA_PATH "${PARSED_ARGS_BUNDLE}_${RESOURCE_NAME_WE}.java") - endif() - set(RESOURCE_OUTPUT_XLIFF_PATH "${RESOURCE_NAME_WE}.xlf") - - set(GENRB__OPTIONS "") - set(GENRB_JAVA_OPTIONS "-j" "-b" "${PARSED_ARGS_BUNDLE}") - set(GENRB_XLIFF_OPTIONS "-x" "-l" "${XLIFF_LANGUAGE}") - ##### ##### - - # build .txt from .res - if(PARSED_ARGS_PACKAGE) - add_custom_command( - OUTPUT "${RESOURCE_OUTPUT_DIR}${RESOURCE_OUTPUT_${UPPER_FORMAT}_PATH}" - COMMAND ${CMAKE_COMMAND} -E chdir ${RESOURCE_GENRB_CHDIR_DIR} ${${ICU_PUBLIC_VAR_NS}_GENRB_EXECUTABLE} ${GENRB_${UPPER_FORMAT}_OPTIONS} -d ${PACKAGE_NAME_WE} ${ABSOLUTE_SOURCE} - DEPENDS ${RESOURCE_SOURCE} - ) - else() - add_custom_command( - OUTPUT "${RESOURCE_OUTPUT_DIR}${RESOURCE_OUTPUT_${UPPER_FORMAT}_PATH}" - COMMAND ${${ICU_PUBLIC_VAR_NS}_GENRB_EXECUTABLE} ${GENRB_${UPPER_FORMAT}_OPTIONS} -d ${RESOURCE_OUTPUT_DIR} ${ABSOLUTE_SOURCE} - DEPENDS ${RESOURCE_SOURCE} - ) - endif() - # dummy target (ICU+RB++) for each locale to build the .res file from its .txt by the add_custom_command above - add_custom_target( - "${RESOURCE_TARGET_NAME}" ALL - COMMENT "" - DEPENDS "${RESOURCE_OUTPUT_DIR}${RESOURCE_OUTPUT_${UPPER_FORMAT}_PATH}" - SOURCES ${RESOURCE_SOURCE} - ) - - if(PARSED_ARGS_DESTINATION AND NOT PARSED_ARGS_PACKAGE) - install(FILES "${RESOURCE_OUTPUT_DIR}${RESOURCE_OUTPUT_${UPPER_FORMAT}_PATH}" DESTINATION ${PARSED_ARGS_DESTINATION} PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) - endif() - - list(APPEND TARGET_RESOURCES "${RESOURCE_TARGET_NAME}") - list(APPEND COMPILED_RESOURCES_PATH "${RESOURCE_OUTPUT_DIR}${RESOURCE_OUTPUT_${UPPER_FORMAT}_PATH}") - list(APPEND COMPILED_RESOURCES_BASENAME "${RESOURCE_NAME_WE}.${BUNDLES_${UPPER_FORMAT}_SUFFIX}") - endforeach() - # convert semicolon separated list to a space separated list - # NOTE: if the pkglist.txt file starts (or ends?) with a whitespace, pkgdata add an undefined symbol (named _) for it - string(REPLACE ";" " " COMPILED_RESOURCES_BASENAME "${COMPILED_RESOURCES_BASENAME}") - - if(PARSED_ARGS_PACKAGE) - # create a text file (pkglist.txt) with the list of the *.res to package together - add_custom_command( - OUTPUT "${PACKAGE_LIST_OUTPUT_PATH}" - COMMAND ${CMAKE_COMMAND} -E echo "${COMPILED_RESOURCES_BASENAME}" > "${PACKAGE_LIST_OUTPUT_PATH}" - DEPENDS ${COMPILED_RESOURCES_PATH} - ) - # run pkgdata from pkglist.txt - add_custom_command( - OUTPUT "${PACKAGE_OUTPUT_PATH}" - COMMAND ${CMAKE_COMMAND} -E chdir ${RESOURCE_GENRB_CHDIR_DIR} ${${ICU_PUBLIC_VAR_NS}_PKGDATA_EXECUTABLE} -F ${PKGDATA_${TYPE}_OPTIONS} -s ${PACKAGE_NAME_WE} -p ${PACKAGE_NAME_WE} ${PACKAGE_LIST_OUTPUT_PATH} - DEPENDS "${PACKAGE_LIST_OUTPUT_PATH}" - VERBATIM - ) - if(PKGDATA_LIBRARY_${TYPE}_TYPE) - # assert(${PARSED_ARGS_DEPENDS} != "") - if(NOT PARSED_ARGS_DEPENDS) - message(FATAL_ERROR "${__FUNCTION__}(): static and library mode imply a list of targets to link to, DEPENDS parameter missing") - endif() - add_library(${PACKAGE_TARGET_NAME} ${PKGDATA_LIBRARY_${TYPE}_TYPE} IMPORTED) - if(MSVC) - string(REGEX REPLACE "${PKGDATA_LIBRARY_SUFFIX}\$" "${CMAKE_IMPORT_LIBRARY_SUFFIX}" PACKAGE_OUTPUT_LIB "${PACKAGE_OUTPUT_PATH}") - set_target_properties(${PACKAGE_TARGET_NAME} PROPERTIES IMPORTED_LOCATION ${PACKAGE_OUTPUT_PATH} IMPORTED_IMPLIB ${PACKAGE_OUTPUT_LIB}) - else() - set_target_properties(${PACKAGE_TARGET_NAME} PROPERTIES IMPORTED_LOCATION ${PACKAGE_OUTPUT_PATH}) - endif() - foreach(DEPENDENCY ${PARSED_ARGS_DEPENDS}) - target_link_libraries(${DEPENDENCY} ${PACKAGE_TARGET_NAME}) - if(NOT PARSED_ARGS_NO_SHARED_FLAGS) - get_property(ENABLED_LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES) - list(LENGTH "${ENABLED_LANGUAGES}" ENABLED_LANGUAGES_LENGTH) - if(ENABLED_LANGUAGES_LENGTH GREATER 1) - message(WARNING "Project has more than one language enabled, skip automatic shared flags appending") - else() - set_property(TARGET "${DEPENDENCY}" APPEND PROPERTY COMPILE_FLAGS "${${ICU_PUBLIC_VAR_NS}_${ENABLED_LANGUAGES}_SHARED_FLAGS}") - endif() - endif() - endforeach() - # http://www.mail-archive.com/cmake-commits@cmake.org/msg01135.html - set(PACKAGE_INTERMEDIATE_TARGET_NAME "${PACKAGE_TARGET_NAME}${TARGET_SEPARATOR}DUMMY") - # dummy intermediate target (ICU+PKG++DUMMY) to link the package to the produced library by running pkgdata (see add_custom_command above) - add_custom_target( - ${PACKAGE_INTERMEDIATE_TARGET_NAME} - COMMENT "" - DEPENDS "${PACKAGE_OUTPUT_PATH}" - ) - add_dependencies("${PACKAGE_TARGET_NAME}" "${PACKAGE_INTERMEDIATE_TARGET_NAME}") - else() - # dummy target (ICU+PKG+) to run pkgdata (see add_custom_command above) - add_custom_target( - "${PACKAGE_TARGET_NAME}" ALL - COMMENT "" - DEPENDS "${PACKAGE_OUTPUT_PATH}" - ) - endif() - # dummy target (ICU+PKG++PKGLIST) to build the file pkglist.txt - add_custom_target( - "${PACKAGE_LIST_TARGET_NAME}" ALL - COMMENT "" - DEPENDS "${PACKAGE_LIST_OUTPUT_PATH}" - ) - # package => pkglist.txt - add_dependencies("${PACKAGE_TARGET_NAME}" "${PACKAGE_LIST_TARGET_NAME}") - # pkglist.txt => *.res - add_dependencies("${PACKAGE_LIST_TARGET_NAME}" ${TARGET_RESOURCES}) - - if(PARSED_ARGS_DESTINATION) - install(FILES "${PACKAGE_OUTPUT_PATH}" DESTINATION ${PARSED_ARGS_DESTINATION} PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) - endif() - endif() - -endfunction() - -########## ########## - -########## ########## - -if(${ICU_PUBLIC_VAR_NS}_DEBUG) - - function(icudebug _VARNAME) - if(DEFINED ${ICU_PUBLIC_VAR_NS}_${_VARNAME}) - message("${ICU_PUBLIC_VAR_NS}_${_VARNAME} = ${${ICU_PUBLIC_VAR_NS}_${_VARNAME}}") - else() - message("${ICU_PUBLIC_VAR_NS}_${_VARNAME} = ") - endif() - endfunction() - - # IN (args) - icudebug("FIND_COMPONENTS") - icudebug("FIND_REQUIRED") - icudebug("FIND_QUIETLY") - icudebug("FIND_VERSION") - - # OUT - # Found - icudebug("FOUND") - # Flags - icudebug("C_FLAGS") - icudebug("CPP_FLAGS") - icudebug("CXX_FLAGS") - icudebug("C_SHARED_FLAGS") - icudebug("CPP_SHARED_FLAGS") - icudebug("CXX_SHARED_FLAGS") - # Linking - icudebug("INCLUDE_DIRS") - icudebug("LIBRARIES") - # Version - icudebug("VERSION_MAJOR") - icudebug("VERSION_MINOR") - icudebug("VERSION_PATCH") - icudebug("VERSION") - # _(FOUND|LIBRARY) - set(${ICU_PRIVATE_VAR_NS}_COMPONENT_VARIABLES "FOUND" "LIBRARY" "LIBRARY_RELEASE" "LIBRARY_DEBUG") - foreach(${ICU_PRIVATE_VAR_NS}_COMPONENT ${${ICU_PRIVATE_VAR_NS}_COMPONENTS}) - string(TOUPPER "${${ICU_PRIVATE_VAR_NS}_COMPONENT}" ${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT) - foreach(${ICU_PRIVATE_VAR_NS}_COMPONENT_VARIABLE ${${ICU_PRIVATE_VAR_NS}_COMPONENT_VARIABLES}) - icudebug("${${ICU_PRIVATE_VAR_NS}_UPPER_COMPONENT}_${${ICU_PRIVATE_VAR_NS}_COMPONENT_VARIABLE}") - endforeach() - endforeach() - -endif() - -########## ########## diff --git a/CMake/GenerateDCMTKConfigure.cmake b/CMake/GenerateDCMTKConfigure.cmake index 8a59d44f..a3856d3d 100644 --- a/CMake/GenerateDCMTKConfigure.cmake +++ b/CMake/GenerateDCMTKConfigure.cmake @@ -82,9 +82,6 @@ list(APPEND DCMTK_ENABLE_CHARSET_CONVERSION_ALTERNATIVES "oficonv") if(DCMTK_WITH_ICONV) list(APPEND DCMTK_ENABLE_CHARSET_CONVERSION_ALTERNATIVES "libiconv") endif() -if(DCMTK_WITH_ICU) - list(APPEND DCMTK_ENABLE_CHARSET_CONVERSION_ALTERNATIVES "ICU") -endif() if(DCMTK_WITH_STDLIBC_ICONV) list(APPEND DCMTK_ENABLE_CHARSET_CONVERSION_ALTERNATIVES "stdlibc (iconv)") endif() @@ -98,10 +95,6 @@ elseif(DCMTK_ENABLE_CHARSET_CONVERSION STREQUAL "libiconv" OR DCMTK_ENABLE_CHARS message(STATUS "Info: Building DCMTK with character set conversion support using libiconv") set(DCMTK_ENABLE_CHARSET_CONVERSION "DCMTK_CHARSET_CONVERSION_ICONV") set(CHARSET_CONVERSION_LIBS ${LIBICONV_LIBS}) -elseif(DCMTK_ENABLE_CHARSET_CONVERSION STREQUAL "ICU" OR DCMTK_ENABLE_CHARSET_CONVERSION STREQUAL "DCMTK_CHARSET_CONVERSION_ICU") - message(STATUS "Info: Building DCMTK with character set conversion support using the ICU") - set(DCMTK_ENABLE_CHARSET_CONVERSION "DCMTK_CHARSET_CONVERSION_ICU") - set(CHARSET_CONVERSION_LIBS ${ICU_LIBS}) elseif(DCMTK_ENABLE_CHARSET_CONVERSION STREQUAL "stdlibc (iconv)" OR DCMTK_ENABLE_CHARSET_CONVERSION STREQUAL "DCMTK_CHARSET_CONVERSION_STDLIBC_ICONV") message(STATUS "Info: Building DCMTK with character set conversion support using builtin iconv functions from the C standard library") set(DCMTK_ENABLE_CHARSET_CONVERSION "DCMTK_CHARSET_CONVERSION_STDLIBC_ICONV") @@ -165,8 +158,8 @@ if(WIN32 AND NOT CYGWIN) set(DCMTK_DEFAULT_CONFIGURATION_DIR "%PROGRAMDATA%\\\\dcmtk-${DCMTK_COMPLETE_PACKAGE_VERSION}\\\\etc${PATH_SEPARATOR}") set(DCMTK_DEFAULT_SUPPORT_DATA_DIR "%PROGRAMDATA%\\\\dcmtk-${DCMTK_COMPLETE_PACKAGE_VERSION}\\\\share${PATH_SEPARATOR}") else() - set(CMAKE_INSTALL_FULL_DATADIR "${CMAKE_INSTALL_FULL_DATADIR}/dcmtk-${DCMTK_COMPLETE_PACKAGE_VERSION}") - set(CMAKE_INSTALL_FULL_DOCDIR "${CMAKE_INSTALL_FULL_DOCDIR}-${DCMTK_COMPLETE_PACKAGE_VERSION}") + set(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATADIR}/dcmtk-${DCMTK_COMPLETE_PACKAGE_VERSION}") + set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DOCDIR}-${DCMTK_COMPLETE_PACKAGE_VERSION}") set(DCMTK_DEFAULT_CONFIGURATION_DIR "") set(DCMTK_DEFAULT_SUPPORT_DATA_DIR "") endif() @@ -202,13 +195,23 @@ else() # Modify the installation paths for configuration files, data files and documents # by adding a subdirectory with the DCMTK name and version number - set(CMAKE_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/dcmtk-${DCMTK_COMPLETE_PACKAGE_VERSION}") - set(CMAKE_INSTALL_FULL_DATADIR "${CMAKE_INSTALL_FULL_DATADIR}/dcmtk-${DCMTK_COMPLETE_PACKAGE_VERSION}") - set(CMAKE_INSTALL_FULL_DOCDIR "${CMAKE_INSTALL_FULL_DOCDIR}-${DCMTK_COMPLETE_PACKAGE_VERSION}") + set(CMAKE_INSTALL_SYSCONFDIR "${CMAKE_INSTALL_SYSCONFDIR}/dcmtk-${DCMTK_COMPLETE_PACKAGE_VERSION}") + set(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATADIR}/dcmtk-${DCMTK_COMPLETE_PACKAGE_VERSION}") + set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DOCDIR}-${DCMTK_COMPLETE_PACKAGE_VERSION}") # These variables are defined as macros in osconfig.h and must end with a path separator - set(DCMTK_DEFAULT_CONFIGURATION_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/") - set(DCMTK_DEFAULT_SUPPORT_DATA_DIR "${CMAKE_INSTALL_FULL_DATADIR}/") + if(CMAKE_VERSION VERSION_LESS 3.20.0) + # CMake versions prior to 3.20 expect the third parameter to be passed in ${dir} + set(dir "SYSCONFDIR") + GNUInstallDirs_get_absolute_install_dir(DCMTK_DEFAULT_CONFIGURATION_DIR CMAKE_INSTALL_SYSCONFDIR) + set(dir "BINDIR") + GNUInstallDirs_get_absolute_install_dir(DCMTK_DEFAULT_SUPPORT_DATA_DIR CMAKE_INSTALL_DATADIR) + else() + GNUInstallDirs_get_absolute_install_dir(DCMTK_DEFAULT_CONFIGURATION_DIR CMAKE_INSTALL_SYSCONFDIR SYSCONFDIR) + GNUInstallDirs_get_absolute_install_dir(DCMTK_DEFAULT_SUPPORT_DATA_DIR CMAKE_INSTALL_DATADIR BINDIR) + endif() + set(DCMTK_DEFAULT_CONFIGURATION_DIR "${DCMTK_DEFAULT_CONFIGURATION_DIR}/") + set(DCMTK_DEFAULT_SUPPORT_DATA_DIR "${DCMTK_DEFAULT_SUPPORT_DATA_DIR}/") # Set dictionary path to the data dir inside install main dir (prefix). if(DCMTK_DEFAULT_DICT STREQUAL "external") @@ -224,7 +227,6 @@ endif() # Check the sizes of various types include (CheckTypeSize) -CHECK_TYPE_SIZE("char" SIZEOF_CHAR) CHECK_TYPE_SIZE("double" SIZEOF_DOUBLE) CHECK_TYPE_SIZE("float" SIZEOF_FLOAT) CHECK_TYPE_SIZE("int" SIZEOF_INT) @@ -297,66 +299,40 @@ if(WIN32 AND NOT CYGWIN) CHECK_INCLUDE_FILE_CXX("winsock.h" HAVE_WINSOCK_H) endif() - CHECK_INCLUDE_FILE_CXX("errno.h" HAVE_ERRNO_H) + CHECK_INCLUDE_FILE_CXX("alloca.h" HAVE_ALLOCA_H) + CHECK_INCLUDE_FILE_CXX("arpa/inet.h" HAVE_ARPA_INET_H) + CHECK_INCLUDE_FILE_CXX("cstdint" HAVE_CSTDINT) CHECK_INCLUDE_FILE_CXX("dirent.h" HAVE_DIRENT_H) CHECK_INCLUDE_FILE_CXX("err.h" HAVE_ERR_H) CHECK_INCLUDE_FILE_CXX("fcntl.h" HAVE_FCNTL_H) - CHECK_INCLUDE_FILE_CXX("fstream" HAVE_FSTREAM) - CHECK_INCLUDE_FILE_CXX("fstream.h" HAVE_FSTREAM_H) CHECK_INCLUDE_FILE_CXX("fnmatch.h" HAVE_FNMATCH_H) - CHECK_INCLUDE_FILE_CXX("float.h" HAVE_FLOAT_H) CHECK_INCLUDE_FILE_CXX("grp.h" HAVE_GRP_H) - CHECK_INCLUDE_FILE_CXX("malloc.h" HAVE_MALLOC_H) - CHECK_INCLUDE_FILE_CXX("math.h" HAVE_MATH_H) - CHECK_INCLUDE_FILE_CXX("cmath" HAVE_CMATH) CHECK_INCLUDE_FILE_CXX("ieeefp.h" HAVE_IEEEFP_H) - CHECK_INCLUDE_FILE_CXX("inttypes.h" HAVE_INTTYPES_H) - CHECK_INCLUDE_FILE_CXX("iomanip" HAVE_IOMANIP) - CHECK_INCLUDE_FILE_CXX("iomanip.h" HAVE_IOMANIP_H) - CHECK_INCLUDE_FILE_CXX("iostream" HAVE_IOSTREAM) - CHECK_INCLUDE_FILE_CXX("iostream.h" HAVE_IOSTREAM_H) CHECK_INCLUDE_FILE_CXX("io.h" HAVE_IO_H) - CHECK_INCLUDE_FILE_CXX("iso646.h" HAVE_ISO646_H) - CHECK_INCLUDE_FILE_CXX("png.h" HAVE_PNG_H) CHECK_INCLUDE_FILE_CXX("langinfo.h" HAVE_LANGINFO_H) - CHECK_INCLUDE_FILE_CXX("limits.h" HAVE_LIMITS_H) - CHECK_INCLUDE_FILE_CXX("climits" HAVE_CLIMITS) - CHECK_INCLUDE_FILE_CXX("locale.h" HAVE_LOCALE_H) + CHECK_INCLUDE_FILE_CXX("libc.h" HAVE_LIBC_H) + CHECK_INCLUDE_FILE_CXX("malloc.h" HAVE_MALLOC_H) CHECK_INCLUDE_FILE_CXX("mqueue.h" HAVE_MQUEUE_H) - CHECK_INCLUDE_FILE_CXX("ndir.h" HAVE_NDIR_H) CHECK_INCLUDE_FILE_CXX("netdb.h" HAVE_NETDB_H) - CHECK_INCLUDE_FILE_CXX("new.h" HAVE_NEW_H) + CHECK_INCLUDE_FILE_CXX("png.h" HAVE_PNG_H) + CHECK_INCLUDE_FILE_CXX("process.h" HAVE_PROCESS_H) + CHECK_INCLUDE_FILE_CXX("pthread.h" HAVE_PTHREAD_H) CHECK_INCLUDE_FILE_CXX("pwd.h" HAVE_PWD_H) CHECK_INCLUDE_FILE_CXX("semaphore.h" HAVE_SEMAPHORE_H) - CHECK_INCLUDE_FILE_CXX("setjmp.h" HAVE_SETJMP_H) - CHECK_INCLUDE_FILE_CXX("sstream" HAVE_SSTREAM) - CHECK_INCLUDE_FILE_CXX("sstream.h" HAVE_SSTREAM_H) - CHECK_INCLUDE_FILE_CXX("stat.h" HAVE_STAT_H) - CHECK_INCLUDE_FILE_CXX("stdbool.h" HAVE_STDBOOL_H) - CHECK_INCLUDE_FILE_CXX("stddef.h" HAVE_STDDEF_H) - CHECK_INCLUDE_FILE_CXX("cstddef" HAVE_CSTDDEF) CHECK_INCLUDE_FILE_CXX("stdint.h" HAVE_STDINT_H) - CHECK_INCLUDE_FILE_CXX("cstdint" HAVE_CSTDINT) - CHECK_INCLUDE_FILE_CXX("stdio.h" HAVE_STDIO_H) - CHECK_INCLUDE_FILE_CXX("cstdio" HAVE_CSTDIO) - CHECK_INCLUDE_FILE_CXX("streambuf.h" HAVE_STREAMBUF_H) CHECK_INCLUDE_FILE_CXX("strings.h" HAVE_STRINGS_H) - CHECK_INCLUDE_FILE_CXX("string.h" HAVE_STRING_H) - CHECK_INCLUDE_FILE_CXX("strstream.h" HAVE_STRSTREAM_H) - CHECK_INCLUDE_FILE_CXX("strstream" HAVE_STRSTREAM) - CHECK_INCLUDE_FILE_CXX("strstrea.h" HAVE_STRSTREA_H) CHECK_INCLUDE_FILE_CXX("synch.h" HAVE_SYNCH_H) - CHECK_INCLUDE_FILE_CXX("syslog.h" HAVE_SYSLOG_H) - CHECK_INCLUDE_FILE_CXX("sys/errno.h" HAVE_SYS_ERRNO_H) CHECK_INCLUDE_FILE_CXX("sys/dir.h" HAVE_SYS_DIR_H) + CHECK_INCLUDE_FILE_CXX("sys/errno.h" HAVE_SYS_ERRNO_H) CHECK_INCLUDE_FILE_CXX("sys/file.h" HAVE_SYS_FILE_H) CHECK_INCLUDE_FILE_CXX("sys/mman.h" HAVE_SYS_MMAN_H) CHECK_INCLUDE_FILE_CXX("sys/msg.h" HAVE_SYS_MSG_H) - CHECK_INCLUDE_FILE_CXX("sys/ndir.h" HAVE_SYS_NDIR_H) CHECK_INCLUDE_FILE_CXX("sys/param.h" HAVE_SYS_PARAM_H) CHECK_INCLUDE_FILE_CXX("sys/queue.h" HAVE_SYS_QUEUE_H) CHECK_INCLUDE_FILE_CXX("sys/resource.h" HAVE_SYS_RESOURCE_H) CHECK_INCLUDE_FILE_CXX("sys/select.h" HAVE_SYS_SELECT_H) + CHECK_INCLUDE_FILE_CXX("sys/socket.h" HAVE_SYS_SOCKET_H) + CHECK_INCLUDE_FILE_CXX("sys/stat.h" HAVE_SYS_STAT_H) CHECK_INCLUDE_FILE_CXX("sys/syscall.h" HAVE_SYS_SYSCALL_H) CHECK_INCLUDE_FILE_CXX("sys/systeminfo.h" HAVE_SYS_SYSTEMINFO_H) CHECK_INCLUDE_FILE_CXX("sys/time.h" HAVE_SYS_TIME_H) @@ -366,28 +342,15 @@ endif() CHECK_INCLUDE_FILE_CXX("sys/utime.h" HAVE_SYS_UTIME_H) CHECK_INCLUDE_FILE_CXX("sys/utsname.h" HAVE_SYS_UTSNAME_H) CHECK_INCLUDE_FILE_CXX("sys/wait.h" HAVE_SYS_WAIT_H) - CHECK_INCLUDE_FILE_CXX("sys/socket.h" HAVE_SYS_SOCKET_H) + CHECK_INCLUDE_FILE_CXX("syslog.h" HAVE_SYSLOG_H) CHECK_INCLUDE_FILE_CXX("thread.h" HAVE_THREAD_H) - CHECK_INCLUDE_FILE_CXX("process.h" HAVE_PROCESS_H) - CHECK_INCLUDE_FILE_CXX("sys/stat.h" HAVE_SYS_STAT_H) - CHECK_INCLUDE_FILE_CXX("time.h" HAVE_TIME_H) CHECK_INCLUDE_FILE_CXX("unistd.h" HAVE_UNISTD_H) CHECK_INCLUDE_FILE_CXX("unix.h" HAVE_UNIX_H) CHECK_INCLUDE_FILE_CXX("utime.h" HAVE_UTIME_H) - CHECK_INCLUDE_FILE_CXX("wchar.h" HAVE_WCHAR_H) - CHECK_INCLUDE_FILE_CXX("wctype.h" HAVE_WCTYPE_H) - CHECK_INCLUDE_FILE_CXX("alloca.h" HAVE_ALLOCA_H) - CHECK_INCLUDE_FILE_CXX("arpa/inet.h" HAVE_ARPA_INET_H) - CHECK_INCLUDE_FILE_CXX("ctype.h" HAVE_CTYPE_H) - CHECK_INCLUDE_FILE_CXX("memory.h" HAVE_MEMORY_H) - CHECK_INCLUDE_FILE_CXX("pthread.h" HAVE_PTHREAD_H) - CHECK_INCLUDE_FILE_CXX("libc.h" HAVE_LIBC_H) - CHECK_INCLUDE_FILE_CXX("stdlib.h" HAVE_STDLIB_H) - CHECK_INCLUDE_FILE_CXX("stdarg.h" HAVE_STDARG_H) - CHECK_INCLUDE_FILE_CXX("cstdarg" HAVE_CSTDARG) - CHECK_INCLUDE_FILE_CXX("signal.h" HAVE_SIGNAL_H) - CHECK_INCLUDE_FILE_CXX("fenv.h" HAVE_FENV_H) - CHECK_INCLUDE_FILE_CXX("iterator" HAVE_ITERATOR_HEADER) + CHECK_INCLUDE_FILE_CXX("system_error" HAVE_SYSTEM_ERROR) + CHECK_INCLUDE_FILE_CXX("tuple" HAVE_TUPLE) + CHECK_INCLUDE_FILE_CXX("type_traits" HAVE_TYPE_TRAITS) + CHECK_INCLUDE_FILE_CXX("atomic" HAVE_ATOMIC) if(NOT APPLE) # poll on macOS is unreliable, it first did not exist, then was broken until @@ -430,7 +393,6 @@ endif() set(HAVE_NO_TYPEDEF_PID_T TRUE) else() set(HAVE_NO_TYPEDEF_PID_T FALSE) - set(HAVE_NO_TYPEDEF_SIZE_T FALSE) if(NOT ${HAVE_SYS_TYPES_H}) set(HAVE_NO_TYPEDEF_SSIZE_T TRUE) endif() @@ -446,13 +408,7 @@ endif() set(HEADERS ${HEADERS} io.h) endif() - if(HAVE_IOSTREAM_H) - set(HEADERS ${HEADERS} iostream.h) - endif() - - if(HAVE_MATH_H) - set(HEADERS ${HEADERS} math.h) - endif() + set(HEADERS ${HEADERS} math.h) if(HAVE_LIBC_H) set(HEADERS ${HEADERS} libc.h) @@ -474,17 +430,13 @@ endif() set(HEADERS ${HEADERS} unistd.h) endif() - if(HAVE_STDLIB_H) - set(HEADERS ${HEADERS} stdlib.h) - endif() + set(HEADERS ${HEADERS} stdlib.h) if(HAVE_STDINT_H) set(HEADERS ${HEADERS} stdint.h) endif() - if(HAVE_STDDEF_H) - set(HEADERS ${HEADERS} stddef.h) - endif() + set(HEADERS ${HEADERS} stddef.h) if(HAVE_NETDB_H) set(HEADERS ${HEADERS} netdb.h) @@ -494,9 +446,7 @@ endif() set(HEADERS ${HEADERS} sys/file.h) endif() - if(HAVE_STRING_H) - set(HEADERS ${HEADERS} string.h) - endif() + set(HEADERS ${HEADERS} string.h) if(HAVE_STRINGS_H) set(HEADERS ${HEADERS} strings.h) @@ -530,13 +480,9 @@ endif() set(HEADERS ${HEADERS} sys/timeb.h) endif() - if(HAVE_STDARG_H) - set(HEADERS ${HEADERS} stdarg.h) - endif() + set(HEADERS ${HEADERS} stdarg.h) - if(HAVE_STDIO_H) - set(HEADERS ${HEADERS} stdio.h) - endif() + set(HEADERS ${HEADERS} stdio.h) if(HAVE_SYS_SELECT_H) set(HEADERS ${HEADERS} sys/select.h) @@ -575,27 +521,16 @@ endif() # std::vsnprintf and std::vsnprintf need the C++ version of the headers. # We just assume they exist when the C version was found set(CXXHEADERS) - - if(HAVE_CMATH) - set(CXXHEADERS ${CXXHEADERS} cmath) - endif() - - if(HAVE_CSTDIO) - set(CXXHEADERS ${CXXHEADERS} cstdio) - endif() - - if(HAVE_CSTDARG) - set(CXXHEADERS ${CXXHEADERS} cstdarg) - endif() + set(CXXHEADERS ${CXXHEADERS} cmath) + set(CXXHEADERS ${CXXHEADERS} cstdio) + set(CXXHEADERS ${CXXHEADERS} cstdarg) + set(CXXHEADERS ${CXXHEADERS} cstddef) + set(CXXHEADERS ${CXXHEADERS} iostream) if(HAVE_CSTDINT) set(CXXHEADERS ${CXXHEADERS} cstdint) endif() - if(HAVE_CSTDDEF) - set(CXXHEADERS ${CXXHEADERS} cstddef) - endif() - if(WIN32) # CHECK_FUNCTION_EXISTS does not work correctly on Windows (due to symbol name mangling) # use CHECK_SYMBOL_EXISTS instead @@ -604,15 +539,11 @@ endif() endmacro() endif() - CHECK_FUNCTION_EXISTS(_doprnt HAVE_DOPRNT) CHECK_FUNCTION_EXISTS(_findfirst HAVE__FINDFIRST) - CHECK_FUNCTION_EXISTS(accept HAVE_ACCEPT) + CHECK_FUNCTION_EXISTS(_set_output_format HAVE__SET_OUTPUT_FORMAT) CHECK_FUNCTION_EXISTS(access HAVE_ACCESS) CHECK_FUNCTION_EXISTS(atoll HAVE_ATOLL) CHECK_FUNCTION_EXISTS(bcmp HAVE_BCMP) - CHECK_FUNCTION_EXISTS(bcopy HAVE_BCOPY) - CHECK_FUNCTION_EXISTS(bind HAVE_BIND) - CHECK_FUNCTION_EXISTS(connect HAVE_CONNECT) CHECK_FUNCTION_EXISTS(cuserid HAVE_CUSERID) CHECK_FUNCTION_EXISTS(fgetln HAVE_FGETLN) CHECK_FUNCTION_EXISTS(finite HAVE_FINITE) @@ -620,114 +551,69 @@ endif() CHECK_FUNCTION_EXISTS(fork HAVE_FORK) CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO) CHECK_FUNCTION_EXISTS(ftime HAVE_FTIME) - CHECK_FUNCTION_EXISTS(getaddrinfo HAVE_GETADDRINFO) - CHECK_FUNCTION_EXISTS(getenv HAVE_GETENV) CHECK_FUNCTION_EXISTS(geteuid HAVE_GETEUID) CHECK_FUNCTION_EXISTS(getgrnam HAVE_GETGRNAM) CHECK_FUNCTION_EXISTS(gethostbyaddr_r HAVE_GETHOSTBYADDR_R) - CHECK_FUNCTION_EXISTS(gethostbyname HAVE_GETHOSTBYNAME) CHECK_FUNCTION_EXISTS(gethostbyname_r HAVE_GETHOSTBYNAME_R) CHECK_FUNCTION_EXISTS(gethostid HAVE_GETHOSTID) - CHECK_FUNCTION_EXISTS(gethostname HAVE_GETHOSTNAME) CHECK_FUNCTION_EXISTS(getlogin HAVE_GETLOGIN) CHECK_FUNCTION_EXISTS(getlogin_r HAVE_GETLOGIN_R) CHECK_FUNCTION_EXISTS(getpid HAVE_GETPID) CHECK_FUNCTION_EXISTS(getpwnam HAVE_GETPWNAM) CHECK_FUNCTION_EXISTS(getrusage HAVE_GETRUSAGE) - CHECK_FUNCTION_EXISTS(getsockname HAVE_GETSOCKNAME) - CHECK_FUNCTION_EXISTS(getsockopt HAVE_GETSOCKOPT) CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) CHECK_FUNCTION_EXISTS(getuid HAVE_GETUID) CHECK_FUNCTION_EXISTS(gmtime_r HAVE_GMTIME_R) CHECK_FUNCTION_EXISTS(index HAVE_INDEX) - CHECK_FUNCTION_EXISTS(isinf HAVE_ISINF) - CHECK_FUNCTION_EXISTS(isnan HAVE_ISNAN) CHECK_FUNCTION_EXISTS(itoa HAVE_ITOA) CHECK_FUNCTION_EXISTS(listen HAVE_LISTEN) CHECK_FUNCTION_EXISTS(localtime_r HAVE_LOCALTIME_R) CHECK_FUNCTION_EXISTS(lockf HAVE_LOCKF) CHECK_FUNCTION_EXISTS(lstat HAVE_LSTAT) CHECK_FUNCTION_EXISTS(malloc_debug HAVE_MALLOC_DEBUG) - CHECK_FUNCTION_EXISTS(mbstowcs HAVE_MBSTOWCS) - CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE) CHECK_FUNCTION_EXISTS(mkstemp HAVE_MKSTEMP) CHECK_FUNCTION_EXISTS(mktemp HAVE_MKTEMP) CHECK_FUNCTION_EXISTS(nanosleep HAVE_NANOSLEEP) CHECK_FUNCTION_EXISTS(rindex HAVE_RINDEX) - CHECK_FUNCTION_EXISTS(select HAVE_SELECT) - CHECK_FUNCTION_EXISTS(setsockopt HAVE_SETSOCKOPT) CHECK_FUNCTION_EXISTS(setuid HAVE_SETUID) CHECK_FUNCTION_EXISTS(sleep HAVE_SLEEP) - CHECK_FUNCTION_EXISTS(socket HAVE_SOCKET) CHECK_FUNCTION_EXISTS(stat HAVE_STAT) - CHECK_FUNCTION_EXISTS(strchr HAVE_STRCHR) CHECK_FUNCTION_EXISTS(strdup HAVE_STRDUP) - CHECK_FUNCTION_EXISTS(strerror HAVE_STRERROR) CHECK_FUNCTION_EXISTS(strlcat HAVE_STRLCAT) CHECK_FUNCTION_EXISTS(strlcpy HAVE_STRLCPY) - CHECK_FUNCTION_EXISTS(strstr HAVE_STRSTR) - CHECK_FUNCTION_EXISTS(strtoul HAVE_STRTOUL) CHECK_FUNCTION_EXISTS(sysinfo HAVE_SYSINFO) - CHECK_FUNCTION_EXISTS(tempnam HAVE_TEMPNAM) - CHECK_FUNCTION_EXISTS(tmpnam HAVE_TMPNAM) CHECK_FUNCTION_EXISTS(uname HAVE_UNAME) CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP) - CHECK_FUNCTION_EXISTS(wait3 HAVE_WAIT3) CHECK_FUNCTION_EXISTS(waitpid HAVE_WAITPID) - CHECK_FUNCTION_EXISTS(wcstombs HAVE_WCSTOMBS) CHECK_SYMBOL_EXISTS(strcasestr "string.h" HAVE_PROTOTYPE_STRCASESTR) CHECK_FUNCTIONWITHHEADER_EXISTS(feenableexcept "${HEADERS}" HAVE_PROTOTYPE_FEENABLEEXCEPT) - CHECK_FUNCTIONWITHHEADER_EXISTS("isinf(0.)" "${HEADERS}" HAVE_PROTOTYPE_ISINF) - CHECK_FUNCTIONWITHHEADER_EXISTS("isnan(0.)" "${HEADERS}" HAVE_PROTOTYPE_ISNAN) CHECK_FUNCTIONWITHHEADER_EXISTS(finite "${HEADERS}" HAVE_PROTOTYPE_FINITE) CHECK_FUNCTIONWITHHEADER_EXISTS("std::isinf(0.)" "${CXXHEADERS}" HAVE_PROTOTYPE_STD__ISINF) CHECK_FUNCTIONWITHHEADER_EXISTS("std::isnan(0.)" "${CXXHEADERS}" HAVE_PROTOTYPE_STD__ISNAN) - CHECK_FUNCTIONWITHHEADER_EXISTS(std::finite "${HEADERS}" HAVE_PROTOTYPE_STD__FINITE) CHECK_FUNCTIONWITHHEADER_EXISTS(flock "${HEADERS}" HAVE_PROTOTYPE_FLOCK) - CHECK_FUNCTIONWITHHEADER_EXISTS(gethostbyname "${HEADERS}" HAVE_PROTOTYPE_GETHOSTBYNAME) CHECK_FUNCTIONWITHHEADER_EXISTS(gethostbyname_r "${HEADERS}" HAVE_PROTOTYPE_GETHOSTBYNAME_R) CHECK_FUNCTIONWITHHEADER_EXISTS(gethostbyaddr_r "${HEADERS}" HAVE_PROTOTYPE_GETHOSTBYADDR_R) CHECK_FUNCTIONWITHHEADER_EXISTS(gethostid "${HEADERS}" HAVE_PROTOTYPE_GETHOSTID) - CHECK_FUNCTIONWITHHEADER_EXISTS(gethostname "${HEADERS}" HAVE_PROTOTYPE_GETHOSTNAME) CHECK_FUNCTIONWITHHEADER_EXISTS(waitpid "${HEADERS}" HAVE_PROTOTYPE_WAITPID) - CHECK_FUNCTIONWITHHEADER_EXISTS(wait3 "${HEADERS}" HAVE_PROTOTYPE_WAIT3) CHECK_FUNCTIONWITHHEADER_EXISTS(usleep "${HEADERS}" HAVE_PROTOTYPE_USLEEP) - CHECK_FUNCTIONWITHHEADER_EXISTS(accept "${HEADERS}" HAVE_PROTOTYPE_ACCEPT) - CHECK_FUNCTIONWITHHEADER_EXISTS(bind "${HEADERS}" HAVE_PROTOTYPE_BIND) - CHECK_FUNCTIONWITHHEADER_EXISTS(getsockname "${HEADERS}" HAVE_PROTOTYPE_GETSOCKNAME) - CHECK_FUNCTIONWITHHEADER_EXISTS(getsockopt "${HEADERS}" HAVE_PROTOTYPE_GETSOCKOPT) - CHECK_FUNCTIONWITHHEADER_EXISTS(getsockname "${HEADERS}" HAVE_PROTOTYPE_GETSOCKNAME) - CHECK_FUNCTIONWITHHEADER_EXISTS(setsockopt "${HEADERS}" HAVE_PROTOTYPE_SETSOCKOPT) - CHECK_FUNCTIONWITHHEADER_EXISTS(socket "${HEADERS}" HAVE_PROTOTYPE_SOCKET) - CHECK_FUNCTIONWITHHEADER_EXISTS(listen "${HEADERS}" HAVE_PROTOTYPE_LISTEN) # the following functions are partially C99 and partially nonstandard and may # not be defined in the standard C++ headers. CHECK_FUNCTIONWITHHEADER_EXISTS(_vsnprintf_s "${HEADERS}" HAVE__VSNPRINTF_S) CHECK_FUNCTIONWITHHEADER_EXISTS(vfprintf_s "${HEADERS}" HAVE_VFPRINTF_S) - CHECK_FUNCTIONWITHHEADER_EXISTS(vprintf "${HEADERS}" HAVE_VPRINTF) CHECK_FUNCTIONWITHHEADER_EXISTS(vsnprintf "${HEADERS}" HAVE_VSNPRINTF) CHECK_FUNCTIONWITHHEADER_EXISTS(vsprintf_s "${HEADERS}" HAVE_VSPRINTF_S) CHECK_FUNCTIONWITHHEADER_EXISTS(std::vfprintf "${CXXHEADERS}" HAVE_PROTOTYPE_STD__VFPRINTF) CHECK_FUNCTIONWITHHEADER_EXISTS(std::vsnprintf "${CXXHEADERS}" HAVE_PROTOTYPE_STD__VSNPRINTF) CHECK_FUNCTIONWITHHEADER_EXISTS(_stricmp "${HEADERS}" HAVE_PROTOTYPE__STRICMP) - # "definition" is an (exchangeable) identifier that is needed for successful compile test - CHECK_FUNCTIONWITHHEADER_EXISTS("socklen_t definition" "${HEADERS}" HAVE_DECLARATION_SOCKLEN_T) CHECK_FUNCTIONWITHHEADER_EXISTS(gettimeofday "${HEADERS}" HAVE_PROTOTYPE_GETTIMEOFDAY) - CHECK_FUNCTIONWITHHEADER_EXISTS(connect "${HEADERS}" HAVE_PROTOTYPE_CONNECT) CHECK_FUNCTIONWITHHEADER_EXISTS(mkstemp "${HEADERS}" HAVE_PROTOTYPE_MKSTEMP) CHECK_FUNCTIONWITHHEADER_EXISTS(mktemp "${HEADERS}" HAVE_PROTOTYPE_MKTEMP) - CHECK_FUNCTIONWITHHEADER_EXISTS(memcmp "${HEADERS}" HAVE_MEMCMP) - CHECK_FUNCTIONWITHHEADER_EXISTS(memcpy "${HEADERS}" HAVE_MEMCPY) - CHECK_FUNCTIONWITHHEADER_EXISTS(memset "${HEADERS}" HAVE_MEMSET) - CHECK_FUNCTIONWITHHEADER_EXISTS(select "${HEADERS}" HAVE_PROTOTYPE_SELECT) CHECK_FUNCTIONWITHHEADER_EXISTS(strcasecmp "${HEADERS}" HAVE_PROTOTYPE_STRCASECMP) CHECK_FUNCTIONWITHHEADER_EXISTS(strncasecmp "${HEADERS}" HAVE_PROTOTYPE_STRNCASECMP) CHECK_FUNCTIONWITHHEADER_EXISTS(strerror_r "${HEADERS}" HAVE_PROTOTYPE_STRERROR_R) CHECK_FUNCTIONWITHHEADER_EXISTS(SYS_gettid "${HEADERS}" HAVE_SYS_GETTID) - # "definition" is an (exchangeable) identifier that is needed for successful compile test - CHECK_FUNCTIONWITHHEADER_EXISTS("std::ios_base::openmode definition" "${CXXHEADERS}" HAVE_DECLARATION_STD__IOS_BASE__OPENMODE) CHECK_FUNCTIONWITHHEADER_EXISTS(pthread_rwlock_init "${HEADERS}" HAVE_PTHREAD_RWLOCK) CHECK_FUNCTIONWITHHEADER_EXISTS("__sync_add_and_fetch((int*)0,0)" "${HEADERS}" HAVE_SYNC_ADD_AND_FETCH) CHECK_FUNCTIONWITHHEADER_EXISTS("__sync_sub_and_fetch((int*)0,0)" "${HEADERS}" HAVE_SYNC_SUB_AND_FETCH) @@ -741,6 +627,7 @@ endif() CHECK_FUNCTIONWITHHEADER_EXISTS(nanosleep "${HEADERS}" HAVE_PROTOTYPE_NANOSLEEP) CHECK_FUNCTIONWITHHEADER_EXISTS("&passwd::pw_gecos" "${HEADERS}" HAVE_PASSWD_GECOS) CHECK_FUNCTIONWITHHEADER_EXISTS("TryAcquireSRWLockShared((PSRWLOCK)0)" "${HEADERS}" HAVE_PROTOTYPE_TRYACQUIRESRWLOCKSHARED) + # "definition" is an (exchangeable) identifier that is needed for successful compile test CHECK_FUNCTIONWITHHEADER_EXISTS("fp_except_t definition" "${HEADERS}" HAVE_DECLARATION_FP_EXCEPT_T) # Check for some type definitions needed by JasPer and defines them if necessary @@ -750,14 +637,12 @@ endif() CHECK_FUNCTIONWITHHEADER_EXISTS("ushort definition" "${HEADERS}" HAVE_USHORT_TYPEDEF) CHECK_FUNCTIONWITHHEADER_EXISTS("uint definition" "${HEADERS}" HAVE_UINT_TYPEDEF) CHECK_FUNCTIONWITHHEADER_EXISTS("ulong definition" "${HEADERS}" HAVE_ULONG_TYPEDEF) - CHECK_FUNCTIONWITHHEADER_EXISTS("longlong definition" "${HEADERS}" HAVE_LONGLONG) - CHECK_FUNCTIONWITHHEADER_EXISTS("ulonglong definition" "${HEADERS}" HAVE_ULONGLONG) CHECK_FUNCTIONWITHHEADER_EXISTS("long long definition" "${HEADERS}" HAVE_LONG_LONG) CHECK_FUNCTIONWITHHEADER_EXISTS("unsigned long long definition" "${HEADERS}" HAVE_UNSIGNED_LONG_LONG) CHECK_FUNCTIONWITHHEADER_EXISTS("int64_t definition" "${HEADERS}" HAVE_INT64_T) CHECK_FUNCTIONWITHHEADER_EXISTS("uint64_t definition" "${HEADERS}" HAVE_UINT64_T) - # ICU prefers to use char16_t, but it is only supported since C++11 + # char16_t is only supported since C++11 CHECK_FUNCTIONWITHHEADER_EXISTS("char16_t definition" "${HEADERS}" HAVE_CHAR16_T) # File access stuff @@ -791,44 +676,6 @@ if(DEFINED DCMTK_NO_TRY_RUN) set(DCMTK_NO_TRY_RUN DDCMTK_NO_TRY_RUN CACHE INTERNAL "Disable compile try as part of config") endif() -if(HAVE_MATH_H) - if(HAVE_LIBC_H) - # checks if and cause a problem if libc.h is included extern "C" - # and math.h is not. This is the case on QNX 6.2.x and 6.5.x. - DCMTK_TRY_COMPILE(INCLUDE_LIBC_H_AS_EXTERN_C " can be included as extern \"C\"" - "extern \"C\" { -#include -} -#include -int main() -{ - int i = 0; - return 0; -}") - if(INCLUDE_LIBC_H_AS_EXTERN_C) - set(INCLUDE_LIBC_H_AS_CXX 0 CACHE INTERNAL "libc.h should be treated as a C++ header") - else() - set(INCLUDE_LIBC_H_AS_CXX 1 CACHE INTERNAL "libc.h should be treated as a C++ header") - endif() - endif() - - # checks if must be included as a C++ include file (i.e. without extern "C"). - # Some systems (Win32, HP/UX 10) use C++ language features in . - DCMTK_TRY_COMPILE(INCLUDE_MATH_H_AS_EXTERN_C " can be included as extern \"C\"" - "extern \"C\" { -#include -} -int main() -{ - int i = 0; - return 0; -}") - if(INCLUDE_MATH_H_AS_EXTERN_C) - set(INCLUDE_MATH_H_AS_CXX 0 CACHE INTERNAL "math.h should be treated as a C++ header") - else() - set(INCLUDE_MATH_H_AS_CXX 1 CACHE INTERNAL "math.h should be treated as a C++ header") - endif() -endif() if(NOT DEFINED C_CHAR_UNSIGNED) message(STATUS "Checking signedness of char") @@ -870,32 +717,6 @@ int main () endif() endif() -# Check if typename works properly. Only MSC6 really fails here. -DCMTK_TRY_COMPILE(HAVE_TYPENAME "typename works correctly" - " -template -type identical(type arg) -{ - return arg; -} - -template -typename type::a foo(typename type::a arg) -{ - // This one is the usage of \"typename\" that we are checking for. - // MSC6 refuses this one incorrectly. - return identical(arg); -} - -class test { -public: - typedef int a; -}; - -int main() -{ - return foo(0); -}") # Check if ENAMETOOLONG is defined. DCMTK_TRY_COMPILE(HAVE_ENAMETOOLONG "ENAMETOOLONG is defined" @@ -932,18 +753,6 @@ DCMTK_TRY_COMPILE(HAVE_VLA "variable length arrays are supported" return 0; }") -# Check if std::ios::nocreate exists -DCMTK_TRY_COMPILE(HAVE_IOS_NOCREATE "std::ios::nocreate exists" - "#include - -using namespace std; - -int main() -{ - std::ifstream file(\"name\", std::ios::nocreate); - return 0; -}") - # do try compile to detect lfs and flags function(DCMTK_LFS_TRY_COMPILE VAR FILE FLAGS DEFINITIONS) if(FLAGS OR DEFINITIONS) @@ -1013,17 +822,10 @@ function(DCMTK_CHECK_ENABLE_LFS) set(MESSAGE "Checking whether explicit large file support (LFS64) is available") message(STATUS "${MESSAGE}") DCMTK_LFS_TRY_COMPILE(RESULT "lfs64.cc" "" "") - if(NOT RESULT) - DCMTK_LFS_TRY_COMPILE(RESULT "lfs64.cc" "" "-D_LARGEFILE64_SOURCE") - if(RESULT) - set(DCMTK_LFS64_DEFINITIONS "-D_LARGEFILE64_SOURCE") - set(MESSAGE_RESULT "yes, with ${DCMTK_LFS64_DEFINITIONS}") - endif() - else() - set(MESSAGE_RESULT "yes") - endif() if(RESULT) + set(MESSAGE_RESULT "yes") set(DCMTK_ENABLE_LFS "lfs64") + set(DCMTK_LFS64_DEFINITIONS "-D_LARGEFILE64_SOURCE") set(DCMTK_LFS64_DEFINITIONS "${DCMTK_LFS64_DEFINITIONS}" CACHE INTERNAL "which compiler definitions to set for enabling LFS64 support") endif() set(DCMTK_LFS64_AVAILABLE "${RESULT}" CACHE INTERNAL "whether LFS64 is available or not" FORCE) @@ -1166,7 +968,6 @@ if(WIN32) # we could use tests for these. Until then, here is what would be the result: set(HAVE_INTP_ACCEPT 1 CACHE INTERNAL "Set if socket functions accept an int* argument") set(HAVE_INTP_GETSOCKOPT 1 CACHE INTERNAL "Set if socket functions accept an int* argument") - set(HAVE_INTP_SELECT 0 CACHE INTERNAL "Set if select() accepts an int* argument") else() # Check if socket functions accept an int* DCMTK_TRY_COMPILE(HAVE_INTP_SOCKET, "socket functions accept an int* argument" @@ -1203,33 +1004,6 @@ int main() set(HAVE_INTP_ACCEPT 0 CACHE INTERNAL "Set if socket functions accept an int* argument") set(HAVE_INTP_GETSOCKOPT 0 CACHE INTERNAL "Set if socket functions accept an int* argument") endif() - - # Check if select() accepts an int* - DCMTK_TRY_COMPILE(HAVE_INTP_SELECT "select() accepts an int* argument" - " -#ifdef __cplusplus -extern \"C\" { -#endif -#ifdef _WIN32 -/* Windows is pure evil */ -#include -#else -#include -#endif -#ifdef __cplusplus -} -#endif - -int main() -{ - int i; - int fds = 0; - - i = select(1, &fds, &fds, &fds, 0); - - return 0; -} -") endif() # Check for alignment query / specifier support @@ -1343,11 +1117,6 @@ int main() endif() endfunction() -DCMTK_CHECK_ITERATOR_CATEGORY(input) -DCMTK_CHECK_ITERATOR_CATEGORY(output) -DCMTK_CHECK_ITERATOR_CATEGORY(forward) -DCMTK_CHECK_ITERATOR_CATEGORY(bidirectional) -DCMTK_CHECK_ITERATOR_CATEGORY(random_access) DCMTK_CHECK_ITERATOR_CATEGORY(contiguous) function(ANALYZE_ICONV_FLAGS) @@ -1448,49 +1217,7 @@ int main() endif() endif() -# Compile config/tests/arith.cc and generate config/arith.h -function(INSPECT_FUNDAMENTAL_ARITHMETIC_TYPES) - set(ARITH_H_FILE "${DCMTK_BINARY_DIR}/config/include/dcmtk/config/arith.h") - if("${DCMTK_SOURCE_DIR}/config/tests/arith.cc" IS_NEWER_THAN "${ARITH_H_FILE}") - if(CMAKE_CROSSCOMPILING) - if(WIN32) - UNIX_TO_WINE_PATH(ARITH_H_FILE "${ARITH_H_FILE}") - string(REPLACE "\\" "\\\\" ARITH_H_FILE "${ARITH_H_FILE}") - elseif(ANDROID) - set(ARITH_H_DESTINATION "${ARITH_H_FILE}") - set(ARITH_H_FILE "${ANDROID_TEMPORARY_FILES_LOCATION}/arith.h") - endif() - endif() - if(NOT DEFINED DCMTK_NO_TRY_RUN) - DCMTK_TRY_RUN( - RESULT COMPILED - "${DCMTK_BINARY_DIR}/CMakeTmp/Arith" - "${DCMTK_SOURCE_DIR}/config/tests/arith.cc" - COMPILE_DEFINITIONS -I"${DCMTK_BINARY_DIR}/config/include" -I"${DCMTK_SOURCE_DIR}/ofstd/include" -I"${DCMTK_SOURCE_DIR}/ofstd/libsrc" - RUN_OUTPUT_VARIABLE OUTPUT - COMPILE_OUTPUT_VARIABLE CERR - ARGS "\\\"${ARITH_H_FILE}\\\"" - ) - if(COMPILED) - if(NOT RESULT) - message(STATUS "${OUTPUT}") - if(CMAKE_CROSSCOMPILING) - if(ANDROID) - DCMTK_ANDROID_PULL(DCMTK_ANDROID_EMULATOR_INSTANCE "${ARITH_H_FILE}" DESTINATION "${ARITH_H_DESTINATION}") - endif() - endif() - else() - message(FATAL_ERROR "${OUTPUT}") - endif() - else() - message(FATAL_ERROR "${CERR}") - endif() - else() - message("Be sure to copy arith.h to ${ARITH_H_FILE} before build") - endif() - endif() # file needs update -endfunction() - +# Check whether the compiler supports the given C++ standard version (11, 14, ...) function(DCMTK_CHECK_CXX_STANDARD STANDARD) set(RESULT 0) if(DEFINED HAVE_CXX${STANDARD}_TEST_RESULT) @@ -1500,6 +1227,9 @@ function(DCMTK_CHECK_CXX_STANDARD STANDARD) else() set(MESSAGE "Checking whether the compiler supports C++${STANDARD}") message(STATUS "${MESSAGE}") + # Here we need to tell try_compile() to set the related CXX standard macro for VS. + # try_compile() also now support forwarding CMAKE_CXX_STANDARD to the compiler by setting "CXX_STANDARD " + # but for some reason it does not seem to work. Thus we meanwhile set the macro manually. try_compile(COMPILE_RESULT "${CMAKE_BINARY_DIR}" "${DCMTK_SOURCE_DIR}/config/tests/cxx${STANDARD}.cc" COMPILE_DEFINITIONS ${FORCE_MSVC_CPLUSPLUS_MACRO}) set(HAVE_CXX${STANDARD}_TEST_RESULT "${COMPILE_RESULT}" CACHE INTERNAL "Caches the configuration test result for C++${STANDARD} support.") if(COMPILE_RESULT) @@ -1512,40 +1242,38 @@ function(DCMTK_CHECK_CXX_STANDARD STANDARD) set("ENABLE_CXX${STANDARD}" "${RESULT}" PARENT_SCOPE) endfunction() -function(DCMTK_TEST_ENABLE_CXX11) + +# Loop through all C++ standard versions (11, 14, ...) up to requested CMAKE_CXX_STANDARD +# whether the features of that version are actually available. +# If yes, then various HAVE_CXX${STANDARD} variables are set to 1 for that version and +# all versions below. osconfig.h will then contain C++ defines (with the same names) +# used by DCMTK to enable/disable C++ version-related language features. +function(DCMTK_TEST_LATEST_CXX_STANDARD) get_property(MODERN_CXX_STANDARDS GLOBAL PROPERTY DCMTK_MODERN_CXX_STANDARDS) - # loop through all standard versions (11, 14, ...) and reset - # ENABLE_CXX_... for this standard to 0 for the moment + # Define/reset all HAVE_CXX${STANDARD} to 0 foreach(STANDARD ${MODERN_CXX_STANDARDS}) set(ENABLE_CXX${STANDARD} 0) endforeach() - # DCMTK_CMAKE_HAS_CXX_STANDARD is true for CMake versions >= 3.1.3 - get_property(DCMTK_CMAKE_HAS_CXX_STANDARD GLOBAL PROPERTY DCMTK_CMAKE_HAS_CXX_STANDARD) - if(DCMTK_CMAKE_HAS_CXX_STANDARD) - get_property(MODERN_CXX_STANDARD GLOBAL PROPERTY DCMTK_MODERN_CXX_STANDARD) - if(MODERN_CXX_STANDARD AND DCMTK_ENABLE_CXX11) - dcmtk_upper_bound(MODERN_CXX_STANDARDS "${CMAKE_CXX_STANDARD}" N) - math(EXPR N "${N}-1") - foreach(I RANGE ${N}) - list(GET MODERN_CXX_STANDARDS ${I} STANDARD) - dcmtk_check_cxx_standard("${STANDARD}") - if(NOT ENABLE_CXX${STANDARD}) - break() - endif() - endforeach() - endif() - elseif(DCMTK_ENABLE_CXX11 AND NOT DCMTK_ENABLE_CXX11 STREQUAL "INFERRED") - # set C++11 compiler flags for the test, will automatically be removed by the function scope - string(FIND "${CMAKE_CXX_FLAGS}" "${DCMTK_CXX11_FLAGS}" INDEX) - if(INDEX EQUAL -1) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DCMTK_CXX11_FLAGS}" PARENT_SCOPE) - endif() - dcmtk_check_cxx_standard(11) - if(ENABLE_CXX11) - # push C++11 CXX-flags to the parent scope - set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} PARENT_SCOPE) - endif() + # Get list of modern C++ standards (>= 11) created in dcmtkPrepare.cmake + get_property(MODERN_CXX_STANDARD GLOBAL PROPERTY DCMTK_MODERN_CXX_STANDARD) + # If we want to use C++11 or later, check if the compiler supports it + if(MODERN_CXX_STANDARD) + # Highest C++ standard version to tbe checked (all versions betwen C++11 and highest in MODERN_CXX_STANDARDS) + dcmtk_upper_bound(MODERN_CXX_STANDARDS "${CMAKE_CXX_STANDARD}" N) + math(EXPR N "${N}-1") + # Loop over C++ standards (11, 14, ...) up to highest to be checked + foreach(I RANGE ${N}) + list(GET MODERN_CXX_STANDARDS ${I} STANDARD) + # Check whether given C++ standard is supported by the compiler + dcmtk_check_cxx_standard("${STANDARD}") + # If not, we are done (reached the highest supported C++ standard) + if(NOT ENABLE_CXX${STANDARD}) + break() + endif() + endforeach() endif() + + # Print message for each C++ standard version >11 whether it's supported or not foreach(STANDARD ${MODERN_CXX_STANDARDS}) set(HAVE_CXX${STANDARD} "${ENABLE_CXX${STANDARD}}" CACHE INTERNAL "Set to 1 if the compiler supports C++${STANDARD} and it should be enabled.") if(HAVE_CXX${STANDARD}) @@ -1553,54 +1281,47 @@ function(DCMTK_TEST_ENABLE_CXX11) else() message(STATUS "Info: C++${STANDARD} features disabled") endif() + endforeach() endfunction() -function(DCMTK_TEST_ENABLE_STL_FEATURE NAME) +function(DCMTK_ENABLE_STL98_FEATURE NAME) string(TOUPPER "${NAME}" FEATURE) - if(ARGN) - set(SOURCEFILE "${ARGN}") - else() - set(SOURCEFILE "${NAME}") - endif() if(DCMTK_ENABLE_STL_${FEATURE} STREQUAL "INFERRED") set(DCMTK_ENABLE_STL_${FEATURE} ${DCMTK_ENABLE_STL}) endif() - set(RESULT 0) - set(TEXT_RESULT "disabled") if(DCMTK_ENABLE_STL_${FEATURE}) - if(DEFINED HAVE_STL_${FEATURE}_TEST_RESULT) - if(HAVE_STL_${FEATURE}_TEST_RESULT) - set(RESULT 1) - set(TEXT_RESULT "enabled") - endif() - else() - set(MESSAGE "Checking whether STL ${NAME} works correctly") - message(STATUS "${MESSAGE}") - if(NOT DEFINED DCMTK_NO_TRY_RUN) - DCMTK_TRY_RUN(RUN_RESULT COMPILE_RESULT "${CMAKE_BINARY_DIR}" "${DCMTK_SOURCE_DIR}/config/tests/${SOURCEFILE}.cc") - if(COMPILE_RESULT AND RUN_RESULT EQUAL 0) - set(RESULT 1) - set(TEXT_RESULT "enabled") - message(STATUS "${MESSAGE} -- yes") - else() - message(STATUS "${MESSAGE} -- no") - endif() - set(HAVE_STL_${FEATURE}_TEST_RESULT ${RESULT} CACHE INTERNAL "Caches the configuration test result for STL ${NAME}") - else() - message(FATAL_ERROR "When using DCMTK_NO_TRY_RUN and STL set HAVE_STL_${FEATURE}_TEST_RESULT") - endif() - endif() + set(RESULT 1) + set(TEXT_RESULT "enabled") + else() + set(RESULT 0) + set(TEXT_RESULT "disabled") endif() set(HAVE_STL_${FEATURE} ${RESULT} CACHE INTERNAL "Set to 1 if the compiler/OS provides a working STL ${NAME} implementation.") message(STATUS "Info: STL ${NAME} support ${TEXT_RESULT}") endfunction() +function(DCMTK_ENABLE_STL11_FEATURE NAME) + string(TOUPPER "${NAME}" FEATURE) + string(TOUPPER "HAVE_${NAME}" HEADER_PRESENT) + if(DCMTK_ENABLE_STL_${FEATURE} STREQUAL "INFERRED") + set(DCMTK_ENABLE_STL_${FEATURE} ${DCMTK_ENABLE_STL}) + endif() + if((DCMTK_ENABLE_STL_${FEATURE}) AND ${HEADER_PRESENT}) + set(RESULT 1) + set(TEXT_RESULT "enabled") + else() + set(RESULT 0) + set(TEXT_RESULT "disabled") + endif() + set(HAVE_STL_${FEATURE} ${RESULT} CACHE INTERNAL "Set to 1 if the compiler/OS provides a working STL ${NAME} implementation.") + message(STATUS "Info: STL ${NAME} support ${TEXT_RESULT}") +endfunction() - -# Visual Studio >= 2017 supports C++11 and later, but does not set -# the __cplusplus macro with the supported C++ standard version. -# /Zc:__cplusplus will enforce setting this macro in Visual Studio. +# This variable is used to force VS 2017 and above to explicitly +# state the C++ standard version used in the __cplusplus macro +# during compilation. This macro is checked when features from C++11 +# and about to be enabled. # VS Versions < 2017 do not support this switch. # See also https://learn.microsoft.com/de-de/cpp/build/reference/zc-cplusplus set(FORCE_MSVC_CPLUSPLUS_MACRO "") @@ -1609,22 +1330,24 @@ if(MSVC) set (FORCE_MSVC_CPLUSPLUS_MACRO "/Zc:__cplusplus") endif() endif() -# Check which modern C++ standards should be enabled -DCMTK_TEST_ENABLE_CXX11() -DCMTK_TEST_ENABLE_STL_FEATURE("vector") -DCMTK_TEST_ENABLE_STL_FEATURE("algorithm" "algo") -DCMTK_TEST_ENABLE_STL_FEATURE("limits") -DCMTK_TEST_ENABLE_STL_FEATURE("list") -DCMTK_TEST_ENABLE_STL_FEATURE("map") -DCMTK_TEST_ENABLE_STL_FEATURE("memory") -DCMTK_TEST_ENABLE_STL_FEATURE("stack") -DCMTK_TEST_ENABLE_STL_FEATURE("string") -DCMTK_TEST_ENABLE_STL_FEATURE("type_traits" "ttraits") -DCMTK_TEST_ENABLE_STL_FEATURE("tuple") -DCMTK_TEST_ENABLE_STL_FEATURE("system_error" "syserr") + +# Check which modern C++ standards can be enabled +DCMTK_TEST_LATEST_CXX_STANDARD() +DCMTK_ENABLE_STL98_FEATURE("algorithm") +DCMTK_ENABLE_STL98_FEATURE("list") +DCMTK_ENABLE_STL98_FEATURE("map") +DCMTK_ENABLE_STL98_FEATURE("memory") +DCMTK_ENABLE_STL98_FEATURE("stack") +DCMTK_ENABLE_STL98_FEATURE("string") +DCMTK_ENABLE_STL98_FEATURE("vector") + +DCMTK_ENABLE_STL11_FEATURE("type_traits") +DCMTK_ENABLE_STL11_FEATURE("tuple") +DCMTK_ENABLE_STL11_FEATURE("system_error") +DCMTK_ENABLE_STL11_FEATURE("atomic") + # if at least one modern C++ standard should be supported, -# add FORCE_MSVC_CPLUSPLUS_MACRO for MSVC to enforce setting -# of __cplusplus macro +# enforce setting of __cplusplus macro in VS 2017 and above if(MSVC) get_property(MODERN_CXX_STANDARDS GLOBAL PROPERTY DCMTK_MODERN_CXX_STANDARDS) foreach(STANDARD ${MODERN_CXX_STANDARDS}) diff --git a/CMake/dcmtkMacros.cmake b/CMake/dcmtkMacros.cmake index 7c3ef33e..bd354693 100644 --- a/CMake/dcmtkMacros.cmake +++ b/CMake/dcmtkMacros.cmake @@ -54,6 +54,10 @@ macro(DCMTK_ADD_EXECUTABLE PROGRAM) set_target_properties(${PROGRAM} PROPERTIES LINK_FLAGS ${WIN32_STD_OBJECTS}) endif() + if(CMAKE_DEBUG_POSTFIX AND USE_DEBUG_POSTFIX_FOR_EXEC) + set_property(TARGET ${PROGRAM} APPEND PROPERTY DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}") + endif() + # Collect executable as part of global DCMTK_EXECUTABLE_TARGETS property set_property(GLOBAL APPEND PROPERTY DCMTK_EXECUTABLE_TARGETS ${PROGRAM}) @@ -65,6 +69,21 @@ macro(DCMTK_ADD_EXECUTABLE PROGRAM) endif() endmacro() +macro(DCMTK_ADD_TEST_EXECUTABLE PROGRAM) + if(BUILD_APPS) + add_executable(${PROGRAM} ${ARGN}) + + # Make wildcard arguments work + if(WIN32 AND NOT MINGW) + set_target_properties(${PROGRAM} PROPERTIES LINK_FLAGS ${WIN32_STD_OBJECTS}) + endif() + + # Collect executable as part of global DCMTK_EXECUTABLE_TARGETS property + set_property(GLOBAL APPEND PROPERTY DCMTK_EXECUTABLE_TARGETS ${PROGRAM}) + + endif() +endmacro() + # # Setup a library # @@ -184,39 +203,20 @@ function(DCMTK_CREATE_INSTALL_EXPORTS) # Only create fully-fledged CMake export files if we have the related commands include("${DCMTK_MACROS_DIR}/CheckCMakeCommandExists.cmake") include(CMakePackageConfigHelpers OPTIONAL) - CHECK_CMAKE_COMMAND_EXISTS("CONFIGURE_PACKAGE_CONFIG_FILE") - CHECK_CMAKE_COMMAND_EXISTS("WRITE_BASIC_PACKAGE_VERSION_FILE") - - if(HAVE_CONFIGURE_PACKAGE_CONFIG_FILE AND HAVE_WRITE_BASIC_PACKAGE_VERSION_FILE) - # Create and configure CMake export files - include("${DCMTK_MACROS_DIR}/GenerateCMakeExports.cmake") + # Create and configure CMake export files + include("${DCMTK_MACROS_DIR}/GenerateCMakeExports.cmake") - # ${DCMTK_INSTALL_CONFIG} and ${DCMTK_CONFIG_VERSION} are - # defined within CMake/GenerateCMakeExports.cmake. - # Install DCMTKTargets.cmake to install tree - install(EXPORT DCMTKTargets FILE DCMTKTargets.cmake NAMESPACE DCMTK:: - DESTINATION "${DCMTK_INSTALL_CMKDIR}" COMPONENT cmake) + # ${DCMTK_INSTALL_CONFIG} and ${DCMTK_CONFIG_VERSION} are + # defined within CMake/GenerateCMakeExports.cmake. + # Install DCMTKTargets.cmake to install tree + install(EXPORT DCMTKTargets FILE DCMTKTargets.cmake NAMESPACE DCMTK:: + DESTINATION "${DCMTK_INSTALL_CMKDIR}" COMPONENT cmake) - # Install DCMTKConfig.cmake and DCMTKConfigVersion.cmake - install(FILES "${DCMTK_INSTALL_CONFIG}" "${DCMTK_CONFIG_VERSION}" - DESTINATION "${DCMTK_INSTALL_CMKDIR}" COMPONENT cmake) + # Install DCMTKConfig.cmake and DCMTKConfigVersion.cmake + install(FILES "${DCMTK_INSTALL_CONFIG}" "${DCMTK_CONFIG_VERSION}" + DESTINATION "${DCMTK_INSTALL_CMKDIR}" COMPONENT cmake) - else() - - # Warning that we use old "configure_file" command - message(STATUS "Warning: Using old configure_file() mechanism to produce DCMTKConfig.cmake") - - # Actually configure file - configure_file("${DCMTK_MACROS_DIR}/DCMTKConfig.old_cmake.in" - "${DCMTK_BINARY_DIR}/DCMTKConfig.cmake" @ONLY) - - # Install DCMTKConfig.cmake and DCMTKConfigVersion.cmake - install(FILES "${DCMTK_BINARY_DIR}/DCMTKConfig.cmake" "${DCMTK_BINARY_DIR}/DCMTKConfigVersion.cmake" - DESTINATION "${DCMTK_INSTALL_CMKDIR}" - COMPONENT cmake) - - endif() endfunction() set(DCMTK_MACROS_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE INTERNAL "") diff --git a/CMake/dcmtkPrepare.cmake b/CMake/dcmtkPrepare.cmake index 6d43c19a..cfcfa443 100644 --- a/CMake/dcmtkPrepare.cmake +++ b/CMake/dcmtkPrepare.cmake @@ -27,20 +27,35 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") endif() +# Expose CMAKE_DEBUG_POSTFIX to the user and extend it for DLLs and executables. +# +# If the user wants to use a different postfix for debug build artifacts, he can +# set this variable (e.g. to "_d"). This will append _d to all libraries built +# with the exception of Windows DLLS. If the latter should also have the debug +# the USE_DEBUG_POSTFIX_FOR_DLLS option must be enabled. +# To append the debug postfix to executables (except test programs), the +# USE_DEBUG_POSTFIX_FOR_EXEC option can be used. +set(CMAKE_DEBUG_POSTFIX "" CACHE STRING "Library postfix for debug builds (default: none).") +# If enabled, the debug postfix will be used for Windows DLLs as well. +option(USE_DEBUG_POSTFIX_FOR_DLLS "Use CMAKE_DEBUG_POSTFIX also for DLLs on Windows." OFF) +# If enabled, the debug postfix will be used for executables (except for test programs). +option(USE_DEBUG_POSTFIX_FOR_EXEC "Use CMAKE_DEBUG_POSTFIX also for executables." OFF) +# Check whether the user enabled one of the USE_DEBUG_POSTFIX options but did not set CMAKE_DEBUG_POSTFIX. +if((USE_DEBUG_POSTFIX_FOR_DLLS OR USE_DEBUG_POSTFIX_FOR_EXEC) AND NOT CMAKE_DEBUG_POSTFIX) + message(FATAL_ERROR "USE_DEBUG_POSTFIX_FOR_DLLS or USE_DEBUG_POSTFIX_FOR_EXEC is enabled, but CMAKE_DEBUG_POSTFIX does not have a value.") +endif() # Basic version information -# (Starting with version 3.5.5, an odd number at the last position indicates -# a development snapshot and an even number indicates an official release.) set(DCMTK_MAJOR_VERSION 3) set(DCMTK_MINOR_VERSION 6) -set(DCMTK_BUILD_VERSION 8) +set(DCMTK_BUILD_VERSION 9) # The ABI is not guaranteed to be stable between different snapshots/releases, # so this particular version number is increased for each snapshot or release. -set(DCMTK_ABI_VERSION 18) +set(DCMTK_ABI_VERSION 19) # Package "release" settings (some are currently unused and, therefore, disabled) set(DCMTK_PACKAGE_NAME "dcmtk") -set(DCMTK_PACKAGE_DATE "2023-12-19") +set(DCMTK_PACKAGE_DATE "2024-12-11") set(DCMTK_PACKAGE_VERSION "${DCMTK_MAJOR_VERSION}.${DCMTK_MINOR_VERSION}.${DCMTK_BUILD_VERSION}") set(DCMTK_PACKAGE_VERSION_NUMBER ${DCMTK_MAJOR_VERSION}${DCMTK_MINOR_VERSION}${DCMTK_BUILD_VERSION}) set(DCMTK_PACKAGE_VERSION_SUFFIX "") @@ -52,7 +67,11 @@ set(DCMTK_PACKAGE_VERSION_SUFFIX "") option(DCMTK_LINK_STATIC "Statically link all libraries and tools with the runtime and third party libraries." OFF) # Modify linker flags and libraries for static builds if enabled by the user if(DCMTK_LINK_STATIC) - set(CMAKE_EXE_LINKER_FLAGS "-static") + if (NOT APPLE) + # MacOS does not support static libraries. DCMTK_LINK_STATIC is still useful on + # macOS though, since it will create binaries that only depend on macOS's libc. + set(CMAKE_EXE_LINKER_FLAGS "-static") + endif() set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") # remove "-Wl,-Bdynamic" list(REMOVE_ITEM CMAKE_EXE_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic") @@ -70,6 +89,10 @@ else() set(DCMTK_LIBRARY_PROPERTIES VERSION "${DCMTK_ABI_VERSION}.${DCMTK_PACKAGE_VERSION}" SOVERSION "${DCMTK_ABI_VERSION}") endif() +if(CMAKE_DEBUG_POSTFIX AND USE_DEBUG_POSTFIX_FOR_DLLS) + list(APPEND DCMTK_LIBRARY_PROPERTIES DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}") +endif() + option(DCMTK_PORTABLE_LINUX_BINARIES "Create ELF binaries while statically linking all third party libraries and libstdc++." OFF) if(DCMTK_PORTABLE_LINUX_BINARIES) if (DCMTK_LINK_STATIC) @@ -106,12 +129,9 @@ endfunction() # would probably be to compile all third-party libraries ourself. if(DCMTK_LINK_STATIC OR DCMTK_PORTABLE_LINUX_BINARIES) get_static_library("STATIC_DL" "libdl.a") - set(ICU_EXTRA_LIBS_STATIC "${STATIC_DL}") get_static_library("STATIC_LZMA" "liblzma.a") get_static_library("STATIC_ZLIB" "libz.a") - get_static_library("STATIC_ICUUC" "libicuuc.a") - get_static_library("STATIC_ICUDATA" "libicudata.a") - set(LIBXML2_EXTRA_LIBS_STATIC "${STATIC_LZMA}" "${STATIC_ZLIB}" "${STATIC_ICUUC}" "${STATIC_ICUDATA}" "${STATIC_DL}") + set(LIBXML2_EXTRA_LIBS_STATIC "${STATIC_LZMA}" "${STATIC_ZLIB}" "${STATIC_DL}") get_static_library("STATIC_PTHREAD" "libpthread.a") set(OPENJPEG_EXTRA_LIBS_STATIC "${STATIC_PTHREAD}") set(OPENSSL_EXTRA_LIBS_STATIC "${STATIC_DL}") @@ -130,7 +150,6 @@ if(DCMTK_LINK_STATIC OR DCMTK_PORTABLE_LINUX_BINARIES) get_static_library("STATIC_NSL" "libnsl.a") set(WRAP_EXTRA_LIBS_STATIC "${STATIC_NSL}") else() - set(ICU_EXTRA_LIBS_STATIC) set(LIBXML2_EXTRA_LIBS_STATIC) set(OPENJPEG_EXTRA_LIBS_STATIC) set(OPENSSL_EXTRA_LIBS_STATIC) @@ -139,25 +158,11 @@ else() set(WRAP_EXTRA_LIBS_STATIC) endif() -# Gather information about the employed CMake version's behavior -set(DCMTK_CMAKE_HAS_CXX_STANDARD FALSE) - -if(NOT CMAKE_VERSION VERSION_LESS "3.1.3") - set(DCMTK_CMAKE_HAS_CXX_STANDARD TRUE) -endif() - -define_property(GLOBAL PROPERTY DCMTK_CMAKE_HAS_CXX_STANDARD - BRIEF_DOCS "TRUE iff the CXX_STANDARD property exists." - FULL_DOCS "TRUE for CMake versions since 3.1.3 that evaluate the CXX_STANDARD property and CMAKE_CXX_STANDARD variable." -) -set_property(GLOBAL PROPERTY DCMTK_CMAKE_HAS_CXX_STANDARD ${DCMTK_CMAKE_HAS_CXX_STANDARD}) - # General build options and settings option(BUILD_APPS "Build command line applications and test programs." ON) option(BUILD_SHARED_LIBS "Build with shared libraries." OFF) option(BUILD_SINGLE_SHARED_LIBRARY "Build a single DCMTK library." OFF) mark_as_advanced(BUILD_SINGLE_SHARED_LIBRARY) -set(CMAKE_DEBUG_POSTFIX "" CACHE STRING "Library postfix for debug builds. Usually left blank.") set(DCMTK_TLS_LIBRARY_POSTFIX "" CACHE STRING "Postfix for libraries that change their ABI when using OpenSSL.") # add our CMake modules to the module path, but prefer the ones from CMake. list(APPEND CMAKE_MODULE_PATH "${CMAKE_ROOT}/Modules" "${CMAKE_CURRENT_SOURCE_DIR}/${DCMTK_CMAKE_INCLUDE}/CMake/") @@ -174,7 +179,6 @@ option(DCMTK_WITH_ZLIB "Configure DCMTK with support for ZLIB." ON) option(DCMTK_WITH_OPENSSL "Configure DCMTK with support for OPENSSL." ON) option(DCMTK_WITH_SNDFILE "Configure DCMTK with support for SNDFILE." ON) option(DCMTK_WITH_ICONV "Configure DCMTK with support for ICONV." ON) -option(DCMTK_WITH_ICU "Configure DCMTK with support for ICU." ON) if(NOT WIN32) option(DCMTK_WITH_WRAP "Configure DCMTK with support for WRAP." ON) endif() @@ -196,7 +200,6 @@ endmacro() DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_VECTOR "Enable use of STL vector.") DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_ALGORITHM "Enable use of STL algorithm.") -DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_LIMITS "Enable use of STL limit.") DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_LIST "Enable use of STL list.") DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_MAP "Enable use of STL map.") DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_MEMORY "Enable use of STL memory.") @@ -205,7 +208,7 @@ DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_STRING "Enable use of STL string.") DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_TYPE_TRAITS "Enable use of STL type traits.") DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_TUPLE "Enable use of STL tuple.") DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_SYSTEM_ERROR "Enable use of STL system_error.") -DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_CXX11 "Enable use of native C++11 features (eg. move semantics).") +DCMTK_INFERABLE_OPTION(DCMTK_ENABLE_STL_ATOMIC "Enable use of STL atomic.") # On Windows, the built-in dictionary is default, on Unix the external one. # It is not possible to use both, built-in plus external default dictionary. @@ -248,7 +251,7 @@ mark_as_advanced(CMAKE_DEBUG_POSTFIX) mark_as_advanced(FORCE EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH) mark_as_advanced(SNDFILE_DIR DCMTK_WITH_SNDFILE) # not yet needed in public DCMTK mark_as_advanced(DCMTK_GENERATE_DOXYGEN_TAGFILE) -mark_as_advanced(DCMTK_WITH_OPENJPEG) # only needed by DCMJP2K module +mark_as_advanced(OpenJPEG_DIR DCMTK_WITH_OPENJPEG) # only needed by DCMJP2K module mark_as_advanced(DCMTK_TLS_LIBRARY_POSTFIX) if(NOT WIN32) @@ -493,8 +496,8 @@ if(WIN32) # special handling for Windows systems else() # ... for non-Windows systems - # Compiler flags for Mac OS X - if(CMAKE_SYSTEM_NAME MATCHES "Darwin") + # Compiler flags for macOS and iOS + if(CMAKE_SYSTEM_NAME MATCHES "Darwin" OR CMAKE_SYSTEM_NAME MATCHES "iOS") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE") # Compiler flags for NetBSD @@ -548,47 +551,36 @@ endif() set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") -# handle CMAKE_CXX_STANDARD and related variables -if(DCMTK_CMAKE_HAS_CXX_STANDARD) - if(NOT DEFINED CMAKE_CXX_STANDARD) - if(DCMTK_ENABLE_CXX11 AND NOT DCMTK_ENABLE_CXX11 STREQUAL "INFERRED") - set(CMAKE_CXX_STANDARD 11) - endif() - endif() - if(NOT DEFINED CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD MATCHES "^9[0-9]?$") - set(DCMTK_MODERN_CXX_STANDARD FALSE) - else() - set(DCMTK_MODERN_CXX_STANDARD TRUE) - endif() - define_property(GLOBAL PROPERTY DCMTK_MODERN_CXX_STANDARD - BRIEF_DOCS "TRUE when compiling C++11 (or newer) code." - FULL_DOCS "TRUE when the compiler does support and is configured for C++11 or a later C++ standard." - ) - set_property(GLOBAL PROPERTY DCMTK_MODERN_CXX_STANDARD ${DCMTK_MODERN_CXX_STANDARD}) - if(DEFINED DCMTK_CXX11_FLAGS) - message(WARNING "Legacy variable DCMTK_CXX11_FLAGS will be ignored since CMake now sets the flags based on the CMAKE_CXX_STANDARD variable automatically.") - endif() -elseif(NOT DEFINED DCMTK_CXX11_FLAGS) - # determine which flags are required to enable C++11 features (if any) - if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") - set(DCMTK_CXX11_FLAGS "-std=c++11") - elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - if(CMAKE_HOST_WIN32) - set(DCMTK_CXX11_FLAGS "/Qstd=c++11") - else() - set(DCMTK_CXX11_FLAGS "-std=c++11") - endif() - else() - set(DCMTK_CXX11_FLAGS "") - endif() - set(DCMTK_CXX11_FLAGS "${DCMTK_CXX11_FLAGS}" CACHE STRING "The flags to add to CMAKE_CXX_FLAGS for enabling C++11 (if any).") - mark_as_advanced(DCMTK_CXX11_FLAGS) +# If desired C++ standard is at least C++11, set DCMTK_MODERN_CXX_STANDARD to true +# and remember it in global property DCMTK_MODERN_CXX_STANDARD. +# This is later evaluated in GenerateDCMTKConfigure.cmake in order to check +# whether the compiler actually supports the required C++ standards up to the +# version specified in CMAKE_CXX_STANDARD. Finally, the highest C++ version +# (<= CMAKE_CXX_STANDARD) will be selected that the compiler actually supports. +if (NOT DEFINED CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 11) + set(DCMTK_MODERN_CXX_STANDARD TRUE) +elseif(CMAKE_CXX_STANDARD MATCHES "^9[0-9]?$") + set(DCMTK_MODERN_CXX_STANDARD FALSE) + message(WARNING "DCMTK will require C++11 or later in the future.") +elseif(CMAKE_CXX_STANDARD GREATER 20) + MESSAGE(WARNING "DCMTK is only known to compile for C++ versions <= 20 (C++${CMAKE_CXX_STANDARD} requested).") + set(DCMTK_MODERN_CXX_STANDARD TRUE) +else() # CMAKE_CXX_STANDARD is 11, 14, 17 or 20 + set(DCMTK_MODERN_CXX_STANDARD TRUE) endif() +define_property(GLOBAL PROPERTY DCMTK_MODERN_CXX_STANDARD + BRIEF_DOCS "TRUE when compiling C++11 (or newer) code." + FULL_DOCS "TRUE when the compiler does support and is configured for C++11 or a later C++ standard." +) +# Remember globally that we use at least C++11 +set_property(GLOBAL PROPERTY DCMTK_MODERN_CXX_STANDARD ${DCMTK_MODERN_CXX_STANDARD}) +# Build global list of all modern C++ standard versions supported so far define_property(GLOBAL PROPERTY DCMTK_MODERN_CXX_STANDARDS BRIEF_DOCS "Modern C++ standards DCMTK knows about." FULL_DOCS "The list of C++ standards since C++11 that DCMTK currently has configuration tests for. " ) -set_property(GLOBAL PROPERTY DCMTK_MODERN_CXX_STANDARDS 11 14 17) +set_property(GLOBAL PROPERTY DCMTK_MODERN_CXX_STANDARDS 11 14 17 20) #----------------------------------------------------------------------------- # Enable various warnings by default @@ -689,58 +681,22 @@ if(DCMTK_WITH_OPENSSL) CHECK_INCLUDE_FILE_CXX("openssl/provider.h" HAVE_OPENSSL_PROVIDER_H) # test presence of functions, constants and macros needed for the dcmtls module - CHECK_FUNCTIONWITHHEADER_EXISTS("DH_bits" "openssl/dh.h" HAVE_OPENSSL_PROTOTYPE_DH_BITS) - CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_RSA_PSS" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS) - CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_base_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID) CHECK_FUNCTIONWITHHEADER_EXISTS("NID_dsa_with_SHA512" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512) CHECK_FUNCTIONWITHHEADER_EXISTS("NID_ecdsa_with_SHA3_256" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_ECDSA_WITH_SHA3_256) CHECK_FUNCTIONWITHHEADER_EXISTS("NID_sha512_256WithRSAEncryption" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION) CHECK_FUNCTIONWITHHEADER_EXISTS("RAND_egd" "openssl/rand.h" HAVE_OPENSSL_PROTOTYPE_RAND_EGD) - CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get0_param" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM) - CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get_cert_store" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE) - CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get_ciphers" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS) CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set0_tmp_dh_pkey" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY) - CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set1_curves(0,0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES) - CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set1_sigalgs" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS) - CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_ecdh_auto(0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO) - CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_max_proto_version(0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION) - CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_security_level" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL) - CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_ASYNC" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC) - CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_ASYNC_JOB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB) - CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_CLIENT_HELLO_CB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB) - CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_3_RFC_AES_128_CCM_8_SHA256" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256) - CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_3_RFC_AES_256_GCM_SHA384" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384) - CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_3_RFC_CHACHA20_POLY1305_SHA256" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256) + CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set1_sigalgs(0,0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS) CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8) CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384) - CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305) - CHECK_FUNCTIONWITHHEADER_EXISTS("TLS_method" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS_METHOD) - CHECK_FUNCTIONWITHHEADER_EXISTS("X509_STORE_CTX_get0_cert" "openssl/x509_vfy.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT) - CHECK_FUNCTIONWITHHEADER_EXISTS("X509_STORE_get0_param" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM) - CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get_signature_nid" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID) + CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set0_store(0,0)" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET0_STORE) # test presence of functions, constants and macros needed for the dcmsign module - CHECK_FUNCTIONWITHHEADER_EXISTS("ASN1_STRING_get0_data" "openssl/asn1.h" HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA) - CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_get0_EC_KEY" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY) CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_get_group_name" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME) - CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID) CHECK_FUNCTIONWITHHEADER_EXISTS("OSSL_PROVIDER_load" "openssl/provider.h" HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD) - CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_failure_info" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO) - CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_status" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS) - CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_text" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT) - CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTS_set_certs(0,0)" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS) - CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_data" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA) - CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_flags" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS) - CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_store" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE) - CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get0_notAfter" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER) - CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get0_notBefore" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE) - # check if type EVP_MD_CTX is defined as typedef for "struct evp_md_ctx_st" (new) or "struct env_md_ctx_st" (old) CHECK_FUNCTIONWITHHEADER_EXISTS("struct evp_md_ctx_st *a; EVP_MD_CTX *b=a" "openssl/evp.h" HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX) - # check if the first parameter passed to X509_ALGOR_get0() should be "const ASN1_OBJECT **" (new) or "ASN1_OBJECT **" (old) - CHECK_FUNCTIONWITHHEADER_EXISTS("const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0)" "openssl/x509.h" HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM) - # restore previous value of CMAKE_REQUIRED_LIBRARIES set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_TEMP}) endif() diff --git a/CMake/dcmtkTryRun.cmake b/CMake/dcmtkTryRun.cmake index 9c68ff07..57867282 100644 --- a/CMake/dcmtkTryRun.cmake +++ b/CMake/dcmtkTryRun.cmake @@ -72,7 +72,7 @@ function(DCMTK_TRY_RUN_CROSS RUN_RESULT_VAR COMPILE_RESULT_VAR bindir srcfile) endfunction() macro(DCMTK_TRY_RUN) - if(CMAKE_CROSSCOMPILING) + if(CMAKE_CROSSCOMPILING AND NOT CMAKE_CROSSCOMPILING_EMULATOR) DCMTK_TRY_RUN_CROSS(${ARGN}) else() try_run(${ARGN}) diff --git a/CMake/osconfig.h.in b/CMake/osconfig.h.in index e964f798..a84aee0c 100644 --- a/CMake/osconfig.h.in +++ b/CMake/osconfig.h.in @@ -40,10 +40,6 @@ /* Define if char is unsigned on the C compiler */ #cmakedefine C_CHAR_UNSIGNED @C_CHAR_UNSIGNED@ -/* Define to the inline keyword supported by the C compiler, if any, or to the - empty string */ -#define C_INLINE __inline - /* Define if >> is unsigned on the C compiler */ /* #undef C_RIGHTSHIFT_UNSIGNED */ @@ -66,9 +62,6 @@ /* Define the environment variable path separator */ #define ENVIRONMENT_PATH_SEPARATOR '@ENVIRONMENT_PATH_SEPARATOR@' -/* Define to 1 if you have the `accept' function. */ -#cmakedefine HAVE_ACCEPT @HAVE_ACCEPT@ - /* Define to 1 if you have the `access' function. */ #cmakedefine HAVE_ACCESS @HAVE_ACCESS@ @@ -78,91 +71,33 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_ARPA_INET_H @HAVE_ARPA_INET_H@ -/* Define to 1 if you have the header file. */ -#define HAVE_ASSERT_H 1 - /* Define to 1 if you have the `bcmp' function. */ #cmakedefine HAVE_BCMP @HAVE_BCMP@ -/* Define to 1 if you have the `bcopy' function. */ -#cmakedefine HAVE_BCOPY @HAVE_BCOPY@ - -/* Define to 1 if you have the `bind' function. */ -#cmakedefine HAVE_BIND @HAVE_BIND@ - -/* Define if your C++ compiler can work with class templates */ -#define HAVE_CLASS_TEMPLATE 1 - -/* Define to 1 if you have the `connect' function. */ -#cmakedefine HAVE_CONNECT @HAVE_CONNECT@ - -/* define if the compiler supports const_cast<> */ -#define HAVE_CONST_CAST 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_CTYPE_H @HAVE_CTYPE_H@ - /* Define to 1 if you have the `cuserid' function. */ #cmakedefine HAVE_CUSERID @HAVE_CUSERID@ /* Define to 1 if you have the `fgetln' function. */ #cmakedefine HAVE_FGETLN @HAVE_FGETLN@ -/* Define if volatile is a known keyword */ -#define HAVE_CXX_VOLATILE 1 - -/* Define if "const" is supported by the C compiler */ -#define HAVE_C_CONST 1 - /* Define if your system has a declaration for fp_except_t in ieeefp.h */ #cmakedefine HAVE_DECLARATION_FP_EXCEPT_T @HAVE_DECLARATION_FP_EXCEPT_T@ -/* Define if your system has a declaration for socklen_t in sys/types.h - sys/socket.h */ -#cmakedefine HAVE_DECLARATION_SOCKLEN_T @HAVE_DECLARATION_SOCKLEN_T@ - -/* Define if your system has a declaration for std::ios_base::openmode in - iostream.h */ -#cmakedefine HAVE_DECLARATION_STD__IOS_BASE__OPENMODE @HAVE_DECLARATION_STD__IOS_BASE__OPENMODE@ - -/* Define if your system has a declaration for struct utimbuf in sys/types.h - utime.h sys/utime.h */ -#define HAVE_DECLARATION_STRUCT_UTIMBUF 1 - /* Define to 1 if you have the header file, and it defines `DIR'.*/ #cmakedefine HAVE_DIRENT_H @HAVE_DIRENT_H@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_ERR_H @HAVE_ERR_H@ -/* Define to 1 if you have the `_doprnt' function. */ -#cmakedefine HAVE_DOPRNT @HAVE_DOPRNT@ - -/* define if the compiler supports dynamic_cast<> */ -#define HAVE_DYNAMIC_CAST 1 - -/* Define if your system cannot pass command line arguments into main() (e.g. Macintosh) */ -/* #undef HAVE_EMPTY_ARGC_ARGV */ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_ERRNO_H @HAVE_ERRNO_H@ - /* Define to 1 if defined ENAMETOOLONG. */ #cmakedefine HAVE_ENAMETOOLONG @HAVE_ENAMETOOLONG@ -/* Define if your C++ compiler supports the explicit template specialization - syntax */ -#define HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION 1 - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_FCNTL_H @HAVE_FCNTL_H@ /* Define to 1 if you have the `finite' function. */ #cmakedefine HAVE_FINITE @HAVE_FINITE@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_FLOAT_H @HAVE_FLOAT_H@ - /* Define to 1 if you have the `flock' function. */ #cmakedefine HAVE_FLOCK @HAVE_FLOCK@ @@ -175,33 +110,15 @@ /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #cmakedefine HAVE_FSEEKO @HAVE_FSEEKO@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_FSTREAM @HAVE_FSTREAM@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_FSTREAM_H @HAVE_FSTREAM_H@ - /* Define to 1 if you have the `ftime' function. */ #cmakedefine HAVE_FTIME @HAVE_FTIME@ -/* Define if your C++ compiler can work with function templates */ -#define HAVE_FUNCTION_TEMPLATE 1 - -/* Define to 1 if you have the `getaddrinfo' function. */ -#cmakedefine HAVE_GETADDRINFO @HAVE_GETADDRINFO@ - -/* Define to 1 if you have the `getenv' function. */ -#cmakedefine HAVE_GETENV @HAVE_GETENV@ - /* Define to 1 if you have the `geteuid' function. */ #cmakedefine HAVE_GETEUID @HAVE_GETEUID@ /* Define to 1 if you have the `getgrnam' function. */ #cmakedefine HAVE_GETGRNAM @HAVE_GETGRNAM@ -/* Define to 1 if you have the `gethostbyname' function. */ -#cmakedefine HAVE_GETHOSTBYNAME @HAVE_GETHOSTBYNAME@ - /* Define to 1 if you have the `gethostbyname_r' function. */ #cmakedefine HAVE_GETHOSTBYNAME_R @HAVE_GETHOSTBYNAME_R@ @@ -217,9 +134,6 @@ /* Define to 1 if you have the `gethostid' function. */ #cmakedefine HAVE_GETHOSTID @HAVE_GETHOSTID@ -/* Define to 1 if you have the `gethostname' function. */ -#cmakedefine HAVE_GETHOSTNAME @HAVE_GETHOSTNAME@ - /* Define to 1 if you have the `getlogin' function. */ #cmakedefine HAVE_GETLOGIN @HAVE_GETLOGIN@ @@ -235,12 +149,6 @@ /* Define to 1 if you have the `getrusage' function. */ #cmakedefine HAVE_GETRUSAGE @HAVE_GETRUSAGE@ -/* Define to 1 if you have the `getsockname' function. */ -#cmakedefine HAVE_GETSOCKNAME @HAVE_GETSOCKNAME@ - -/* Define to 1 if you have the `getsockopt' function. */ -#cmakedefine HAVE_GETSOCKOPT @HAVE_GETSOCKOPT@ - /* Define to 1 if you have the `gettimeofday' function. */ #cmakedefine HAVE_GETTIMEOFDAY @HAVE_GETTIMEOFDAY@ @@ -267,40 +175,9 @@ of size_t * or socklen_t */ #cmakedefine HAVE_INTP_GETSOCKOPT @HAVE_INTP_GETSOCKOPT@ -/* Define if your system declares argument 2-4 of select() as int * instead of - struct fd_set * */ -#cmakedefine HAVE_INTP_SELECT @HAVE_INTP_SELECT@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_INTTYPES_H @HAVE_INTTYPES_H@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_IOMANIP @HAVE_IOMANIP@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_IOMANIP_H @HAVE_IOMANIP_H@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_IOSTREAM @HAVE_IOSTREAM@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_IOSTREAM_H @HAVE_IOSTREAM_H@ - -/* Define if your system defines ios::nocreate in iostream.h */ -/* defined below */ - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_IO_H @HAVE_IO_H@ -/* Define to 1 if you have the `isinf' function. */ -#cmakedefine HAVE_ISINF @HAVE_ISINF@ - -/* Define to 1 if you have the `isnan' function. */ -#cmakedefine HAVE_ISNAN @HAVE_ISNAN@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_ISO646_H @HAVE_ISO646_H@ - /* Define to 1 if you have the `itoa' function. */ #cmakedefine HAVE_ITOA @HAVE_ITOA@ @@ -310,9 +187,6 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_LIBC_H @HAVE_LIBC_H@ -/* Define to 1 if you have the `iostream' library (-liostream). */ -#cmakedefine HAVE_LIBIOSTREAM @HAVE_LIBIOSTREAM@ - /* Define to 1 if you have the `nsl' library (-lnsl). */ #cmakedefine HAVE_LIBNSL @HAVE_LIBNSL@ @@ -322,18 +196,9 @@ /* Define to 1 if you have the `socket' library (-lsocket). */ #cmakedefine HAVE_LIBSOCKET @HAVE_LIBSOCKET@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_LIMITS_H @HAVE_LIMITS_H@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_CLIMITS @HAVE_CLIMITS@ - /* Define to 1 if you have the `listen' function. */ #cmakedefine HAVE_LISTEN @HAVE_LISTEN@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_LOCALE_H @HAVE_LOCALE_H@ - /* Define to 1 if you have the `localtime_r' function. */ #cmakedefine HAVE_LOCALTIME_R @HAVE_LOCALTIME_R@ @@ -343,39 +208,12 @@ /* Define to 1 if you have the `lstat' function. */ #cmakedefine HAVE_LSTAT @HAVE_LSTAT@ -/* Define to 1 if you support file names longer than 14 characters. */ -#define HAVE_LONG_FILE_NAMES 1 - /* Define to 1 if you have the `malloc_debug' function. */ #cmakedefine HAVE_MALLOC_DEBUG @HAVE_MALLOC_DEBUG@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_MALLOC_H @HAVE_MALLOC_H@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_MATH_H @HAVE_MATH_H@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_CMATH @HAVE_CMATH@ - -/* Define to 1 if you have the `mbstowcs' function. */ -#cmakedefine HAVE_MBSTOWCS @HAVE_MBSTOWCS@ - -/* Define to 1 if you have the `memcmp' function. */ -#cmakedefine HAVE_MEMCMP @HAVE_MEMCMP@ - -/* Define to 1 if you have the `memcpy' function. */ -#cmakedefine HAVE_MEMCPY @HAVE_MEMCPY@ - -/* Define to 1 if you have the `memmove' function. */ -#cmakedefine HAVE_MEMMOVE @HAVE_MEMMOVE@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_MEMORY_H @HAVE_MEMORY_H@ - -/* Define to 1 if you have the `memset' function. */ -#cmakedefine HAVE_MEMSET @HAVE_MEMSET@ - /* Define to 1 if you have the `mkstemp' function. */ #cmakedefine HAVE_MKSTEMP @HAVE_MKSTEMP@ @@ -385,9 +223,6 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_MQUEUE_H @HAVE_MQUEUE_H@ -/* Define to 1 if you have the header file, and it defines `DIR'. */ -#cmakedefine HAVE_NDIR_H @HAVE_NDIR_H@ - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_NETDB_H @HAVE_NETDB_H@ @@ -400,56 +235,24 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_NETINET_TCP_H @HAVE_NETINET_TCP_H@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_NEW_H @HAVE_NEW_H@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_FENV_H @HAVE_FENV_H@ - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_SYS_SYSTEMINFO_H @HAVE_SYS_SYSTEMINFO_H@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_ITERATOR_HEADER @HAVE_ITERATOR_HEADER@ - /* Define to 1 if you have readdir_r */ #cmakedefine HAVE_READDIR_R @HAVE_READDIR_R@ -/* Define if your system supports readdir_r with the obsolete Posix 1.c draft - 6 declaration (2 arguments) instead of the Posix 1.c declaration with 3 - arguments. */ -#cmakedefine HAVE_OLD_READDIR_R @HAVE_OLD_READDIR_R@ - /* Define if your system has a prototype for feenableexcept in fenv.h */ #cmakedefine HAVE_PROTOTYPE_FEENABLEEXCEPT @HAVE_PROTOTYPE_FEENABLEEXCEPT@ -/* Define if your system has a prototype for accept in sys/types.h - sys/socket.h */ -#cmakedefine HAVE_PROTOTYPE_ACCEPT @HAVE_PROTOTYPE_ACCEPT@ - -/* Define if your system has a prototype for bind in sys/types.h sys/socket.h */ -#cmakedefine HAVE_PROTOTYPE_BIND @HAVE_PROTOTYPE_BIND@ - -/* Define if your system has a prototype for connect in sys/types.h - sys/socket.h */ -#cmakedefine HAVE_PROTOTYPE_CONNECT @HAVE_PROTOTYPE_CONNECT@ - /* Define if your system has a prototype for finite in math.h */ #cmakedefine HAVE_PROTOTYPE_FINITE @HAVE_PROTOTYPE_FINITE@ /* Define to 1 if your has a prototype for `TryAcquireSRWLockShared' in windows.h (Win32 only). */ #cmakedefine HAVE_PROTOTYPE_TRYACQUIRESRWLOCKSHARED @HAVE_PROTOTYPE_TRYACQUIRESRWLOCKSHARED@ -/* Define if your system has a prototype for std::finite in cmath */ -#cmakedefine HAVE_PROTOTYPE_STD__FINITE @HAVE_PROTOTYPE_STD__FINITE@ - /* Define if your system has a prototype for flock in sys/file.h */ #cmakedefine HAVE_PROTOTYPE_FLOCK @HAVE_PROTOTYPE_FLOCK@ -/* Define if your system has a prototype for gethostbyname in libc.h unistd.h - stdlib.h netdb.h */ -#cmakedefine HAVE_PROTOTYPE_GETHOSTBYNAME @HAVE_PROTOTYPE_GETHOSTBYNAME@ - /* Define if your system has a prototype for gethostbyname_r in libc.h unistd.h stdlib.h netdb.h */ #cmakedefine HAVE_PROTOTYPE_GETHOSTBYNAME_R @HAVE_PROTOTYPE_GETHOSTBYNAME_R@ @@ -462,28 +265,10 @@ stdlib.h netdb.h */ #cmakedefine HAVE_PROTOTYPE_GETHOSTID @HAVE_PROTOTYPE_GETHOSTID@ -/* Define if your system has a prototype for gethostname in unistd.h libc.h - stdlib.h netdb.h */ -#cmakedefine HAVE_PROTOTYPE_GETHOSTNAME @HAVE_PROTOTYPE_GETHOSTNAME@ - -/* Define if your system has a prototype for getsockname in sys/types.h - sys/socket.h */ -#cmakedefine HAVE_PROTOTYPE_GETSOCKNAME @HAVE_PROTOTYPE_GETSOCKNAME@ - -/* Define if your system has a prototype for getsockopt in sys/types.h - sys/socket.h */ -#cmakedefine HAVE_PROTOTYPE_GETSOCKOPT @HAVE_PROTOTYPE_GETSOCKOPT@ - /* Define if your system has a prototype for gettimeofday in sys/time.h unistd.h */ #cmakedefine HAVE_PROTOTYPE_GETTIMEOFDAY @HAVE_PROTOTYPE_GETTIMEOFDAY@ -/* Define if your system has a prototype for isinf in math.h */ -#cmakedefine HAVE_PROTOTYPE_ISINF @HAVE_PROTOTYPE_ISINF@ - -/* Define if your system has a prototype for isnan in math.h */ -#cmakedefine HAVE_PROTOTYPE_ISNAN @HAVE_PROTOTYPE_ISNAN@ - /* Define if your system has a prototype for std::isinf in cmath */ #cmakedefine HAVE_PROTOTYPE_STD__ISINF @HAVE_PROTOTYPE_STD__ISINF@ @@ -493,10 +278,6 @@ /* Define if your system has a prototype for fpclassf in math.h */ #cmakedefine HAVE_PROTOTYPE__FPCLASSF @HAVE_PROTOTYPE__FPCLASSF@ -/* Define if your system has a prototype for listen in sys/types.h - sys/socket.h */ -#cmakedefine HAVE_PROTOTYPE_LISTEN @HAVE_PROTOTYPE_LISTEN@ - /* Define if your system has a prototype for mkstemp in libc.h unistd.h stdlib.h */ #cmakedefine HAVE_PROTOTYPE_MKSTEMP @HAVE_PROTOTYPE_MKSTEMP@ @@ -505,18 +286,6 @@ stdlib.h */ #cmakedefine HAVE_PROTOTYPE_MKTEMP @HAVE_PROTOTYPE_MKTEMP@ -/* Define if your system has a prototype for select in sys/select.h - sys/types.h sys/socket.h sys/time.h */ -#cmakedefine HAVE_PROTOTYPE_SELECT @HAVE_PROTOTYPE_SELECT@ - -/* Define if your system has a prototype for setsockopt in sys/types.h - sys/socket.h */ -#cmakedefine HAVE_PROTOTYPE_SETSOCKOPT @HAVE_PROTOTYPE_SETSOCKOPT@ - -/* Define if your system has a prototype for socket in sys/types.h - sys/socket.h */ -#cmakedefine HAVE_PROTOTYPE_SOCKET @HAVE_PROTOTYPE_SOCKET@ - /* Define if your system has a prototype for std::vfprintf in stdarg.h */ #cmakedefine HAVE_PROTOTYPE_STD__VFPRINTF @HAVE_PROTOTYPE_STD__VFPRINTF@ @@ -543,10 +312,6 @@ stdlib.h */ #cmakedefine HAVE_PROTOTYPE_USLEEP @HAVE_PROTOTYPE_USLEEP@ -/* Define if your system has a prototype for wait3 in libc.h sys/wait.h - sys/time.h sys/resource.h */ -#cmakedefine HAVE_PROTOTYPE_WAIT3 @HAVE_PROTOTYPE_WAIT3@ - /* Define if your system has a prototype for waitpid in sys/wait.h sys/time.h sys/resource.h */ #cmakedefine HAVE_PROTOTYPE_WAITPID @HAVE_PROTOTYPE_WAITPID@ @@ -566,130 +331,45 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_PWD_H @HAVE_PWD_H@ -/* define if the compiler supports reinterpret_cast<> */ -#define HAVE_REINTERPRET_CAST 1 - /* Define to 1 if you have the `rindex' function. */ #cmakedefine HAVE_RINDEX @HAVE_RINDEX@ -/* Define to 1 if you have the `select' function. */ -#cmakedefine HAVE_SELECT @HAVE_SELECT@ - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_SEMAPHORE_H @HAVE_SEMAPHORE_H@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SETJMP_H @HAVE_SETJMP_H@ - -/* Define to 1 if you have the `setsockopt' function. */ -#cmakedefine HAVE_SETSOCKOPT @HAVE_SETSOCKOPT@ - /* Define to 1 if you have the `setuid' function. */ #cmakedefine HAVE_SETUID @HAVE_SETUID@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SIGNAL_H @HAVE_SIGNAL_H@ - /* Define to 1 if you have the `sleep' function. */ #cmakedefine HAVE_SLEEP @HAVE_SLEEP@ -/* Define to 1 if you have the `socket' function. */ -#cmakedefine HAVE_SOCKET @HAVE_SOCKET@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SSTREAM @HAVE_SSTREAM@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SSTREAM_H @HAVE_SSTREAM_H@ - /* Define to 1 if you have the `stat' function. */ #cmakedefine HAVE_STAT @HAVE_STAT@ -/* define if the compiler supports static_cast<> */ -#define HAVE_STATIC_CAST 1 - -/* Define if your C++ compiler can work with static methods in class templates - */ -#define HAVE_STATIC_TEMPLATE_METHOD 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STAT_H @HAVE_STAT_H@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDARG_H @HAVE_STDARG_H@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDBOOL_H @HAVE_STDBOOL_H@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_CSTDARG @HAVE_CSTDARG@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDDEF_H @HAVE_STDDEF_H@ - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_STDINT_H @HAVE_STDINT_H@ +/* Define to 1 if you have the C++11 header file. */ +#cmakedefine HAVE_SYSTEM_ERROR @HAVE_SYSTEM_ERROR@ + /* Define to 1 if you have the header file. */ #cmakedefine HAVE_CSTDINT @HAVE_CSTDINT@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDIO_H @HAVE_STDIO_H@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_CSTDIO @HAVE_CSTDIO@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDLIB_H @HAVE_STDLIB_H@ - -/* Define if ANSI standard C++ includes use std namespace */ -/* defined below */ - -/* Define if the compiler supports std::nothrow */ -/* defined below */ - -/* Define to 1 if you have the `strchr' function. */ -#cmakedefine HAVE_STRCHR @HAVE_STRCHR@ - /* Define to 1 if you have the `strdup' function. */ #cmakedefine HAVE_STRDUP @HAVE_STRDUP@ -/* Define to 1 if you have the `strerror' function. */ -#cmakedefine HAVE_STRERROR @HAVE_STRERROR@ - /* Define to 1 if `strerror_r' returns a char*. */ #cmakedefine HAVE_CHARP_STRERROR_R @HAVE_CHARP_STRERROR_R@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STREAMBUF_H @HAVE_STREAMBUF_H@ - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_STRINGS_H @HAVE_STRINGS_H@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STRING_H @HAVE_STRING_H@ - /* Define to 1 if you have the `strlcat' function. */ #cmakedefine HAVE_STRLCAT @HAVE_STRLCAT@ /* Define to 1 if you have the `strlcpy' function. */ #cmakedefine HAVE_STRLCPY @HAVE_STRLCPY@ -/* Define to 1 if you have the `strstr' function. */ -#cmakedefine HAVE_STRSTR @HAVE_STRSTR@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STRSTREAM @HAVE_STRSTREAM@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STRSTREAM_H @HAVE_STRSTREAM_H@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STRSTREA_H @HAVE_STRSTREA_H@ - -/* Define to 1 if you have the `strtoul' function. */ -#cmakedefine HAVE_STRTOUL @HAVE_STRTOUL@ - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_SYNCH_H @HAVE_SYNCH_H@ @@ -723,9 +403,6 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_SYS_FILE_H @HAVE_SYS_FILE_H@ -/* Define to 1 if you have the header file, and it defines `DIR'.*/ -#cmakedefine HAVE_SYS_NDIR_H @HAVE_SYS_NDIR_H@ - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_SYS_MMAN_H @HAVE_SYS_MMAN_H@ @@ -774,20 +451,14 @@ /* Define to 1 if you have that is POSIX.1 compatible. */ #cmakedefine HAVE_SYS_WAIT_H @HAVE_SYS_WAIT_H@ -/* Define to 1 if you have the `tempnam' function. */ -#cmakedefine HAVE_TEMPNAM @HAVE_TEMPNAM@ - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_THREAD_H @HAVE_THREAD_H@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_TIME_H @HAVE_TIME_H@ - -/* Define to 1 if you have the `tmpnam' function. */ -#cmakedefine HAVE_TMPNAM @HAVE_TMPNAM@ +/* Define to 1 if you have the C++11 header file. */ +#cmakedefine HAVE_TUPLE @HAVE_TUPLE@ -/* define if the compiler recognizes typename */ -#cmakedefine HAVE_TYPENAME @HAVE_TYPENAME@ +/* Define to 1 if you have the C++11 header file. */ +#cmakedefine HAVE_TYPE_TRAITS @HAVE_TYPE_TRAITS@ /* Define to 1 if you have the `uname' function. */ #cmakedefine HAVE_UNAME @HAVE_UNAME@ @@ -804,9 +475,6 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_UTIME_H @HAVE_UTIME_H@ -/* Define to 1 if you have the `vprintf' function. */ -#cmakedefine HAVE_VPRINTF @HAVE_VPRINTF@ - /* Define to 1 if you have the `_vsnprintf_s' function. */ #cmakedefine HAVE__VSNPRINTF_S @HAVE__VSNPRINTF_S@ @@ -819,24 +487,15 @@ /* Define to 1 if you have the `vsprintf_s' function. */ #cmakedefine HAVE_VSPRINTF_S @HAVE_VSPRINTF_S@ -/* Define to 1 if you have the `wait3' function. */ -#cmakedefine HAVE_WAIT3 @HAVE_WAIT3@ - /* Define to 1 if you have the `waitpid' function. */ #cmakedefine HAVE_WAITPID @HAVE_WAITPID@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_WCHAR_H @HAVE_WCHAR_H@ - -/* Define to 1 if you have the `wcstombs' function. */ -#cmakedefine HAVE_WCSTOMBS @HAVE_WCSTOMBS@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_WCTYPE_H @HAVE_WCTYPE_H@ - /* Define to 1 if you have the `_findfirst' function. */ #cmakedefine HAVE__FINDFIRST @HAVE__FINDFIRST@ +/* Define to 1 if you have the `_set_output_format' function. */ +#cmakedefine HAVE__SET_OUTPUT_FORMAT @HAVE__SET_OUTPUT_FORMAT@ + /* Define to 1 if the compiler supports __FUNCTION__. */ #cmakedefine HAVE___FUNCTION___MACRO @HAVE___FUNCTION___MACRO@ @@ -849,12 +508,6 @@ /* Define to 1 if you have the `nanosleep' function. */ #cmakedefine HAVE_NANOSLEEP @HAVE_NANOSLEEP@ -/* Define if libc.h should be treated as a C++ header */ -#cmakedefine INCLUDE_LIBC_H_AS_CXX @INCLUDE_LIBC_H_AS_CXX@ - -/* Define if fails if included extern "C" */ -#cmakedefine INCLUDE_MATH_H_AS_CXX @INCLUDE_MATH_H_AS_CXX@ - /* Define to 1 if you have variable length arrays. */ #cmakedefine HAVE_VLA @HAVE_VLA@ @@ -891,12 +544,6 @@ /* Define path separator */ #define PATH_SEPARATOR '@PATH_SEPARATOR@' -/* Define as the return type of signal handlers (`int' or `void'). */ -#define RETSIGTYPE void - -/* Define if signal handlers need ellipse (...) parameters */ -/* #undef SIGNAL_HANDLER_WITH_ELLIPSE */ - /* LFS mode constants. */ #define DCMTK_LFS 1 #define DCMTK_LFS64 2 @@ -904,9 +551,6 @@ /* Select LFS mode (defined above) that shall be used or don't define it */ #cmakedefine DCMTK_ENABLE_LFS @DCMTK_LFS_MODE@ -/* The size of a `char', as computed by sizeof. */ -#cmakedefine SIZEOF_CHAR @SIZEOF_CHAR@ - /* The size of a `double', as computed by sizeof. */ #cmakedefine SIZEOF_DOUBLE @SIZEOF_DOUBLE@ @@ -931,23 +575,13 @@ /* The size of a `off_t', as computed by sizeof. */ #cmakedefine SIZEOF_OFF_T @SIZEOF_OFF_T@ -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define to 1 if your declares `struct tm'. */ -/* #undef TM_IN_SYS_TIME */ - /* Define if we are compiling with libiconv support. */ #cmakedefine WITH_LIBICONV /* Define if the C standard library has iconv builtin. */ #cmakedefine WITH_STDLIBC_ICONV -/* Define if we are compiling with ICU support. */ -#cmakedefine WITH_ICU - /* character set conversion constants. */ -#define DCMTK_CHARSET_CONVERSION_ICU 1 #define DCMTK_CHARSET_CONVERSION_ICONV 2 #define DCMTK_CHARSET_CONVERSION_STDLIBC_ICONV 3 #define DCMTK_CHARSET_CONVERSION_OFICONV 4 @@ -1004,27 +638,20 @@ /* #undef _ALL_SOURCE */ #endif -/* Define to 1 if type `char' is unsigned and you are not using gcc. */ -#ifndef __CHAR_UNSIGNED__ -/* #undef __CHAR_UNSIGNED__ */ -#endif - /* Define `pid_t' to `int' if does not define. */ #cmakedefine HAVE_NO_TYPEDEF_PID_T #ifdef HAVE_NO_TYPEDEF_PID_T #define pid_t int #endif -/* Define `size_t' to `unsigned' if does not define. */ -#cmakedefine HAVE_NO_TYPEDEF_SIZE_T -#ifdef HAVE_NO_TYPEDEF_SIZE_T -#define size_t unsigned -#endif - /* Define `ssize_t' to `long' if does not define. */ #cmakedefine HAVE_NO_TYPEDEF_SSIZE_T #ifdef HAVE_NO_TYPEDEF_SSIZE_T -#define ssize_t long +#if defined(_WIN64) + typedef __int64 ssize_t; +#else + typedef long ssize_t; +#endif #endif /* Set typedefs as needed for JasPer library */ @@ -1051,10 +678,6 @@ typedef unsigned long ulong; #cmakedefine HAVE_LONG_LONG #cmakedefine HAVE_UNSIGNED_LONG_LONG -/* evaluated by JasPer */ -#cmakedefine HAVE_LONGLONG -#cmakedefine HAVE_ULONGLONG - #cmakedefine HAVE_INT64_T @HAVE_INT64_T@ #cmakedefine HAVE_UINT64_T @HAVE_UINT64_T@ @@ -1107,9 +730,6 @@ typedef unsigned long ulong; #endif /* _MSC_VER >= 1400 */ #endif /* _MSC_VER */ -/* Define if your system defines ios::nocreate in iostream.h */ -#cmakedefine HAVE_IOS_NOCREATE @HAVE_IOS_NOCREATE@ - /* Define if ANSI standard C++ includes use std namespace */ #cmakedefine HAVE_STD_NAMESPACE @HAVE_STD_NAMESPACE@ @@ -1158,9 +778,6 @@ typedef unsigned long ulong; /* Define if your system provides sigjmp_buf as conditional jmp_buf alternative */ #cmakedefine HAVE_SIGJMP_BUF @HAVE_SIGJMP_BUF@ -/* Always define STDIO_NAMESPACE to ::, because MSVC6 gets mad if you don't. */ -#define STDIO_NAMESPACE :: - /* Define if we can use C++11 */ #cmakedefine HAVE_CXX11 @HAVE_CXX11@ @@ -1185,6 +802,14 @@ DCMTK was configured to use C++14 features, but your compiler does not or was no DCMTK was configured to use C++17 features, but your compiler does not or was not configured to provide them. #endif +/* Define if we can use C++20 */ +#cmakedefine HAVE_CXX20 @HAVE_CXX20@ + +#if defined(HAVE_CXX20) && defined(__cplusplus) && __cplusplus < 202002L +#error \ +DCMTK was configured to use C++20 features, but your compiler does not or was not configured to provide them. +#endif + /* Define if the compiler supports __alignof__ */ #cmakedefine HAVE_GNU_ALIGNOF @HAVE_GNU_ALIGNOF@ @@ -1215,9 +840,6 @@ DCMTK was configured to use C++17 features, but your compiler does not or was no /* Define if we are supposed to use STL's algorithms */ #cmakedefine HAVE_STL_ALGORITHM @HAVE_STL_ALGORITHM@ -/* Define if we are supposed to use STL's limit */ -#cmakedefine HAVE_STL_LIMITS @HAVE_STL_LIMITS@ - /* Define if we are supposed to use STL's list */ #cmakedefine HAVE_STL_LIST @HAVE_STL_LIST@ @@ -1242,47 +864,17 @@ DCMTK was configured to use C++17 features, but your compiler does not or was no /* Define if we are supposed to use STL's system_error */ #cmakedefine HAVE_STL_SYSTEM_ERROR @HAVE_STL_SYSTEM_ERROR@ -/* Define if the input iterator category is supported */ -#cmakedefine HAVE_INPUT_ITERATOR_CATEGORY @HAVE_INPUT_ITERATOR_CATEGORY@ - -/* Define if the input iterator category is supported */ -#cmakedefine HAVE_OUTPUT_ITERATOR_CATEGORY @HAVE_OUTPUT_ITERATOR_CATEGORY@ - -/* Define if the input iterator category is supported */ -#cmakedefine HAVE_FORWARD_ITERATOR_CATEGORY @HAVE_FORWARD_ITERATOR_CATEGORY@ - -/* Define if the input iterator category is supported */ -#cmakedefine HAVE_BIDIRECTIONAL_ITERATOR_CATEGORY @HAVE_BIDIRECTIONAL_ITERATOR_CATEGORY@ - -/* Define if the input iterator category is supported */ -#cmakedefine HAVE_RANDOM_ACCESS_ITERATOR_CATEGORY @HAVE_RANDOM_ACCESS_ITERATOR_CATEGORY@ +/* Define if we are supposed to use STL's atomic */ +#cmakedefine HAVE_STL_ATOMIC @HAVE_STL_ATOMIC@ /* Define if the input iterator category is supported */ #cmakedefine HAVE_CONTIGUOUS_ITERATOR_CATEGORY @HAVE_CONTIGUOUS_ITERATOR_CATEGORY@ /* Feature Tests for the OpenSSL Library */ -/* Define if your OpenSSL library provides the SSL_CTX_GET0_PARAM function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM @HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM@ - /* Define if your OpenSSL library provides the RAND_egd function */ #cmakedefine HAVE_OPENSSL_PROTOTYPE_RAND_EGD @HAVE_OPENSSL_PROTOTYPE_RAND_EGD@ -/* Define if we have OpenSSL with the DH_bits() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_DH_BITS @HAVE_OPENSSL_PROTOTYPE_DH_BITS@ - -/* Define if we have OpenSSL with the SSL_ERROR_WANT_ASYNC error code */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC @HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC@ - -/* Define if we have OpenSSL with the SSL_ERROR_WANT_ASYNC_JOB error code */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB @HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB@ - -/* Define if we have OpenSSL with the SSL_ERROR_WANT_CLIENT_HELLO_CB error code */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB @HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB@ - -/* Define if we have OpenSSL with the EVP_PKEY_base_id function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID @HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID@ - /* Define if we have OpenSSL with the HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512 macro */ #cmakedefine HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512 @HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512@ @@ -1292,112 +884,389 @@ DCMTK was configured to use C++17 features, but your compiler does not or was no /* Define if we have OpenSSL with the HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION macro */ #cmakedefine HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION @HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION@ -/* Define if we have OpenSSL with the EVP_PKEY_RSA_PSS macro */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS @HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS@ - -/* Define if we have OpenSSL with the SSL_CTX_get_cert_store() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE @HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE@ - -/* Define if we have OpenSSL with the SSL_CTX_get_ciphers() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS @HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS@ - /* Define if we have OpenSSL with the SSL_CTX_set0_tmp_dh_pkey() function */ #cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY @HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY@ -/* Define if we have OpenSSL with the SSL_CTX_set1_curves() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES @HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES@ - /* Define if we have OpenSSL with the SSL_CTX_set1_sigalgs() function */ #cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS @HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS@ -/* Define if we have OpenSSL with the SSL_CTX_set_ecdh_auto() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO @HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO@ - -/* Define if we have OpenSSL with the SSL_CTX_set_max_proto_version() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION @HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION@ - -/* Define if we have OpenSSL with the SSL_CTX_set_security_level() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL @HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL@ - -/* Define if we have OpenSSL with the TLS1_3_RFC_AES_128_CCM_8_SHA256 macro */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256 @HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256@ - -/* Define if we have OpenSSL with the TLS1_3_RFC_AES_256_GCM_SHA384 macro */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 @HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384@ - -/* Define if we have OpenSSL with the TLS1_3_RFC_CHACHA20_POLY1305_SHA256 macro */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256 @HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256@ - /* Define if we have OpenSSL with the TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 macro */ #cmakedefine HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 @HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8@ /* Define if we have OpenSSL with the TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 macro */ #cmakedefine HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 @HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384@ -/* Define if we have OpenSSL with the TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 macro */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 @HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305@ - -/* Define if we have OpenSSL with the TLS_method() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TLS_METHOD @HAVE_OPENSSL_PROTOTYPE_TLS_METHOD@ - -/* Define if we have OpenSSL with the X509_get_signature_nid() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID @HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID@ - -/* Define if we have OpenSSL with the X509_STORE_CTX_get0_cert() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT @HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT@ - -/* Define if we have OpenSSL with the X509_STORE_get0_param() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM @HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM@ - -/* Define if we have OpenSSL with the ASN1_STRING_get0_data() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA @HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA@ +/* Define if we have OpenSSL with the TS_VERIFY_CTX_set0_store() function */ +#cmakedefine HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET0_STORE @HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET0_STORE@ /* Define if we have OpenSSL with the new typedef of EVP_MD_CTX as struct evp_md_ctx_st */ #cmakedefine HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX @HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX@ -/* Define if we have OpenSSL with the EVP_PKEY_get0_EC_KEY() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY @HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY@ - /* Define if we have OpenSSL with the EVP_PKEY_get_group_name() function */ #cmakedefine HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME @HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME@ -/* Define if we have OpenSSL with the EVP_PKEY_id() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID @HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID@ - /* Define if we have OpenSSL with the OSSL_PROVIDER_load() function */ #cmakedefine HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD @HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD@ /* Define if we have the header file*/ #cmakedefine HAVE_OPENSSL_PROVIDER_H @HAVE_OPENSSL_PROVIDER_H@ -/* Define if we have OpenSSL with the TS_STATUS_INFO_get0_failure_info() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO @HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO@ -/* Define if we have OpenSSL with the TS_STATUS_INFO_get0_status() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS @HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS@ +/* Historical C/C++ language features and APIs that are guaranteed by C++98, + * C89, or POSIX.1-2001 for Posix platforms, and thus not tested anymore. + * These macros are deprecated and will be removed from a future version. + */ + +#if defined(POISON_DEPRECATED_FEATURE_MACROS) && defined(__GNUC__) +#pragma GCC poison HAVE_ASSERT_H +#pragma GCC poison HAVE_BIDIRECTIONAL_ITERATOR_CATEGORY +#pragma GCC poison HAVE_CLASS_TEMPLATE +#pragma GCC poison HAVE_CLIMITS +#pragma GCC poison HAVE_CMATH +#pragma GCC poison HAVE_CONST_CAST +#pragma GCC poison HAVE_CSTDARG +#pragma GCC poison HAVE_CSTDDEF +#pragma GCC poison HAVE_CSTDIO +#pragma GCC poison HAVE_CTYPE_H +#pragma GCC poison HAVE_CXX_VOLATILE +#pragma GCC poison HAVE_C_CONST +#pragma GCC poison HAVE_DECLARATION_STRUCT_UTIMBUF +#pragma GCC poison HAVE_DYNAMIC_CAST +#pragma GCC poison HAVE_ERRNO_H +#pragma GCC poison HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION +#pragma GCC poison HAVE_FENV_H +#pragma GCC poison HAVE_FLOAT_H +#pragma GCC poison HAVE_FORWARD_ITERATOR_CATEGORY +#pragma GCC poison HAVE_FSTREAM +#pragma GCC poison HAVE_FUNCTION_TEMPLATE +#pragma GCC poison HAVE_GETENV +#pragma GCC poison HAVE_INPUT_ITERATOR_CATEGORY +#pragma GCC poison HAVE_INTTYPES_H +#pragma GCC poison HAVE_IOMANIP +#pragma GCC poison HAVE_IOSTREAM +#pragma GCC poison HAVE_ISINF +#pragma GCC poison HAVE_ISNAN +#pragma GCC poison HAVE_ISO646_H +#pragma GCC poison HAVE_ITERATOR_HEADER +#pragma GCC poison HAVE_LIMITS_H +#pragma GCC poison HAVE_LOCALE_H +#pragma GCC poison HAVE_LONG_FILE_NAMES +#pragma GCC poison HAVE_MATH_H +#pragma GCC poison HAVE_MBSTOWCS +#pragma GCC poison HAVE_MEMCMP +#pragma GCC poison HAVE_MEMCPY +#pragma GCC poison HAVE_MEMMOVE +#pragma GCC poison HAVE_MEMSET +#pragma GCC poison HAVE_OUTPUT_ITERATOR_CATEGORY +#pragma GCC poison HAVE_PROTOTYPE_ISINF +#pragma GCC poison HAVE_PROTOTYPE_ISNAN +#pragma GCC poison HAVE_RANDOM_ACCESS_ITERATOR_CATEGORY +#pragma GCC poison HAVE_REINTERPRET_CAST +#pragma GCC poison HAVE_SETJMP_H +#pragma GCC poison HAVE_SIGNAL_H +#pragma GCC poison HAVE_SSTREAM +#pragma GCC poison HAVE_STATIC_CAST +#pragma GCC poison HAVE_STATIC_TEMPLATE_METHOD +#pragma GCC poison HAVE_STDARG_H +#pragma GCC poison HAVE_STDBOOL_H +#pragma GCC poison HAVE_STDDEF_H +#pragma GCC poison HAVE_STDIO_H +#pragma GCC poison HAVE_STDLIB_H +#pragma GCC poison HAVE_STRCHR +#pragma GCC poison HAVE_STRERROR +#pragma GCC poison HAVE_STRING_H +#pragma GCC poison HAVE_STRSTR +#pragma GCC poison HAVE_STRSTREAM +#pragma GCC poison HAVE_STRTOUL +#pragma GCC poison HAVE_TEMPNAM +#pragma GCC poison HAVE_TIME_H +#pragma GCC poison HAVE_TMPNAM +#pragma GCC poison HAVE_TYPENAME +#pragma GCC poison HAVE_VPRINTF +#pragma GCC poison HAVE_WCHAR_H +#pragma GCC poison HAVE_WCSTOMBS +#pragma GCC poison HAVE_WCTYPE_H +#pragma GCC poison SIZEOF_CHAR +#pragma GCC poison STDC_HEADERS +#endif + +#if !defined(POISON_DEPRECATED_FEATURE_MACROS) || !defined(__GNUC__) +#define HAVE_ASSERT_H 1 +#define HAVE_BIDIRECTIONAL_ITERATOR_CATEGORY 1 +#define HAVE_CLASS_TEMPLATE 1 +#define HAVE_CLIMITS 1 +#define HAVE_CMATH 1 +#define HAVE_CONST_CAST 1 +#define HAVE_CSTDARG 1 +#define HAVE_CSTDDEF 1 +#define HAVE_CSTDIO 1 +#define HAVE_CTYPE_H 1 +#define HAVE_CXX_VOLATILE 1 +#define HAVE_C_CONST 1 +#define HAVE_DECLARATION_STRUCT_UTIMBUF 1 +#define HAVE_DYNAMIC_CAST 1 +#define HAVE_ERRNO_H 1 +#define HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION 1 +#define HAVE_FENV_H 1 +#define HAVE_FLOAT_H 1 +#define HAVE_FORWARD_ITERATOR_CATEGORY 1 +#define HAVE_FSTREAM 1 +#define HAVE_FUNCTION_TEMPLATE 1 +#define HAVE_GETENV 1 +#define HAVE_INPUT_ITERATOR_CATEGORY 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_IOMANIP 1 +#define HAVE_IOSTREAM 1 +#define HAVE_ISINF 1 +#define HAVE_ISNAN 1 +#define HAVE_ISO646_H 1 +#define HAVE_ITERATOR_HEADER 1 +#define HAVE_LIMITS_H 1 +#define HAVE_LOCALE_H 1 +#define HAVE_LONG_FILE_NAMES 1 +#define HAVE_MATH_H 1 +#define HAVE_MBSTOWCS 1 +#define HAVE_MEMCMP 1 +#define HAVE_MEMCPY 1 +#define HAVE_MEMMOVE 1 +#define HAVE_MEMSET 1 +#define HAVE_OUTPUT_ITERATOR_CATEGORY 1 +#define HAVE_PROTOTYPE_ISINF 1 +#define HAVE_PROTOTYPE_ISNAN 1 +#define HAVE_RANDOM_ACCESS_ITERATOR_CATEGORY 1 +#define HAVE_REINTERPRET_CAST 1 +#define HAVE_SETJMP_H 1 +#define HAVE_SIGNAL_H 1 +#define HAVE_SSTREAM 1 +#define HAVE_STATIC_CAST 1 +#define HAVE_STATIC_TEMPLATE_METHOD 1 +#define HAVE_STDARG_H 1 +#define HAVE_STDBOOL_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRCHR 1 +#define HAVE_STRERROR 1 +#define HAVE_STRING_H 1 +#define HAVE_STRSTR 1 +#define HAVE_STRSTREAM 1 +#define HAVE_STRTOUL 1 +#define HAVE_TEMPNAM 1 +#define HAVE_TIME_H 1 +#define HAVE_TMPNAM 1 +#define HAVE_TYPENAME 1 +#define HAVE_VPRINTF 1 +#define HAVE_WCHAR_H 1 +#define HAVE_WCSTOMBS 1 +#define HAVE_WCTYPE_H 1 +#define SIZEOF_CHAR 1 +#define STDC_HEADERS 1 +#endif + +/* Historical feature tests that are not used in DCMTK anymore, + * and are thus not tested for anymore. + */ -/* Define if we have OpenSSL with the TS_STATUS_INFO_get0_text() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT @HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT@ +#if defined(POISON_DEPRECATED_FEATURE_MACROS) && defined(__GNUC__) +#pragma GCC poison C_INLINE +#pragma GCC poison HAVE_BCOPY +#pragma GCC poison HAVE_DECLARATION_STD__IOS_BASE__OPENMODE +#pragma GCC poison HAVE_DOPRNT +#pragma GCC poison HAVE_EMPTY_ARGC_ARGV +#pragma GCC poison HAVE_FSTREAM_H +#pragma GCC poison HAVE_IOMANIP_H +#pragma GCC poison HAVE_IOSTREAM_H +#pragma GCC poison HAVE_IOS_NOCREATE +#pragma GCC poison HAVE_LIBIOSTREAM +#pragma GCC poison HAVE_LONGLONG +#pragma GCC poison HAVE_MEMORY_H +#pragma GCC poison HAVE_NDIR_H +#pragma GCC poison HAVE_NEW_H +#pragma GCC poison HAVE_OLD_READDIR_R +#pragma GCC poison HAVE_PROTOTYPE_STD__FINITE +#pragma GCC poison HAVE_PROTOTYPE_WAIT3 +#pragma GCC poison HAVE_SSTREAM_H +#pragma GCC poison HAVE_STAT_H +#pragma GCC poison HAVE_STREAMBUF_H +#pragma GCC poison HAVE_STRSTREAM_H +#pragma GCC poison HAVE_STRSTREA_H +#pragma GCC poison HAVE_SYS_NDIR_H +#pragma GCC poison HAVE_ULONGLONG +#pragma GCC poison HAVE_WAIT3 +#pragma GCC poison INCLUDE_LIBC_H_AS_CXX +#pragma GCC poison INCLUDE_MATH_H_AS_CXX +#pragma GCC poison RETSIGTYPE +#pragma GCC poison TM_IN_SYS_TIME +#endif -/* Define if we have OpenSSL with the TS_VERIFY_CTS_set_certs() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS @HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS@ +/* #undef C_INLINE */ +/* #undef HAVE_BCOPY */ +/* #undef HAVE_DECLARATION_STD__IOS_BASE__OPENMODE */ +/* #undef HAVE_DOPRNT */ +/* #undef HAVE_EMPTY_ARGC_ARGV */ +/* #undef HAVE_FSTREAM_H */ +/* #undef HAVE_IOMANIP_H */ +/* #undef HAVE_IOSTREAM_H */ +/* #undef HAVE_IOS_NOCREATE */ +/* #undef HAVE_LIBIOSTREAM */ +/* #undef HAVE_LONGLONG */ +/* #undef HAVE_MEMORY_H */ +/* #undef HAVE_NDIR_H */ +/* #undef HAVE_NEW_H */ +/* #undef HAVE_OLD_READDIR_R */ +/* #undef HAVE_PROTOTYPE_STD__FINITE */ +/* #undef HAVE_PROTOTYPE_WAIT3 */ +/* #undef HAVE_SSTREAM_H */ +/* #undef HAVE_STAT_H */ +/* #undef HAVE_STREAMBUF_H */ +/* #undef HAVE_STRSTREAM_H */ +/* #undef HAVE_STRSTREA_H */ +/* #undef HAVE_SYS_NDIR_H */ +/* #undef HAVE_ULONGLONG */ +/* #undef HAVE_WAIT3 */ +/* #undef INCLUDE_LIBC_H_AS_CXX */ +/* #undef INCLUDE_MATH_H_AS_CXX */ +/* #undef RETSIGTYPE */ +/* #undef TM_IN_SYS_TIME */ +/* #undef __CHAR_UNSIGNED__ */ -/* Define if we have OpenSSL with the TS_VERIFY_CTX_set_data() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA @HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA@ -/* Define if we have OpenSSL with the TS_VERIFY_CTX_set_flags() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS @HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS@ +/* Historical feature tests for BSD socket functions, which exist on POSIX + * systems and on Windows. These are not tested anymore. + */ -/* Define if we have OpenSSL with the TS_VERIFY_CTX_set_store() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE @HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE@ +#if defined(POISON_DEPRECATED_FEATURE_MACROS) && defined(__GNUC__) +#pragma GCC poison HAVE_ACCEPT +#pragma GCC poison HAVE_BIND +#pragma GCC poison HAVE_CONNECT +#pragma GCC poison HAVE_DECLARATION_SOCKLEN_T +#pragma GCC poison HAVE_GETADDRINFO +#pragma GCC poison HAVE_GETHOSTBYNAME +#pragma GCC poison HAVE_GETHOSTNAME +#pragma GCC poison HAVE_GETSOCKNAME +#pragma GCC poison HAVE_GETSOCKOPT +#pragma GCC poison HAVE_PROTOTYPE_ACCEPT +#pragma GCC poison HAVE_PROTOTYPE_BIND +#pragma GCC poison HAVE_PROTOTYPE_CONNECT +#pragma GCC poison HAVE_PROTOTYPE_GETHOSTBYNAME +#pragma GCC poison HAVE_PROTOTYPE_GETHOSTNAME +#pragma GCC poison HAVE_PROTOTYPE_GETSOCKNAME +#pragma GCC poison HAVE_PROTOTYPE_GETSOCKOPT +#pragma GCC poison HAVE_PROTOTYPE_LISTEN +#pragma GCC poison HAVE_PROTOTYPE_SELECT +#pragma GCC poison HAVE_PROTOTYPE_SETSOCKOPT +#pragma GCC poison HAVE_PROTOTYPE_SOCKET +#pragma GCC poison HAVE_SELECT +#pragma GCC poison HAVE_SETSOCKOPT +#pragma GCC poison HAVE_SOCKET +#endif + +#if !defined(POISON_DEPRECATED_FEATURE_MACROS) || !defined(__GNUC__) +#define HAVE_ACCEPT 1 +#define HAVE_BIND 1 +#define HAVE_CONNECT 1 +#define HAVE_DECLARATION_SOCKLEN_T 1 +#define HAVE_GETADDRINFO 1 +#define HAVE_GETHOSTBYNAME 1 +#define HAVE_GETHOSTNAME 1 +#define HAVE_GETSOCKNAME 1 +#define HAVE_GETSOCKOPT 1 +#define HAVE_PROTOTYPE_ACCEPT 1 +#define HAVE_PROTOTYPE_BIND 1 +#define HAVE_PROTOTYPE_CONNECT 1 +#define HAVE_PROTOTYPE_GETHOSTBYNAME 1 +#define HAVE_PROTOTYPE_GETHOSTNAME 1 +#define HAVE_PROTOTYPE_GETSOCKNAME 1 +#define HAVE_PROTOTYPE_GETSOCKOPT 1 +#define HAVE_PROTOTYPE_LISTEN 1 +#define HAVE_PROTOTYPE_SELECT 1 +#define HAVE_PROTOTYPE_SETSOCKOPT 1 +#define HAVE_PROTOTYPE_SOCKET 1 +#define HAVE_SELECT 1 +#define HAVE_SETSOCKOPT 1 +#define HAVE_SOCKET 1 +#endif -/* Define if we have OpenSSL with the X509_ALGOR_get0() function expecting a const pointer as first parameter */ -#cmakedefine HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM @HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM@ +/* Historical OpenSSL feature tests that are not required anymore for OpenSSL 1.1.1 and newer. + * We do not execute these tests and do not use these macros anymore inside DCMTK anymore. + * The hard-coded defines are valid for OpenSSL 1.1.1 and newer, and for LibreSSL 3.7.2. + * These macros are deprecated and will be removed from a future version. + */ -/* Define if we have OpenSSL with the X509_get0_notAfter() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER @HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER@ +#if defined(POISON_DEPRECATED_FEATURE_MACROS) && defined(__GNUC__) +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_DH_BITS +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_OPENSSL_INIT_CRYPTO +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256 +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256 +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TLS_METHOD +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT +#pragma GCC poison HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM +#pragma GCC poison HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM +#endif -/* Define if we have OpenSSL with the X509_get0_notBefore() function */ -#cmakedefine HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE @HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE@ +#if !defined(POISON_DEPRECATED_FEATURE_MACROS) || !defined(__GNUC__) +#define HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA 1 +#define HAVE_OPENSSL_PROTOTYPE_DH_BITS 1 +#define HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID 1 +#define HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY 1 +#define HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID 1 +#define HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS 1 +#define HAVE_OPENSSL_PROTOTYPE_OPENSSL_INIT_CRYPTO 1 +#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM 1 +#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE 1 +#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS 1 +#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES 1 +#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO 1 +#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION 1 +#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL 1 +#define HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC 1 +#define HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB 1 +#define HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB 1 +#define HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256 1 +#define HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 1 +#define HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256 1 +#define HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 1 +#define HAVE_OPENSSL_PROTOTYPE_TLS_METHOD 1 +#define HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO 1 +#define HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS 1 +#define HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT 1 +#define HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS 1 +#define HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA 1 +#define HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS 1 +#define HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE 1 +#define HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER 1 +#define HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE 1 +#define HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID 1 +#define HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT 1 +#define HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM 1 +#define HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM 1 +#endif #endif /* !OSCONFIG_H*/ diff --git a/CMakeLists.txt b/CMakeLists.txt index bef673fc..d6c8ad95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,8 +1,14 @@ # Minimum CMake version required -cmake_minimum_required(VERSION 3.0.0...3.27.3 FATAL_ERROR) +cmake_minimum_required(VERSION 3.7.0...3.31.2 FATAL_ERROR) # Declare project project(DCMTK) +if(NOT DEFINED CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD "11" CACHE STRING "Set C++ standard to be used (98,11,14,17,20)") +else() + set(CMAKE_CXX_STANDARD ${CMAKE_CXX_STANDARD} CACHE STRING "Set C++ standard to be used (98,11,14,17,20)") +endif() +mark_as_advanced(CMAKE_CXX_STANDARD) #----------------------------------------------------------------------------- # General project settings to configure DCMTK build process @@ -12,7 +18,7 @@ project(DCMTK) set(DCMTK_MODULES ofstd oflog oficonv dcmdata dcmimgle dcmimage dcmjpeg dcmjpls dcmtls dcmnet dcmsr dcmsign dcmwlm dcmqrdb dcmpstat dcmrt dcmiod dcmfg - dcmseg dcmtract dcmpmap dcmect + dcmseg dcmtract dcmpmap dcmect dcmapps CACHE STRING "List of modules that should be built.") # Provide an interface target to elegantly include the config directory @@ -45,12 +51,6 @@ include(CMake/dcmtkPrepare.cmake NO_POLICY_SCOPE) configure_file("${DCMTK_SOURCE_DIR}/CMake/osconfig.h.in" "${DCMTK_BINARY_DIR}/config/include/dcmtk/config/osconfig.h") -#----------------------------------------------------------------------------- -# Prepare arith.h -#----------------------------------------------------------------------------- - -INSPECT_FUNDAMENTAL_ARITHMETIC_TYPES() - # ---------------------------------------------------------------------------- # Unit test related configuration/setup # ---------------------------------------------------------------------------- @@ -60,7 +60,7 @@ if(CMAKE_CROSSCOMPILING) set(DCMTK_RUN_CTEST_SCRIPT "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/dcmtkCTestRunWine.cmake" CACHE INTERNAL "path to the CMake script for launching a unit test as a detached Wine process in the prepared wineprefix") elseif(ANDROID) set(DCMTK_RUN_CTEST_SCRIPT "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/dcmtkCTestRunAndroid.cmake" CACHE INTERNAL "path to the CMake script for launching a unit test via the android emulator") - else() + elseif(NOT CMAKE_CROSSCOMPILING_EMULATOR) message(WARNING "Emulation for your target platform is not available, CTest will not be able to execute the unit tests!") endif() else() @@ -89,15 +89,14 @@ include(CMake/dcmtkAfterModules.cmake NO_POLICY_SCOPE) # Install global headers install(FILES "${DCMTK_BINARY_DIR}/config/include/dcmtk/config/osconfig.h" - "${DCMTK_BINARY_DIR}/config/include/dcmtk/config/arith.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/dcmtk/config" COMPONENT include) # Install DCMTK's general documentation files install(FILES ANNOUNCE COPYRIGHT CREDITS FAQ HISTORY VERSION - DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}" + DESTINATION "${CMAKE_INSTALL_DOCDIR}" COMPONENT doc) -install(DIRECTORY docs/ DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}" +install(DIRECTORY docs/ DESTINATION "${CMAKE_INSTALL_DOCDIR}" COMPONENT doc FILES_MATCHING PATTERN "CHANGES.???") #----------------------------------------------------------------------------- diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..6086b2a2 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,79 @@ +# Contributing to the DCMTK + +First of all, thanks for taking the time to contribute! + +All types of contributions are welcome. See the [Table of contents](#table-of-contents) for different ways to help and details about how we handle them. Please make sure that you read the relevant section before making your contribution. This will make it much easier for us maintainers and simplify the work for everyone involved. We look forward to your contributions. + + +## Table of contents + +- [I have a question](#i-have-a-question) +- [I want to contribute](#i-want-to-contribute) + - [Reporting bugs](#reporting-bugs) + - [Suggesting enhancements](#suggesting-enhancements) + + +## I have a question + +> If you want to ask a question, we assume that you have read the available [documentation](https://support.dcmtk.org/docs/). + +Before you ask a question, you should search for existing [issues](https://support.dcmtk.org/redmine/projects/dcmtk/issues) and [forum postings](https://forum.dcmtk.org/) that might help you. + +If you then still feel the need to ask a question and need clarification, we recommend the following: + +- [Register](https://forum.dcmtk.org/viewtopic.php?t=5317) for the public [DCMTK forum](https://forum.dcmtk.org/) if you have not already done so. +- Post your question in the appropriate forum, e.g. [DCMTK - General](https://forum.dcmtk.org/viewforum.php?f=1) or [DCMTK - Installation](https://forum.dcmtk.org/viewforum.php?f=3). +- Provide as much context as possible about the problem you are facing. +- Include information on the DCMTK version and platform (if relevant). + +One of our team members or another forum user will then hopefully take care of your request (as time permits). + + +## I want to contribute + +> ### Legal notice +> When contributing to the DCMTK, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the [DCMTK license](https://support.dcmtk.org/docs/file_copyright.html), i.e. it needs to be compatible with the [BSD License](https://opensource.org/license/bsd-3-clause). + +### Reporting bugs + +#### Before submitting a bug report + +A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fixing any potential bug as fast as possible. + +- Make sure that you are using the [latest version](https://git.dcmtk.org/?p=dcmtk.git;a=summary) of the DCMTK. +- Determine if your bug is really a bug and not an error on your side, e.g. using incompatible environment components/versions. Make sure that you have read the [documentation](https://support.dcmtk.org/docs/). If you are looking for support, you might want to check [this section](#i-have-a-question). +- To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already a bug report existing for your problem in the [issue tracker](https://support.dcmtk.org/redmine/projects/dcmtk/issues). +- Collect information about the bug: + - OS, platform and version (Windows, Linux, macOS, x86, x64, etc.) + - Name and version of the compiler, support libraries, etc., depending on what seems relevant. + - Possibly your input and the output, log messages in debug/trace mode, stack trace and the like. + - Can you reliably reproduce the issue? And, can you also reproduce it with older versions? + +#### How do I submit a good bug report? + +> You must never report security related issues, vulnerabilities or bugs including sensitive information to the [DCMTK forum](https://forum.dcmtk.org/), or elsewhere in public. Instead sensitive bugs must be sent by email to bugs@dcmtk.org. + +We use our own [issue tracker](https://support.dcmtk.org/redmine/projects/dcmtk/issues) for bugs and other issues. If you run into a problem with the DCMTK, please proceed as follows: + +- If you are sure that you've found a bug in the DCMTK, send an email to [bugs@dcmtk.org](mailto:bugs@dcmtk.org). Otherwise, post your problem to the [DCMTK forum](https://forum.dcmtk.org/). +- Explain the behavior you would expect and the actual behavior. +- Please provide as much context as possible and describe the *reproduction steps* that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports, you should isolate the problem and create a reduced test case, e.g. as [a minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example). +- Provide the information you collected in the previous section. +- If you have already analyzed the problem and found a fix, we would be happy to get it either by [email](mailto:bugs@dcmtk.org) (with a patch file attached) or as a [GitHub pull request](https://github.com/DCMTK/dcmtk/pulls). + +Once it is filed: + +- The DCMTK team will check if it is really a bug and this issue has not been fixed yet, or if you were just having a question (see the [above section](#i-have-a-question)). +- A team member will try to reproduce the issue with your provided steps. If there are no reproduction steps or there is no obvious way to reproduce the issue, the team will probably ask you for those steps. +- If the team is able to reproduce the issue, it will either be fixed directly or this problem will be added as a new issue to the [issue tracker](https://support.dcmtk.org/redmine/projects/dcmtk/issues) and processed later. + +### Suggesting enhancements + +This section guides you through submitting an enhancement suggestion for the DCMTK, including completely new features and minor improvements to existing functionality. Following these guidelines will help us to understand your suggestion and find related suggestions. + +*TODO* + + +## Credits + +This guide was inspired by [contributing-gen](https://github.com/bttger/contributing-gen). diff --git a/COPYRIGHT b/COPYRIGHT index 42f22b6c..d40a73c6 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -5,7 +5,7 @@ Unless otherwise specified, the DCMTK software package has the following copyright: /* - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. * * This software and supporting documentation were developed by @@ -259,8 +259,9 @@ following copyright notice: --------------------------------------------------------------------------- The code for the OFStandard::atof helper function in ofstd/libsrc/ofstd.cc -has been derived from an implementation which carries the following -copyright notice: +that is used when DCMTK is compiled with the macro +ENABLE_OLD_OFSTD_ATOF_IMPLEMENTATION has been derived from an implementation +that carries the following copyright notice: /* * Copyright 1988 Regents of the University of California @@ -505,8 +506,8 @@ The dcmrt sub-package is covered by the following copyright --------------------------------------------------------------------------- -Copyright (C) 2008-2023, OFFIS e.V. and ICSMED AG, Oldenburg, Germany. -Copyright (C) 2013-2023, J. Riesmeier, Oldenburg, Germany. +Copyright (C) 2008-2024, OFFIS e.V. and ICSMED AG, Oldenburg, Germany. +Copyright (C) 2013-2024, J. Riesmeier, Oldenburg, Germany. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -542,7 +543,7 @@ Parts of the dcmsr sub-package are covered by the following copyright --------------------------------------------------------------------------- -Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany. +Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -817,6 +818,70 @@ of the BSD license: --------------------------------------------------------------------------- +The code for the function OFgetExecutablePath() +is derived from the "whereami" library by Gregory Pakosz +(https://github.com/gpakosz/whereami), which is dual-licensed under the +WTFPL v2 and MIT licenses. The MIT license is reproduced here: + +/* + * Copyright (c) 2024 Gregory Pakosz + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the “Software”), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE + * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +--------------------------------------------------------------------------- + +The implementation of the argvToCommandLine() function in ofstub.cc +is derived from an implementation with the following license: + +// The function argvToCommandLine() is derived from an implementation +// with the following copyright statement: +// +// Copyright (c) 2011-2015 Ryan Prichard +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. + + +--------------------------------------------------------------------------- + +The implementation of the getLastErrorString() function in ofstub.cc +is derived from an implementation by Orjan Westin published under +the BSD license (without further specification). + +--------------------------------------------------------------------------- + Finally, DCMTK can be configured and compiled to make use of a number of optional external libraries that, when available, provide added functionality such as compression, encryption, or support for certain image formats. @@ -836,44 +901,6 @@ License text available at: https://www.gnu.org/licenses/lgpl.html --------------------------------------------------------------------------- -When compiled with libicu support: - ---------------------------------------------------------------------------- - -Copyright (C) 1991-2017 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in http://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. - ---------------------------------------------------------------------------- - When compiled with libpng support: --------------------------------------------------------------------------- diff --git a/CREDITS b/CREDITS index 20288f89..6241d52f 100644 --- a/CREDITS +++ b/CREDITS @@ -35,6 +35,13 @@ M. Malaterre: The GDCM developer Mathieu Malaterre (Lyon, France) regularly reports possible issues to the DCMTK team. He was also responsible for packaging the DCMTK library and tools for the Debian operating system. +Mathworks: Funded implementation of TLS support in getscu, introduced + in DCMTK 3.6.9. + +Medpace: Funded the development of the "dcm2img" tool introduced in DCMTK + 3.6.9, which combines the functionality of the the earlier "dcm2pnm", + "dcmj2pnm" and "dcml2pnm" tools and offers JPEG-LS export. + Open Connections: The work on the DCMTK is supported by employees of the Open Connections GmbH (Oldenburg, Germany), a spin-off from the OFFIS institute. @@ -65,4 +72,4 @@ YXLON: The work on the initial version of the DICONDE data dictionary was Please note that this list does not claim to be exhaustive. Just send us an email if you think that you or your company/organization should also be listed. -DCMTK Team, 2022-02-08 +DCMTK Team, 2024-11-21 diff --git a/HISTORY b/HISTORY index e69354da..69fa67a5 100644 --- a/HISTORY +++ b/HISTORY @@ -31,7 +31,7 @@ Beginning with release 3.0 (1996), the software package was renamed to DCMTK (DiCoM ToolKit). It contains a number of improvements over the "European CTN" software previously available from OFFIS/Oldenburg University, the most important being: - - configuration using GNU autoconf + - configuration using GNU Autoconf - a modality worklist SCP and SCU - a new C++ encoding/decoding library - support for offline media diff --git a/INSTALL b/INSTALL index 1d707dc0..7de38bfb 100644 --- a/INSTALL +++ b/INSTALL @@ -7,15 +7,16 @@ PRE-REQUISITES ============== The DICOM toolkit (DCMTK) needs to be compiled with a C++ compiler. We -recommend using the GNU C++ compiler in versions higher than 4.8.5 (most of the -development for this release was done using GNU gcc 10.2.1 on Debian Linux and -GNU gcc 11.4.0 on Ubuntu Linux). The software is also known to compile using +recommend using the GNU C++ compiler in versions higher than 9.5.0 (most of the +development for this release was done using GNU gcc 12.2.0 on Debian Linux and +GNU gcc 13.2.0 on Ubuntu Linux). The software is also known to compile using Clang and Microsoft Visual Studio. Compatibility with other C++ compilers is unknown, however, we have tried to keep language demands to a minimum. -You will need several hundred Mbytes of disk space to compile all the software. +You will need several hundred Mbytes (or even more than a Gbyte) of disk space +to compile all the software. SUPPORTED SYSTEMS @@ -27,58 +28,59 @@ Microsoft Windows The DCMTK software can be compiled under a native Microsoft Windows environment (see section "Microsoft Windows with CMake" below for more information). -The current (minor) release successfully compiles on the following operating -system / hardware / compiler combinations: +The current DCMTK software release 3.6.9 successfully compiles on the following +operating system / hardware / compiler combinations: - Windows 7 / Intel x86 / Microsoft Visual C++ 2015 Community (VS 14) - Windows 7 / Intel x86 / Microsoft Visual C++ 2017 Community (VS 15) - Windows 7 / Intel x86 / Microsoft Visual C++ 2019 Community (VS 16) - Windows 7 / Intel x86 / MinGW gcc 9.2.0 (i686-w64-mingw32) - Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2015 Community (VS 14) - Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2017 Community (VS 15) - Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2019 Community (VS 16) - Windows 7 / amd64|x86_64 / MinGW gcc 9.2.0 (x86_64-w64-mingw32) Windows 10 / Intel x86 / Microsoft Visual C++ 2017 Community (VS 15) Windows 10 / Intel x86 / Microsoft Visual C++ 2019 Community (VS 16) Windows 10 / Intel x86 / Microsoft Visual C++ 2022 Community (VS 17) - Windows 10 / Intel x86 / MinGW gcc 12.2.0 (i686-w64-mingw32) - Windows 10 / Intel x86 / MinGW Clang 15.0.7 (i686-w64-windows-gnu) + Windows 10 / Intel x86 / MinGW Clang 17.0.6 (i686-w64-windows-gnu) + Windows 10 / Intel x86 / MinGW gcc 13.2.0 (i686-w64-windows-gnu) Windows 10 / amd64|x86_64 / Microsoft Visual C++ 2017 Community (VS 15) Windows 10 / amd64|x86_64 / Microsoft Visual C++ 2019 Community (VS 16) Windows 10 / amd64|x86_64 / Microsoft Visual C++ 2022 Community (VS 17) - Windows 10 / amd64|x86_64 / MinGW gcc 12.2.0 (x86_64-w64-mingw32) - Windows 10 / amd64|x86_64 / MinGW Clang 15.0.7 (x86_64-w64-windows-gnu) + Windows 10 / amd64|x86_64 / MinGW Clang 17.0.6 (x86_64-w64-windows-gnu) + Windows 10 / amd64|x86_64 / MinGW gcc 13.2.0 (x86_64-w64-windows-gnu) + Windows 11 / Intel x86 / Microsoft Visual C++ 2019 Community (VS 16) + Windows 11 / Intel x86 / Microsoft Visual C++ 2022 Community (VS 17) + Windows 11 / Intel x86 / MinGW Clang 18.1.8 (i686-w64-windows-gnu) + Windows 11 / Intel x86 / MinGW gcc 14.2.0 (i686-w64-mingw32) + Windows 11 / amd64|x86_64 / Microsoft Visual C++ 2019 Community (VS 16) + Windows 11 / amd64|x86_64 / Microsoft Visual C++ 2022 Community (VS 17) + Windows 11 / amd64|x86_64 / MinGW Clang 18.1.8 (x86_64-w64-windows-gnu) + Windows 11 / amd64|x86_64 / MinGW gcc 14.2.0 (x86_64-w64-mingw32) + Unix (or lookalikes) -------------------- -The current DCMTK software release successfully compiles on the following +The current DCMTK software release 3.6.9 successfully compiles on the following operating system / hardware / compiler combinations using the instructions given below: - FreeBSD 13.2 / amd64|x86_64 / Clang 14.0.5 - Linux 3.10.0 / amd64|x86_64 / Clang 3.4.2 (CentOS 7.9) - Linux 3.10.0 / amd64|x86_64 / GNU gcc 4.8.5 (CentOS 7.9) - Linux 4.19.0 / amd64|x86_64 / GNU 12.2.1 (Alpine 3.15.0 musl libc) - Linux 5.10.0 / Intel x86 / Clang 11.0.1 (Debian 11) - Linux 6.1.0 / Intel x86 / Clang 11.0.1 (Debian 12) - Linux 5.10.0 / amd64|x86_64 / GNU gcc 10.2.1 (Debian 11) + FreeBSD 14.1 / amd64|x86_64 / Clang 18.1.5 + Linux 4.19.0 / ppc64le / IBM XL C/C++ 16.1.1 Community + Linux 5.14.0 / amd64|x86_64 / GNU gcc 11.4.1 (AlmaLinux 9.4) + Linux 6.1.0 / Intel x86 / Clang 14.0.6 (Debian 12) + Linux 6.1.0 / Intel x86 / GNU gcc 12.2.0 (Debian 12) + Linux 6.1.0 / amd64|x86_64 / Clang 14.0.6 (Debian 12) Linux 6.1.0 / amd64|x86_64 / GNU gcc 12.2.0 (Debian 12) - Linux 5.15.0 / amd64|x86_64 / Clang 13.0.1 (Ubuntu 22.04.3 LTS) - Linux 5.15.0 / amd64|x86_64 / Clang 14.0.0 (Ubuntu 22.04.3 LTS) - Linux 5.15.0 / amd64|x86_64 / GNU gcc 9.5.0 (Ubuntu 22.04.3 LTS) - Linux 5.15.0 / amd64|x86_64 / GNU gcc 10.5.0 (Ubuntu 22.04.3 LTS) - Linux 5.15.0 / amd64|x86_64 / GNU gcc 11.4.0 (Ubuntu 22.04.3 LTS) - Linux 5.15.0 / amd64|x86_64 / GNU gcc 12.3.0 (Ubuntu 22.04.3 LTS) - Linux 6.2.0 / amd64|x86_64 / clang 15.07 (Ubuntu 23.04) - Linux 6.2.0 / amd64|x86_64 / gcc 12.3.0 (Ubuntu 23.04) + Linux 6.1.0 / amd64|x86_64 / GNU gcc 13.2.1 (Alpine 3.20 musl libc) + Linux 6.8.0 / amd64|x86_64 / Clang 18.1.3 (Ubuntu 24.04.1 LTS) + Linux 6.8.0 / amd64|x86_64 / GNU gcc 10.5.0 (Ubuntu 24.04.1 LTS) + Linux 6.8.0 / amd64|x86_64 / GNU gcc 11.4.0 (Ubuntu 24.04.1 LTS) + Linux 6.8.0 / amd64|x86_64 / GNU gcc 12.3.0 (Ubuntu 24.04.1 LTS) + Linux 6.8.0 / amd64|x86_64 / GNU gcc 13.2.0 (Ubuntu 24.04.1 LTS) + Linux 6.8.0 / amd64|x86_64 / GNU gcc 14.2.0 (Ubuntu 24.04.1 LTS) + Linux 6.11.0 / amd64|x86_64 / GNU gcc 14.2.0 (Ubuntu 24.10) MacOS X 13.4.1 / amd64|x86_64 / Apple Clang 14.0.3 MacOS X 13.4.1 / amd64|x86_64 / GNU gcc 13.1.0 MacOS X 13.4.1 / arm64 / Apple Clang 15.0.0 - NetBSD 9.3 / amd64|x86_64 / Clang 13.0.1 - NetBSD 9.3 / amd64|x86_64 / GNU gcc 7.5.0 - OpenBSD 7.3 / amd64|x86_64 / Clang 13.0.0 - OpenIndiana / amd64|x86_64 / GNU gcc 10.3.0 (OpenIndiana 2021.10) + NetBSD 10.0 / amd64|x86_64 / Clang 16.0.6 + NetBSD 10.0 / amd64|x86_64 / GNU gcc 10.5.0 + OpenBSD 7.5 / amd64|x86_64 / Clang 16.0.6 + OpenIndiana / amd64|x86_64 / GNU gcc 13.2.0 (OpenIndiana 2023.10) + Cross Compiling --------------- @@ -98,6 +100,40 @@ regularly tested. Other Platforms --------------- +The previous release DCMTK 3.6.8 was also tested on the following platforms +that may still work, but were not tested again for this release: + + FreeBSD 13.2 / amd64|x86_64 / Clang 14.0.5 + Linux 3.10.0 / amd64|x86_64 / Clang 3.4.2 (CentOS 7.9) + Linux 3.10.0 / amd64|x86_64 / GNU gcc 4.8.5 (CentOS 7.9) + Linux 4.19.0 / amd64|x86_64 / GNU 12.2.1 (Alpine 3.15.0 musl libc) + Linux 5.10.0 / Intel x86 / Clang 11.0.1 (Debian 11) + Linux 5.10.0 / amd64|x86_64 / GNU gcc 10.2.1 (Debian 11) + Linux 5.15.0 / amd64|x86_64 / Clang 13.0.1 (Ubuntu 22.04.3 LTS) + Linux 5.15.0 / amd64|x86_64 / Clang 14.0.0 (Ubuntu 22.04.3 LTS) + Linux 5.15.0 / amd64|x86_64 / GNU gcc 9.5.0 (Ubuntu 22.04.3 LTS) + Linux 5.15.0 / amd64|x86_64 / GNU gcc 10.5.0 (Ubuntu 22.04.3 LTS) + Linux 5.15.0 / amd64|x86_64 / GNU gcc 11.4.0 (Ubuntu 22.04.3 LTS) + Linux 5.15.0 / amd64|x86_64 / GNU gcc 12.3.0 (Ubuntu 22.04.3 LTS) + Linux 6.2.0 / amd64|x86_64 / clang 15.07 (Ubuntu 23.04) + Linux 6.2.0 / amd64|x86_64 / gcc 12.3.0 (Ubuntu 23.04) + NetBSD 9.3 / amd64|x86_64 / Clang 13.0.1 + NetBSD 9.3 / amd64|x86_64 / GNU gcc 7.5.0 + OpenBSD 7.3 / amd64|x86_64 / Clang 13.0.0 + OpenIndiana / amd64|x86_64 / GNU gcc 10.3.0 (OpenIndiana 2021.10) + Windows 10 / Intel x86 / MinGW Clang 15.0.7 (i686-w64-windows-gnu) + Windows 10 / Intel x86 / MinGW gcc 12.2.0 (i686-w64-mingw32) + Windows 10 / amd64|x86_64 / MinGW Clang 15.0.7 (x86_64-w64-windows-gnu) + Windows 10 / amd64|x86_64 / MinGW gcc 12.2.0 (x86_64-w64-mingw32) + Windows 7 / Intel x86 / Microsoft Visual C++ 2015 Community (VS 14) + Windows 7 / Intel x86 / Microsoft Visual C++ 2017 Community (VS 15) + Windows 7 / Intel x86 / Microsoft Visual C++ 2019 Community (VS 16) + Windows 7 / Intel x86 / MinGW gcc 9.2.0 (i686-w64-mingw32) + Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2015 Community (VS 14) + Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2017 Community (VS 15) + Windows 7 / amd64|x86_64 / Microsoft Visual C++ 2019 Community (VS 16) + Windows 7 / amd64|x86_64 / MinGW gcc 9.2.0 (x86_64-w64-mingw32) + The previous release DCMTK 3.6.7 was also tested on the following platforms that may still work, but were not tested again for this release: @@ -110,7 +146,7 @@ that may still work, but were not tested again for this release: Windows 10 / amd64|x86_64 / MinGW Clang 13.0.0 (x86_64-w64-windows-gnu) FreeBSD 13.0 / amd64|x86_64 / Clang 11.0.1 Linux 4.19.0 / amd64|x86_64 / Clang 7.0.1 (Debian 10) - Linux 4.19.0 / amd64|x86_64 / GNU 10.3.1 (Alpine 3.15.0 with musl libc) + Linux 4.19.0 / amd64|x86_64 / GNU 10.3.1 (Alpine 3.15.0 with musl libc) Linux 4.19.0 / amd64|x86_64 / GNU gcc 8.3.0 (Debian 10) Linux 4.19.0 / amd64|x86_64 / GNU gcc 8.3.0 (Debian 10) Linux 5.10.0 / Intel x86 / GNU gcc 10.2.1 (Debian 11) @@ -126,56 +162,6 @@ that may still work, but were not tested again for this release: NetBSD 9.0 / amd64|x86_64 / GNU gcc 7.5.0 OpenBSD 7.0 / amd64|x86_64 / Clang 11.1.1 -The previous release DCMTK 3.6.6 was also tested on the following platforms -that may still work, but were not tested again for this release: - - FreeBSD 12.2 / amd64|x86_64 / Clang 10.0.1 - Linux 3.13.0 / amd64|x86_64 / Clang 3.9.1 (Linux Mint 17.3) - Linux 3.13.0 / amd64|x86_64 / GNU gcc 4.8.5 (Linux Mint 17.3) - Linux 3.13.0 / amd64|x86_64 / GNU gcc 5.5.0 (Linux Mint 17.3) - Linux 3.13.0 / amd64|x86_64 / GNU gcc 6.5.0 (Linux Mint 17.3) - Linux 3.13.0 / amd64|x86_64 / GNU gcc 7.5.0 (Linux Mint 17.3) - Linux 3.13.0 / amd64|x86_64 / GNU gcc 8.4.0 (Linux Mint 17.3) - Linux 3.2.0 / amd64|x86_64 / GNU gcc 4.4.7 (Debian 7.11) - Linux 4.19.0 / Intel x86 / Clang 7.0.1 (Debian 10) - Linux 4.19.0 / Intel x86 / GNU gcc 8.3.0 (Debian 10) - Linux 4.19.41 / amd64|x86_64 / GNU 8.3.0 (Alpine 3.9.4 with musl libc) - NetBSD 9.0 / amd64|x86_64 / Clang 9.0.1 - NetBSD 9.0 / amd64|x86_64 / GNU gcc 7.4.0 - OpenBSD 6.8 / amd64|x86_64 / Clang 10.0.1 - OpenBSD 6.8 / amd64|x86_64 / GNU gcc 4.2.1 - OpenBSD 6.8 / amd64|x86_64 / GNU gcc 8.4.0 - OpenIndiana / Intel x86 / GNU gcc 8.3.0 (OpenIndiana 2019.04) - Solaris 11.3 / Intel x86 / GNU gcc 4.8.2 - Solaris 11.3 / Intel x86 / SunPro CC 5.14 (Oracle Developer Studio 12.5) - Solaris 11.3 / Intel x86 / SunPro CC 5.15 (Oracle Developer Studio 12.6) - -The previous release DCMTK 3.6.5 was also tested on the following platforms -that may still work, but were not tested again for this release: - - Windows 10 / Intel x86 / MinGW gcc 7.4.0 (i686-w64-mingw32) - Windows 10 / amd64|x86_64 / MinGW gcc 8.2.1 (x86_64-w64-mingw32) - Android / arm64 / GNU gcc 6.3.0 (API 24, ABI arm64-v8a) - FreeBSD 12.0 / amd64|x86_64 / Clang 6.0.1 - Linux 5.0.0 / amd64|x86_64 / gcc 8.3.0 (Ubuntu Linux) - Linux 5.3.7 / amd64|x86_64 / Clang 9.0.0 (Arch Linux) - Linux 5.3.7 / amd64|x86_64 / GNU gcc 9.2.0 (Arch Linux) - OpenBSD 6.5 / amd64|x86_64 / Clang 7.0.1 - OpenBSD 6.5 / amd64|x86_64 / GNU gcc 4.2.1 - -The previous release DCMTK 3.6.4 was also tested on the following platforms -that may still work, but were not tested again for this release: - - Windows 7 / Intel x86 / Microsoft Visual C++ 2005 Express (VS 8) - Windows 10 / Intel x86 / Microsoft Visual C++ 2015 Community (VS 14) - Windows 10 / amd64|x86_64 / Microsoft Visual C++ 2015 Community (VS 14) - Linux 3.2.0 / amd64|x86_64 / GNU gcc 4.8.4 (Debian 7.11) - Linux 3.16.0 / armv7|armhf / GNU gcc 4.9.4 (Debian 8) - Linux 4.19.4 / amd64|x86_64 / Clang 7.0.0 (Arch Linux) - Linux 4.19.4 / amd64|x86_64 / GNU gcc 8.2.1 (Arch Linux) - NetBSD 8.0 / amd64|x86_64 / Clang 5.0.2 - NetBSD 8.0 / amd64|x86_64 / GNU gcc 5.5.0 - Earlier releases of the DCMTK are known to also compile on further platforms, which are not available to us for testing purposes any more, e.g. AIX, HP-UX, IRIX, NeXTStep, OSF/1, QNX, Solaris/SunOS, Ultrix. Also the Intel C++ Compiler @@ -196,7 +182,6 @@ DCMTK can make use of the following third-party libraries: - For character set support, either one of: - oficonv (default, and built into DCMTK) - libiconv (GNU, standalone or provided by the C standard library) - - libicu International Components for Unicode (ICU) Further information about each of the libraries can be found below. These libraries are usually detected automatically on Unix-like operating systems @@ -207,17 +192,14 @@ build settings are usually required, see section "BUILDING" for details. OpenSSL Support --------------- -Starting with release 3.4.2, DCMTK supports encrypted network transmissions -using the Transport Layer Security (TLS) protocol as defined in DICOM part 15. -DCMTK relies on the OpenSSL toolkit (www.openssl.org) for the underlying -cryptographic routines and the TLS protocol implementation. +DCMTK supports encrypted network transmissions using the Transport Layer +Security (TLS) protocol as defined in DICOM part 15, as well as digital +signatures. DCMTK relies on the OpenSSL toolkit (www.openssl.org) for the +underlying cryptographic routines and the TLS protocol implementation. -This release of DCMTK requires OpenSSL release 1.0.2 or newer. We recommend -the use of OpenSSL 1.1.1 or newer, however, since some optional functions -recommended by RFC 9325 / BCP 195 are only available starting with this OpenSSL -release. Furthermore, users should make care that the most recent OpenSSL -patch level is applied. This release of DCMTK is known to compile with OpenSSL -releases 1.0.2 to 3.0.8. +This release of DCMTK requires OpenSSL release 1.1.1 or newer. Users should +make sure that the most recent OpenSSL patch level is applied. This release of +DCMTK is known to compile with OpenSSL releases 1.1.1 as well as 3.0.x to 3.4.x. When using CMake, if support for security enhancements is desired, a compiled version of the OpenSSL libraries and include files must be available during @@ -232,7 +214,7 @@ KNOWN ISSUES RELATED TO OPENSSL The ABI of various DCMTK libraries changes when DCMTK is built with or without OpenSSL. This may result in hard to locate bugs, e.g. when using a command line tool that depends on one of those libraries while mixing a non-OpenSSL -build with an OpenSSL enabled build of DCMTK (for example, when installing an +build with an OpenSSL-enabled build of DCMTK (for example, when installing an OpenSSL-enabled DCMTK on top of a DCMTK installation without OpenSSL support). We have introduced a CMake variable called "DCMTK_TLS_LIBRARY_POSTFIX" as a workaround. If you plan on mixing OpenSSL and non-OpenSSL enabled builds (or @@ -247,11 +229,11 @@ the bugs. Zlib Support ------------ -Starting with release 3.5.2, DCMTK supports the "Deflated Explicit VR Little -Endian" Transfer Syntax, i.e. ZIP-compressed network transmission and media -storage. DCMTK relies on the zlib toolkit (www.zlib.org) for the underlying -compression routines. This release of DCMTK is known to compile with zlib -releases 1.2.11 to 1.3, although other releases may work as well. +DCMTK supports the "Deflated Explicit VR Little Endian" Transfer Syntax, i.e. +ZIP-compressed network transmission and media storage. DCMTK relies on the +zlib toolkit (www.zlib.org) for the underlying compression routines. This +release of DCMTK is known to compile with zlib releases 1.2.13 to 1.3.1, +although other releases may work as well. When using CMake, a compiled version of the zlib libraries and include files must be available during compilation of DCMTK. See discussion on CMake below. @@ -260,10 +242,10 @@ must be available during compilation of DCMTK. See discussion on CMake below. Libtiff Support --------------- -Starting with release 3.5.1, DCMTK supports the conversion of DICOM images to -TIFF. DCMTK relies on the libtiff toolkit (www.libtiff.org) for this purpose. -This release of DCMTK is known to compile with libtiff releases 4.3.0 to 4.6.0, -although other releases may work as well. +DCMTK supports the conversion of DICOM images to TIFF. DCMTK relies on the +libtiff toolkit (www.libtiff.org) for this purpose. This release of DCMTK is +known to compile with libtiff releases 4.5.0 to 4.7.0, although other releases +may work as well. When using CMake, a compiled version of the libtiff libraries and include files must be available during compilation of DCMTK. See discussion on CMake below. @@ -272,10 +254,10 @@ must be available during compilation of DCMTK. See discussion on CMake below. Libpng Support -------------- -Starting with release 3.5.3, DCMTK supports the conversion of DICOM images to -PNG. DCMTK relies on the libpng toolkit (www.libpng.org) for this purpose. -This release of DCMTK is known to compile with libpng releases 1.6.37 to 1.6.40, -although other releases may work as well. +DCMTK supports the conversion of DICOM images to PNG. DCMTK relies on the +libpng toolkit (www.libpng.org) for this purpose. This release of DCMTK is +known to compile with libpng releases 1.6.39 to 1.6.44, although other releases +may work as well. When using CMake, a compiled version of the libpng libraries and include files must be available during compilation of DCMTK. See discussion on CMake below. @@ -284,10 +266,10 @@ must be available during compilation of DCMTK. See discussion on CMake below. Libxml2 Support --------------- -Starting with release 3.5.3, DCMTK supports the conversion of XML documents to -DICOM files. DCMTK relies on the libxml2 toolkit (www.libxml.org) for this -purpose. This release of DCMTK is known to compile with libxml2 releases -2.9.13 to 2.11.5, although other releases may work as well. +DCMTK supports the conversion of XML documents to DICOM files. DCMTK relies on +the libxml2 toolkit (www.libxml.org) for this purpose. This release of DCMTK +is known to compile with libxml2 releases 2.9.14 to 2.13.4, although other +releases may work as well. When using CMake, if support for XML import is desired, a compiled version of the libxml2 (and possibly iconv) libraries and include files must be available @@ -297,12 +279,11 @@ during compilation of DCMTK. See discussion on CMake below. TCP Wrapper (libwrap) Support ----------------------------- -Starting with release 3.5.3, DCMTK supports Wietse Venema's TCP wrappers -library (libwrap), which is freely available for most Unix platforms and part -of the default installation of most recent Linux distributions. This library -allows to enforce host-based access control via the "/etc/hosts.deny" and -"/etc/hosts.allow" configuration files. See "hosts_access(5)" man page for -details. +DCMTK supports Wietse Venema's TCP wrappers library (libwrap), which is freely +available for most Unix platforms and part of the default installation of most +recent Linux distributions. This library allows for enforcing host-based +access control via the "/etc/hosts.deny" and "/etc/hosts.allow" configuration +files. See "hosts_access(5)" man page for details. When using CMake, if support for TCP wrappers is desired, a compiled version of the libwrap library and include file "" must be available during @@ -318,19 +299,25 @@ distributions ship with an ANSI C compatible header file. Character Set Conversion Support -------------------------------- -Starting with release 3.6.2, DCMTK supports the conversion between different -character encodings, e.g. UTF-8 and ISO Latin-1. In DCMTK 3.6.8 and newer, -four implementations of character set conversion can be used: +DCMTK supports the conversion between different character encodings, e.g. UTF-8 +and ISO Latin-1. In DCMTK 3.6.8 and newer, three implementations of character +set conversion can be used: -- oficonv, a DCMTK module based on the Citrus iconv code in FreeBSD 13.1 +- oficonv, a DCMTK module based on the Citrus iconv code in FreeBSD - GNU libiconv -- International Components for Unicode (ICU) - iconv support provided by the C standard library DCMTK selects the built-in module oficonv by default. Other implementations can be activated by the user via the "--enable-charconv" argument (Autoconf) or "DCMTK_ENABLE_CHARSET_CONVERSION" (CMake). Selecting an implementation -that is not available will be ignored, i.e. the user choice will be overridden. +that is not available will be ignored, i.e. the user's choice will be +overridden. + +The exact values that can be chosen for "--enable-charconv" and +DCMTK_ENABLE_CHARSET_CONVERSION are: +- "oficonv" (default) +- "libiconv" +- "stdlibc" (for DCMTK_ENABLE_CHARSET_CONVERSION: "stdlibc (iconv)") LIBICONV SUPPORT @@ -345,37 +332,11 @@ and include files must be available during compilation of DCMTK. See discussion on CMake below. -ICU SUPPORT - -DCMTK supports the International Components for Unicode (ICU) library as an -alternative to the above mentioned libiconv. This release of DCMTK is known to -compile with ICU releases 70.1 to 72.1, although other releases may work as -well. - -The ICU may be easier to integrate on some more modern Linux distributions -(e.g. Arch Linux) and Windows than the libiconv but (due to the way it is -currently integrated) lacks support for converting the following character sets: - - ISO 2022 IR 87 (JIS X0208) - ISO 2022 IR 159 (JIS X0212) - -Furthermore, the ICU-based implementation currently does not support -transliteration. - -When using CMake, if support for character set conversion using ICU is desired, -a compiled version of the ICU libraries and include files must be available -during compilation of DCMTK. See discussion on CMake below. - -Note: ICU support will be removed from DCMTK in the future since the built-in -oficonv library provides more complete support for the character sets defined -in DICOM. - - SUPPORT FOR ICONV PROVIDED IN THE C STANDARD LIBRARY -DCMTK allows using the iconv implementation provided as part of the C standard -library on some platforms. Building DCMTK with this implementation may be -easier and reduce additional runtime dependencies, but this option should be +DCMTK allows for using the iconv implementation provided as part of the C +standard library on some platforms. Building DCMTK with this implementation may +be easier and reduce additional runtime dependencies, but this option should be used with caution: the iconv implementations from different C standard libraries may vary with regard to the supported character sets and functionalities. @@ -384,7 +345,7 @@ importantly, some iconv implementations provided by the C standard library do not support conversion to whatever character set the terminal is currently using, which we consider essential and, therefore, strongly suggest not to use those implementations (there is a new configure test for the issue, which allows -to query support for this on API level). +for querying support for this on API level). KNOWN ISSUES @@ -397,10 +358,10 @@ included independently from the user's choice, i.e. "--enable-charconv" or DCMTK currently has no mechanism to force including a certain "" instead, so this has to be achieved by manually modifying the include paths and/or DCMTK's code. Some platforms (e.g. Arch Linux) even rename the -"" provided as part of libiconv to "" or the like to avoid -name collisions. In this case, the user has to modify DCMTK's source code to -include the correct file, since we currently don't provide a configuration test -for it. +"" file provided as part of libiconv to "" or the like to +avoid name collisions. In this case, the user has to modify DCMTK's source code +to include the correct file, since we currently don't provide a configuration +test for it. USING THE NATIVE STL @@ -419,8 +380,8 @@ correctly in some versions of Visual Studio. It is furthermore possible to enable or disable individual STL features independently of the setting provided by "--enable-stl" or "DCMTK_ENABLE_STL" -respectively: use "--enable-stl-", "--disable-stl-" and/or -"DCMTK_ENABLE_STL_ (ON/OFF)" as appropriate, e.g. +respectively: use "--enable-stl-" or "--disable-stl-", or +set "DCMTK_ENABLE_STL_" to "ON" or "OFF" as appropriate, e.g. "--disable-stl-vector" or "-DDCMTK_ENABLE_STL_STRING=ON". @@ -429,25 +390,32 @@ SUPPORT FOR MODERN C++ STANDARDS DCMTK can be configured to use several features of modern C++ standards (e.g. C++11 move semantics, variadic templates and the like) instead of its own -workarounds and fallback implementations. This can be achieved using CMake's -variables "CMAKE_CXX_STANDARD" and "CMAKE_CXX_STANDARD_REQUIRED". -The previous mechanism only handled C++11 and is available on old versions of -CMake (versions prior 3.1.3): set "DCMTK_ENABLE_CXX11" to "ON". For Autoconf, -use the "--enable-cxx11" argument. Both the "DCMTK_ENABLE_CXX11" variable and -Autoconf support are now deprecated and will be removed in a future release. - -Enabling e.g. C++11 will change some parts of DCMTK's API, so a C++11 build of -DCMTK is potentially incompatible with a classic build of DCMTK. This setting -is, therefore, stored in "config/include/dcmtk/config/osconfig.h" and verified -when compiling DCMTK itself or any program that includes it. - -Setting "CMAKE_CXX_STANDARD" to "11" or some newer C++ standard will not +workarounds and fallback implementations. This can be achieved using the CMake +variable "CMAKE_CXX_STANDARD". + +By default, DCMTK will compile with "CMAKE_CXX_STANDARD" set to "11" (CXX11). +The user can choose to build with a newer C++ standard by setting +"CMAKE_CXX_STANDARD" accordingly. The following versions are supported: +- 11 (CXX11) +- 14 (CXX14) +- 17 (CXX17) +- 20 (CXX20) + +DCMTK will still compile with "CMAKE_CXX_STANDARD" set to "98" (CXX98), but +support will be removed in future versions of DCMTK. + +Using C++11 or later will change some parts of DCMTK's API, so a C++11 build of +DCMTK is potentially incompatible with a classic (C++98) build of DCMTK. This +setting is, therefore, stored in "config/include/dcmtk/config/osconfig.h" and +verified when compiling DCMTK itself or any program that includes it. + +Having "CMAKE_CXX_STANDARD" set to "11" (or some newer C++ standard) will not forcibly enable DCMTK to use the respective features but instead trigger running some configuration tests and only truly enable the features that are really supported (e.g. "std::error_code" is still not implemented as intended on newer versions of Visual Studio, so we keep using DCMTK's own implementation there). -Please note that this setting does not depend on enabling the STL features but +Please note that this setting does not depend on enabling the STL features, but not all combinations (e.g. enabling C++11 but disabling "std::string") may work. @@ -463,8 +431,8 @@ directories. In detail, these "CMakeLists.txt" files will serve as an input to CMake which will generate suitable build files for all of DCMTK's projects from these files. -DCMTK 3.6.8 requires CMake version 3.0.0 or later. We recommend using the -latest stable release of CMake (currently version 3.27.7) since newer versions +DCMTK 3.6.9 requires CMake version 3.7.0 or later. We recommend using the +latest stable release of CMake (currently version 3.31.2) since newer versions of CMake often provide better output in case of errors and are generally easier to use (for example, by providing better support for detecting the availability of third-party libraries). If possible, use the CMake version your operating @@ -512,7 +480,7 @@ DCMTKConfig.cmake AND DCMTKTargets.cmake ---------------------------------------- CMake permits to write files that describe the DCMTK build configuration -("DCMTConfig.cmake") as well as all targets (executables and libraries) that +("DCMTKConfig.cmake") as well as all targets (executables and libraries) that have been produced ("DCMTKTargets.cmake"). Those files can be utilized by external projects by using CMake's "find_package()" mechanism in "CONFIG" mode in order to adapt their own build configuration, and directly make use of all @@ -522,7 +490,7 @@ These files are written during installation to the installation directory's subfolder "/cmake" on Windows systems, and "/lib/cmake/dcmtk" on Unix-like systems. Additionally, these files are written to the main directory of CMake's build tree during the build, with all content (e.g. the include -paths within "DCMTConfig.cmake") pointing to the correct values for the build +paths within "DCMTKConfig.cmake") pointing to the correct values for the build tree. Thus, even a DCMTK build tree can be used by external projects that process these two files. @@ -538,15 +506,15 @@ able to do so, perform the following steps to install CMake on your machine: Follow all install instructions appropriately. In order to manually configure the support for the above mentioned external -libraries (OpenSSL, zlib, libtiff, libpng, libxml2 and libiconv or ICU), there -are basically two ways: +libraries (OpenSSL, zlib, libtiff, libpng, libxml2 and libiconv), there are +basically two ways: a. Using the "DCMTK_SUPPORT_LIBRARIES_DIR" setting: On Windows, users sometimes consider these third-party libraries hard to -compile and integrate with DCMTK. Therefore, the DCMTK download page offer a -package pre-built versions of these libraries ("support libraries") for -Windows. When this library package should be used, there is single CMake +compile and integrate with DCMTK. Therefore, the DCMTK download page offers a +package with pre-built versions of these libraries ("support libraries") for +Windows. When this library package should be used, there is a single CMake variable ("DCMTK_SUPPORT_LIBRARIES_DIR") that can be assigned to the main directory of the extracted third-party package. In that case, CMake will find and make available all third-party libraries to the DCMTK build and no further @@ -564,38 +532,38 @@ Through CMake, perform the following steps: 1. Go to Start -> Programs -> CMake -> "CMake" or "CMake (cmake-gui)" to start the CMake utility through which the configuration can be done. 2. In the entry field "Where is the source code:" enter the directory in which - the DCMTK source code resides, e.g. "C:\dcmtk-3.6.8". + the DCMTK source code resides, e.g. "C:\dcmtk-3.6.9". 3. In the entry field "Where to build the binaries:" enter the directory in which the libraries and binaries are to be built, e.g. "C:\dcmtk-msvc16". 4. In the combobox "Build for:" or "Specify the generator for this project:" - select the corresponding development environment which shall be used to - compile DCMTK (e.g. "Visual Studio 16 2019 Win64"). + select the corresponding development environment that shall be used to + compile the DCMTK (e.g. "Visual Studio 16 2019 Win64"). 5. Go "Configure". (CMake will look for a corresponding compiler, read in all of DCMTK's "CMakeLists.txt" files and perform some tests. The variables in the tabular area will be displayed in red. These variables can now be set in order to turn the support for any of the external libraries on or off.) 6. Make the corresponding configurations in CMake's user interface. For example, in order to turn on libxml2 support, set the value of variable - "DCMTK_WITH_XML" to "ON" and set the value of variable "WITH_LIBXMLINC" - to the path where the include files and libraries of libxml2 can be found, - e.g. "C:\libxml2-2.11.5". The support of all other external libraries can - be turned on in a similar way: + "DCMTK_WITH_XML" to "ON" and set the value of variable "WITH_LIBXMLINC" to + the path where the include files and libraries of libxml2 can be found, e.g. + "C:\libxml2-2.13.4". The support of all other external libraries can be + turned on in a similar way: libpng support: set "DCMTK_WITH_PNG" to "ON" and - set "WITH_LIBPNGINC" e.g. to "C:\libpng-1.6.40" + set "WITH_LIBPNGINC" e.g. to "C:\libpng-1.6.44" libtiff support: set "DCMTK_WITH_TIFF" to "ON" and - set "WITH_LIBTIFFINC" e.g. to "C:\libtiff-4.6.0" + set "WITH_LIBTIFFINC" e.g. to "C:\libtiff-4.7.0" OpenSSL support: set "DCMTK_WITH_OPENSSL" to "ON" and - set "WITH_OPENSSLINC" e.g. to "C:\openssl-1.1.1w" + set "WITH_OPENSSLINC" e.g. to "C:\openssl-3.4.0" zlib support: set "DCMTK_WITH_ZLIB" to "ON" and - set "WITH_ZLIBINC" e.g. to "C:\zlib-1.3" + set "WITH_ZLIBINC" e.g. to "C:\zlib-1.3.1" libiconv support: set "DCMTK_WITH_ICONV" to "ON" and @@ -607,12 +575,12 @@ Through CMake, perform the following steps: "DCMTK_WITH_ICONV") to "OFF". (Please note that the include files of all external libraries are always - expected in a directory named "include" below the directory which is + expected in a directory named "include" below the directory that is specified in "WITH_LIBXMLINC", "WITH_LIBPNGINC", "WITH_LIBTIFFINC", "WITH_OPENSSLINC", "WITH_ZLIBINC" or "WITH_LIBICONVINC".) (Please note also that the library files of all external libraries are always - expected in directory named "lib" below the directory which is specified in + expected in directory named "lib" below the directory that is specified in "WITH_LIBXMLINC", "WITH_LIBPNGINC", "WITH_LIBTIFFINC", "WITH_OPENSSLINC", "WITH_ZLIBINC" or "WITH_LIBICONV". Moreover, note that the following filenames must be used for the corresponding lib files: @@ -647,12 +615,6 @@ Through CMake, perform the following steps: "libchset_d.lib" - debug version "libchset_o.lib" - release version (optimized) - The ICU is integrated using CMake's "find_package()" mechanism, which is - somewhat different to the handmade scripts employed for the other libraries. - If you want to use the ICU instead of libiconv, you have to include it by - setting the appropriate variables for the "FindICU" module, see - https://cmake.org/cmake/help/latest/module/FindICU.html . - The debug versions of all libraries must be compiled for the multithread debug version of the runtime (/MTd), the release version must be compiled for the non-debug multithread runtime (/MT). Precompiled versions of all @@ -672,7 +634,7 @@ Through CMake, perform the following steps: of the "DCMTK_COMPILE_WIN32_MULTITHREADED_DLL" setting (see below). Default: ON. - DCMTK_COMPILE_WIN32_MULTITHREADED_DLL: Controls the Windows build - model. When this setting is "ON", DCMTK compiled with the + model. When this setting is "ON", DCMTK is compiled with the "Multithreaded DLL" build model (/MD or /MDd); when the setting is "OFF", DCMTK is compiled with the "Multithreaded" build model (/MT or /MTd). This setting is ignored unless the @@ -688,7 +650,7 @@ Through CMake, perform the following steps: - DCMTK_USE_WIN32_PROGRAMDATA: An experimental setting that will cause data files (such as the DICOM dictionary "dicom.dic" and the oficonv character set mapping tables) and configuration files to be installed - and expected in a subdirectory of the ProgramData directory. + and expected in a subdirectory of the "ProgramData" directory. 7. Go "Configure" a second time. (CMake will adjust the configuration according to the displayed specifications.) @@ -700,7 +662,7 @@ Through CMake, perform the following steps: Having performed these steps, the Microsoft Visual Studio IDE can be started, DCMTK's workspace file can be opened, and one or more of DCMTK's subprojects can be built. In case you want to build all libraries and applications, mark -the "ALL_BUILD" subproject and build it. The "INSTALL" subproject installs +the predefined target "ALL_BUILD" and build it. The "INSTALL" target installs the executables, libraries, include, support and documentation files to the directory specified by the variable "CMAKE_INSTALL_PREFIX" (very similar to "make install-all" on Unix systems). @@ -721,75 +683,74 @@ Known limitations of DCMTK on the Windows platform: Unix with CMake --------------- -One key difference when using CMake for building on Unix like systems is that we -use the "find_package()" mechanism for all external libraries and not just the -ICU. Most Unix like systems provide a package manager or even if not at least -have a consistent approach for where the libraries and include files are -installed such that the CMake "find_package()" mechanism typically finds them -out of the box. +One key difference when using CMake for building on Unix-like systems is that we +use the "find_package()" mechanism for all external libraries. Most Unix-like +systems provide a package manager or even if not at least have a consistent +approach for where the libraries and include files are installed such that the +CMake "find_package()" mechanism typically finds them out of the box. If that does not work or you want to use a different version of a library than the one in the default search paths, you should look at the documentation of the respective "find_package()" module to find out which variables need to be -modified, e.g. "FindZLIB" to control which version of the zlib will be used: -https://cmake.org/cmake/help/latest/module/FindZLIB.html . +modified, e.g. "FindZLIB" to control which version of the zlib will be used, +see: https://cmake.org/cmake/help/latest/module/FindZLIB.html . -The typical way to build DCMTK on Unix like systems with CMake is as follows +The typical way to build DCMTK on Unix-like systems with CMake is as follows (if not using the GUI, in that case look at the description for Windows above): - mkdir dcmtk-3.6.8-build - cd dcmtk-3.6.8-build - cmake ../dcmtk-3.6.8 + mkdir dcmtk-3.6.9-build + cd dcmtk-3.6.9-build + cmake ../dcmtk-3.6.9 make -j8 - make DESTDIR=../dcmtk-3.6.8-install install + make DESTDIR=../dcmtk-3.6.9-install install The above commands assume that the DCMTK source code was extracted to the -current working directory into a folder named "dcmtk-3.6.8". DCMTK will be +current working directory into a folder named "dcmtk-3.6.9". DCMTK will be configured using CMake with the default options, detecting and including all available support libraries and then compiled using eight CPU cores ("make -j8", adjust as needed). The result will be installed to the directory -"dcmtk-3.6.8-install" next to the source code directory. +"dcmtk-3.6.9-install" next to the source code directory. If you want to modify your build configuration, like enabling or disabling some features of DCMTK (e.g. PNG support), or if you need to modify the predefined -build-variables, you can use the curses based CMake configuration tool ccmake. +build variables, you can use the curses-based CMake configuration tool ccmake. First, create the initial build setup (system check) and then call "ccmake": - mkdir dcmtk-3.6.8-build - cd dcmtk-3.6.8-build - cmake ../dcmtk-3.6.8 - ccmake ../dcmtk-3.6.8 + mkdir dcmtk-3.6.9-build + cd dcmtk-3.6.9-build + cmake ../dcmtk-3.6.9 + ccmake ../dcmtk-3.6.9 Now you can modify the configuration values. Please see the help on the bottom of the screen. When finished, press "c" to generate a new build configuration, then quit ccmake. Now you can continue to build by calling "make" etc. If you already know the variable names, types and values to set, you can skip -the "ccmake" step above and can call "cmake" directly with the values set. +the ccmake step above and call "cmake" directly with the desired values set. Example for a build with TCP wrapper disabled: - mkdir dcmtk-3.6.8-build - cd dcmtk-3.6.8-build - cmake -DDCMTK_WITH_WRAP:BOOL=FALSE ../dcmtk-3.6.8 + mkdir dcmtk-3.6.9-build + cd dcmtk-3.6.9-build + cmake -DDCMTK_WITH_WRAP:BOOL=FALSE ../dcmtk-3.6.9 ... The format is "NAME:TYPE=VALUE". Use ccmake to find out the variable names and their types ("BOOL" with "TRUE"/"FALSE" or "STRING"). Some of the more important variables are: - - BUILD_APPS: Build the DCMTK command line tools? Default: ON. - - BUILD_SHARED_LIBS: Build the DCMTK libraries as shared libraries? - Default: OFF. - - CMAKE_BUILD_TYPE: Debug or Release build, default: Release. - - CMAKE_INSTALL_PREFIX: Installation prefix, default: /usr/local. - - DCMTK_DEFAULT_DICT: Activate the builtin, external or no DICOM data - dictionary on DCMTK startup? Default: builtin on Windows, external on - Linux/Posix. - - DCMTK_ENABLE_CXX11: Assume the compiler is C++11 compliant. Default: OFF. - - DCMTK_ENABLE_STL: Replace DCMTK's OFString, OFList, OFVector etc. by - the STL classes std::string, std::list, std::vector etc. Default: OFF. - - OPENSSL_ROOT_DIR: Directory where OpenSSL is installed. - Default: search in standard directories for headers and libraries. + - BUILD_APPS: Build the DCMTK command line tools? Default: ON. + - BUILD_SHARED_LIBS: Build the DCMTK libraries as shared libraries? + Default: OFF. + - CMAKE_BUILD_TYPE: Debug or Release build. Default: Release. + - CMAKE_INSTALL_PREFIX: Installation prefix. Default: "/usr/local". + - DCMTK_DEFAULT_DICT: Activate the builtin, external or no DICOM data + dictionary on DCMTK startup? Default: builtin on Windows, external on + Linux/Posix. + - CMAKE_CXX_STANDARD: C++ language version to be used. Default: 11. + - DCMTK_ENABLE_STL: Replace DCMTK's OFString, OFList, OFVector etc. by the + STL classes std::string, std::list, std::vector etc. Default: OFF. + - OPENSSL_ROOT_DIR: Directory where OpenSSL is installed. Default: search + in standard directories for headers and libraries. HTML DOCUMENTATION AND MAN PAGES @@ -798,20 +759,21 @@ HTML DOCUMENTATION AND MAN PAGES Most DCMTK modules have been documented with Doxygen (www.doxygen.org), a free source code documentation system similar to Javadoc. Unix users who have Doxygen installed can create a hypertext documentation with "make html" in the -"dcmtk-3.6.8" or "doxygen" directory; Windows and other CMake users should -build the "DOXYGEN" subproject. A project file for Microsoft's HTML Help -Workshop can also be generated allowing to create a single CHM file (compressed -HTML) from the documentation. Other output formats (e.g. LaTeX) can be enabled -by changing the configuration file in the "doxygen" directory. - -At the current time, dcmect, dcmfg, dcmiod, dcmimage, dcmimgle, dcmjpeg, -dcmpmap, dcmpstat, dcmrt, dcmseg, dcmsign, dcmsr, dcmtls, dcmtract, dcmwlm and -ofstd are completely documented; dcmdata, dcmjpls, dcmnet and oflog are almost -completely documented. See FAQ entry: "Where is rest of the documentation?" +"dcmtk-3.6.9" or "doxygen" directory; Windows and other CMake users should +build the "DOXYGEN" target. A project file for Microsoft's HTML Help Workshop +can also be generated allowing to create a single CHM file (compressed HTML) +from the documentation. Other output formats (e.g. LaTeX) can be enabled by +changing the configuration file in the "doxygen" directory. + +Currently, dcmapps, dcmect, dcmfg, dcmiod, dcmimage, dcmimgle, dcmjpeg, dcmpmap, +dcmpstat, dcmrt, dcmseg, dcmsign, dcmsr, dcmtls, dcmtract, dcmwlm, oficonv and +ofstd are completely documented; dcmdata, dcmjpls, dcmnet, dcmqrdb and oflog +are almost completely documented. See FAQ entry: "Where is rest of the +documentation?" On Unix platforms, man pages for all command line tools are installed during the "make install" step. In order to use them, just add the directory (e.g. -"/usr/local/share/man") to the "MANPATH" environment variable and try +"/usr/local/share/man") to the "MANPATH" environment variable and call "man dcmdump" to check whether it works. In order to generate plain text files from the man pages call "make text" in @@ -823,8 +785,8 @@ DICOM DATA DICTIONARY Almost all DCMTK tools and libraries require the so-called DICOM data dictionary (i.e. information from part 6 of the DICOM standard) to be available in order -to map the attribute tags to their associated Value Representation (VR), Value -Multiplicity (VM) and attribute name (official keyword). The data dictionary +to map the Attribute Tags to their associated Value Representation (VR), Value +Multiplicity (VM) and Attribute name (official keyword). The data dictionary can either be loaded from file (default on Unix systems) or be built into the respective tool / dcmdata library (default on Windows systems). The default behavior can be changed using appropriate configuration options. @@ -850,7 +812,7 @@ the CMake variable "DCMTK_ENABLE_BUILTIN_OFICONV_DATA" to "ON". This behavior is enabled by default when DCMTK is compiled into shared libraries (option "BUILD_SHARED_LIBS" set to "ON"), and disabled by default otherwise. Note that when using static libraries, the built-in mapping tables will increase the size -of each executable by ca. 4 MBytes. +of each executable by approx. 4 MBytes. The "DCMICONVPATH" environment variable is respected even when built-in mapping tables are available. In this case, the files referred to by "DCMICONVPATH" @@ -879,16 +841,16 @@ The tests are contained in a module's "tests" subdirectory. Some tests are marked as exhaustive and are only run if explicitly enabled, see below. When using Autoconf for building DCMTK, all tests can be run via "make check". -If a test fails, make will stop and the failure reason of the test which failed +If a test fails, make will stop and the failure reason of the test that failed should be visible. Additionally, you may run the exhaustive unit tests by typing "make check-exhaustive". You can also run the test suite with CMake. However, the steps needed for running the test suite depend on the generator used. The Visual Studio -generators will create a "RUN_TESTS" subproject. Building this project will -call CTest and run all tests. When using the Makefile generator, "make test" -runs the test suite. Additionally, you may run the exhaustive unit tests by -typing "make test-exhaustive". Other generators should use a similar approach. +generators will create a "RUN_TESTS" target. Building this project will call +CTest and run all tests. When using the Makefile generator, "make test" runs +the test suite. Additionally, you may run the exhaustive unit tests by typing +"make test-exhaustive". Other generators should use a similar approach. For closer inspection, individual tests can be run directly. The Makefiles will build the test runner for each module as "/tests/tests". CMake @@ -915,46 +877,16 @@ In detail, these are the variables that need to be provided: and can otherwise be set to default values: - DCMTK_ICONV_FLAGS_ANALYZED: should always be set to TRUE - DCMTK_FIXED_ICONV_CONVERSION_FLAGS: The output printed by the test program - config/tests/iconv.cc, when run on the target platform. This value is only - used when compiling with old libiconv versions (older than libiconv 1.8) - and determines the iconv behavior when encountering illegal byte sequences - during a character set conversion. Possible values are: + "config/tests/iconv.cc", when run on the target platform. This value is + only used when compiling with old libiconv versions (older than libiconv + 1.8) and determines the iconv behavior when encountering illegal byte + sequences during a character set conversion. Possible values are: - "AbortTranscodingOnIllegalSequence" (use as default) - "DiscardIllegalSequences" - DCMTK_STDLIBC_ICONV_HAS_DEFAULT_ENCODING: true if the test program - config/tests/lciconv.cc exits with a return code of zero, false otherwise. + "config/tests/lciconv.cc" exits with a return code of zero, false otherwise. This test determines if libiconv has a default encoding, i.e. if - iconv_open() accepts "" as an argument. Use FALSE as default. - - The following variables are only used when compiling with DCMTK_ENABLE_STL - and can otherwise be set to 0: - - HAVE_STL_VECTOR_TEST_RESULT: 1 if the platform provides a working - implementation, 0 otherwise - - HAVE_STL_ALGORITHM_TEST_RESULT: 1 if the platform provides a working - implementation, 0 otherwise - - HAVE_STL_LIMITS_TEST_RESULT: 1 if the platform provides a working - implementation, 0 otherwise - - HAVE_STL_LIST_TEST_RESULT: 1 if the platform provides a working - implementation, 0 otherwise - - HAVE_STL_MAP_TEST_RESULT: 1 if the platform provides a working - implementation, 0 otherwise - - HAVE_STL_MEMORY_TEST_RESULT: 1 if the platform provides a working - implementation, 0 otherwise - - HAVE_STL_STACK_TEST_RESULT: 1 if the platform provides a working - implementation, 0 otherwise - - HAVE_STL_STRING_TEST_RESULT: 1 if the platform provides a working - implementation, 0 otherwise - - HAVE_STL_TYPE_TRAITS_TEST_RESULT: 1 if the platform provides a working - implementation, 0 otherwise - - HAVE_STL_TUPLE_TEST_RESULT: 1 if the platform provides a working - implementation, 0 otherwise - - HAVE_STL_SYSTEM_ERROR_TEST_RESULT: 1 if the platform provides a working - implementation, 0 otherwise - - Furthermore, the file "arith.h" must be generated and copied to - config/include/dcmtk/config/arith.h in the **build** directory. - This file can be generated by compiling config/tests/arith.cc - and running the executable on the target platform. + "iconv_open()" accepts "" as an argument. Use FALSE as default. For further information on cross-compiling DCMTK, see: https://support.dcmtk.org/redmine/projects/dcmtk/wiki/Cross_Compiling @@ -968,7 +900,7 @@ removed in a future release. In the current release, the "configure" script in DCMTK's top-level main directory has been removed as the final warning for users of the Autoconf toolchain. If you prefer to build DCMTK with Autoconf, however, this is still possible. Perform the following steps from the top-level -("dcmtk-3.6.8") directory to compile and install the software: +("dcmtk-3.6.9") directory to compile and install the software: Step 0: cd config @@ -984,7 +916,7 @@ Step 1 executes the configure scripts in each subdirectory. First, the system capabilities are examined and then Makefiles are generated. By default, executables and other files will be installed (in Step 3) in the directory "/usr/local" in the corresponding subdirectories. If you wish to use another -install prefix you can use the "--prefix=" flag to configure. E.g., if +install prefix you can use the "--prefix=" option to configure. E.g., if you wish to install underneath your home directory in "~/dicom" then you should start configure as: @@ -993,40 +925,37 @@ start configure as: Step 1 is also the place where support for the external libraries can be enabled or disabled. By default, all libraries installed in the standard path are enabled automatically. Use the "--without-openssl" switch to disable OpenSSL -support. The "--with-opensslinc" option allows to specify the directory in +support. The "--with-opensslinc" option allows for specifying the directory in which OpenSSL is installed. This is usually the directory that has been used as "--prefix" when compiling and installing OpenSSL. For example, if you wish to enable the security enhancements, and OpenSSL is -installed in "/usr/local/apps/openssl-1.1.1w", then you should start configure -as: +installed in "/usr/local/apps/openssl-3.4.0", you should start configure as: ./configure --ignore-deprecation - --with-opensslinc=/usr/local/apps/openssl-1.1.1w + --with-opensslinc=/usr/local/apps/openssl-3.4.0 Configure will assume that the OpenSSL include files are installed in -"/usr/local/apps/openssl-1.1.1w/include" and will expect the library in -"/usr/local/apps/openssl-1.1.1w/lib". Appropriate options will be passed to +"/usr/local/apps/openssl-3.4.0/include" and will expect the library in +"/usr/local/apps/openssl-3.4.0/lib". Appropriate options will be passed to the compiler and the linker. -Support for zlib, libtiff, libpng, libxml2, libwrap, libiconv and/or ICU can be +Support for zlib, libtiff, libpng, libxml2, libwrap, and/or libiconv can be enabled in a similar way (in case these libraries are not installed in the standard path), e.g.: ./configure --ignore-deprecation - --with-libzlibinc=/usr/local/apps/zlib-1.3 - --with-libtiffinc=/usr/local/apps/libtiff-4.6.0 - --with-libpnginc=/usr/local/apps/libpng-1.6.40 - --with-libxmlinc=/usr/local/apps/libxml2-2.11.5 + --with-libzlibinc=/usr/local/apps/zlib-1.3.1 + --with-libtiffinc=/usr/local/apps/libtiff-4.7.0 + --with-libpnginc=/usr/local/apps/libpng-1.6.44 + --with-libxmlinc=/usr/local/apps/libxml2-2.13.4 --with-libwrapinc=/usr/local/apps/tcp_wrappers-7.6 --with-libiconvinc=/usr/local/apps/libiconv-1.17 - - --with-libicuinc=/usr/local/apps/icu-72.1 Different configure options can be combined in any order. "configure --help" will print a list of all existing configure options. "configure --help=short" -will display only those options specific to the DCMTK. Useful configure -options are: +will display only those options that are specific to the DCMTK. Useful +configure options are: --enable-debug compile with debug code, don't optimize --disable-debug compile without debug code (default) @@ -1037,14 +966,16 @@ options are: --enable-default-dict=TYPE enable default dictionary and specify type (external=default/builtin) --disable-default-dict disable default dictionary + --enable-dcmdictpath enable DCMDICTPATH environment variable (default) + --disable-dcmdictpath disable DCMDICTPATH environment variable --enable-private-tags enable private tag dictionary --disable-private-tags don't enable private tag dictionary (default) --disable-rpath do not hardcode runtime library paths --enable-charconv=TYPE enable character set conversion support - (libiconv/libicu/stdlibc/oficonv=default) + (libiconv/stdlibc/oficonv=default) --disable-charconv disable character set conversion support - --enable-cxx11 use C++11 - --disable-cxx11 do not use C++11 (default) + --enable-cxx11 use C++11 (default) + --disable-cxx11 do not use C++11 --enable-stl use C++ STL --disable-stl do not use C++ STL (default) @@ -1060,7 +991,7 @@ Step 3: Step 3 will install the executables and some support files (data dictionary, configuration and documentation files). If you also wish to install the libraries and include files then use "make install-lib". For the HTML -documentation (see below) use "make install-html" (requires Doxygen to be +documentation (see above) use "make install-html" (requires Doxygen to be installed); "make install-all" installs all of the above. In case the files should be installed in a temporary directory, e.g. in order @@ -1095,12 +1026,12 @@ system include files with incorrect ANSI function prototypes. You can set environment variables to initialize configure before it is called (before Step 1 above): - Set environment variable CC to the name of your C compiler. - Set environment variable CFLAGS to the compile flags of your C compiler. - Set environment variable CXX to the name of your C++ compiler. - Set environment variable CXXFLAGS to the compile flags of your C++ compiler. - Set environment variable LDFLAGS to your linker flags. - Set environment variable CPPFLAGS to you preprocessor flags. + Set environment variable "CC" to the name of your C compiler. + Set environment variable "CFLAGS" to the compile flags of your C compiler. + Set environment variable "CXX" to the name of your C++ compiler. + Set environment variable "CXXFLAGS" to the compile flags of your C++ compiler. + Set environment variable "LDFLAGS" to your linker flags. + Set environment variable "CPPFLAGS" to you preprocessor flags. You do not need to specify all the above environment variables since the default settings are sensible for most Unix compilers. Further influential @@ -1116,7 +1047,7 @@ See also the FAQ at https://forum.dcmtk.org/faq for more hints. Have fun. -M. Eichelberg, J. Riesmeier, M. Onken, J. Schlamelcher +M. Eichelberg, J. Riesmeier, M. Onken, T. Xu DCMTK Development Team, Oldenburg, Germany. -Last revised: 2023-11-26 (Riesmeier) +Last revised: 2024-12-10 (Onken) diff --git a/Makefile b/Makefile index 943f30c9..44ef8d37 100644 --- a/Makefile +++ b/Makefile @@ -9,39 +9,39 @@ include $(configdir)/Makefile.def .NOTPARALLEL: -all: config-all oficonv-all ofstd-all oflog-all dcmdata-all dcmiod-all dcmfg-all dcmseg-all dcmimgle-all dcmimage-all dcmjpeg-all dcmjpls-all dcmtls-all dcmnet-all dcmsr-all dcmsign-all dcmwlm-all dcmqrdb-all dcmpstat-all dcmrt-all dcmtract-all dcmpmap-all dcmect-all +all: config-all oficonv-all ofstd-all oflog-all dcmdata-all dcmiod-all dcmfg-all dcmseg-all dcmimgle-all dcmimage-all dcmjpeg-all dcmjpls-all dcmtls-all dcmnet-all dcmsr-all dcmsign-all dcmwlm-all dcmqrdb-all dcmpstat-all dcmrt-all dcmtract-all dcmpmap-all dcmect-all dcmapps-all -libsrc-all: oficonv-libsrc-all ofstd-libsrc-all oflog-libsrc-all dcmdata-libsrc-all dcmiod-libsrc-all dcmfg-libsrc-all dcmseg-libsrc-all dcmimgle-libsrc-all dcmimage-libsrc-all dcmjpeg-libsrc-all dcmjpls-libsrc-all dcmtls-libsrc-all dcmnet-libsrc-all dcmsr-libsrc-all dcmsign-libsrc-all dcmwlm-libsrc-all dcmqrdb-libsrc-all dcmpstat-libsrc-all dcmrt-libsrc-all dcmtract-libsrc-all dcmpmap-libsrc-all dcmect-libsrc-all +libsrc-all: oficonv-libsrc-all ofstd-libsrc-all oflog-libsrc-all dcmdata-libsrc-all dcmiod-libsrc-all dcmfg-libsrc-all dcmseg-libsrc-all dcmimgle-libsrc-all dcmimage-libsrc-all dcmjpeg-libsrc-all dcmjpls-libsrc-all dcmtls-libsrc-all dcmnet-libsrc-all dcmsr-libsrc-all dcmsign-libsrc-all dcmwlm-libsrc-all dcmqrdb-libsrc-all dcmpstat-libsrc-all dcmrt-libsrc-all dcmtract-libsrc-all dcmpmap-libsrc-all dcmect-libsrc-all dcmapps-libsrc-all -tests-all: config-tests-all oficonv-tests-all ofstd-tests-all oflog-tests-all dcmdata-tests-all dcmiod-tests-all dcmfg-tests-all dcmseg-tests-all dcmimgle-tests-all dcmimage-tests-all dcmjpeg-tests-all dcmjpls-tests-all dcmtls-tests-all dcmnet-tests-all dcmsr-tests-all dcmsign-tests-all dcmwlm-tests-all dcmqrdb-tests-all dcmpstat-tests-all dcmrt-tests-all dcmtract-tests-all dcmpmap-tests-all dcmect-tests-all +tests-all: config-tests-all oficonv-tests-all ofstd-tests-all oflog-tests-all dcmdata-tests-all dcmiod-tests-all dcmfg-tests-all dcmseg-tests-all dcmimgle-tests-all dcmimage-tests-all dcmjpeg-tests-all dcmjpls-tests-all dcmtls-tests-all dcmnet-tests-all dcmsr-tests-all dcmsign-tests-all dcmwlm-tests-all dcmqrdb-tests-all dcmpstat-tests-all dcmrt-tests-all dcmtract-tests-all dcmpmap-tests-all dcmect-tests-all dcmapps-tests-all -install: config-install oficonv-install ofstd-install oflog-install dcmdata-install dcmiod-install dcmfg-install dcmseg-install dcmimgle-install dcmimage-install dcmjpeg-install dcmjpls-install dcmtls-install dcmnet-install dcmsr-install dcmsign-install dcmwlm-install dcmqrdb-install dcmpstat-install dcmrt-install dcmtract-install dcmpmap-install dcmect-install dcmtk-install-doc install-man +install: config-install oficonv-install ofstd-install oflog-install dcmdata-install dcmiod-install dcmfg-install dcmseg-install dcmimgle-install dcmimage-install dcmjpeg-install dcmjpls-install dcmtls-install dcmnet-install dcmsr-install dcmsign-install dcmwlm-install dcmqrdb-install dcmpstat-install dcmrt-install dcmtract-install dcmpmap-install dcmect-install dcmapps-install dcmtk-install-doc install-man install-all: install install-lib install-html -install-bin: config-install-bin oficonv-install-bin ofstd-install-bin oflog-install-bin dcmdata-install-bin dcmiod-install-bin dcmfg-install-bin dcmseg-install-bin dcmimgle-install-bin dcmimage-install-bin dcmjpeg-install-bin dcmjpls-install-bin dcmtls-install-bin dcmnet-install-bin dcmsr-install-bin dcmsign-install-bin dcmwlm-install-bin dcmqrdb-install-bin dcmpstat-install-bin dcmrt-install-bin dcmtract-install-bin dcmpmap-install-bin dcmect-install-bin +install-bin: config-install-bin oficonv-install-bin ofstd-install-bin oflog-install-bin dcmdata-install-bin dcmiod-install-bin dcmfg-install-bin dcmseg-install-bin dcmimgle-install-bin dcmimage-install-bin dcmjpeg-install-bin dcmjpls-install-bin dcmtls-install-bin dcmnet-install-bin dcmsr-install-bin dcmsign-install-bin dcmwlm-install-bin dcmqrdb-install-bin dcmpstat-install-bin dcmrt-install-bin dcmtract-install-bin dcmpmap-install-bin dcmect-install-bin dcmapps-install-bin -install-doc: config-install-doc oficonv-install-doc ofstd-install-doc oflog-install-doc dcmdata-install-doc dcmiod-install-doc dcmfg-install-doc dcmseg-install-doc dcmimgle-install-doc dcmimage-install-doc dcmjpeg-install-doc dcmjpls-install-doc dcmtls-install-doc dcmnet-install-doc dcmsr-install-doc dcmsign-install-doc dcmwlm-install-doc dcmqrdb-install-doc dcmpstat-install-doc dcmrt-install-doc dcmtract-install-doc dcmpmap-install-doc dcmect-install-doc +install-doc: config-install-doc oficonv-install-doc ofstd-install-doc oflog-install-doc dcmdata-install-doc dcmiod-install-doc dcmfg-install-doc dcmseg-install-doc dcmimgle-install-doc dcmimage-install-doc dcmjpeg-install-doc dcmjpls-install-doc dcmtls-install-doc dcmnet-install-doc dcmsr-install-doc dcmsign-install-doc dcmwlm-install-doc dcmqrdb-install-doc dcmpstat-install-doc dcmrt-install-doc dcmtract-install-doc dcmpmap-install-doc dcmect-install-doc dcmapps-install-doc -install-data: config-install-data oficonv-install-data ofstd-install-data oflog-install-data dcmdata-install-data dcmiod-install-data dcmfg-install-data dcmseg-install-data dcmimgle-install-data dcmimage-install-data dcmjpeg-install-data dcmjpls-install-data dcmtls-install-data dcmnet-install-data dcmsr-install-data dcmsign-install-data dcmwlm-install-data dcmqrdb-install-data dcmpstat-install-data dcmrt-install-data dcmtract-install-data dcmpmap-install-data dcmect-install-data +install-data: config-install-data oficonv-install-data ofstd-install-data oflog-install-data dcmdata-install-data dcmiod-install-data dcmfg-install-data dcmseg-install-data dcmimgle-install-data dcmimage-install-data dcmjpeg-install-data dcmjpls-install-data dcmtls-install-data dcmnet-install-data dcmsr-install-data dcmsign-install-data dcmwlm-install-data dcmqrdb-install-data dcmpstat-install-data dcmrt-install-data dcmtract-install-data dcmpmap-install-data dcmect-install-data dcmapps-install-data -install-etc: config-install-etc oficonv-install-etc ofstd-install-etc oflog-install-etc dcmdata-install-etc dcmiod-install-etc dcmfg-install-etc dcmseg-install-etc dcmimgle-install-etc dcmimage-install-etc dcmjpeg-install-etc dcmjpls-install-etc dcmtls-install-etc dcmnet-install-etc dcmsr-install-etc dcmsign-install-etc dcmwlm-install-etc dcmqrdb-install-etc dcmpstat-install-etc dcmrt-install-etc dcmtract-install-etc dcmpmap-install-etc dcmect-install-etc +install-etc: config-install-etc oficonv-install-etc ofstd-install-etc oflog-install-etc dcmdata-install-etc dcmiod-install-etc dcmfg-install-etc dcmseg-install-etc dcmimgle-install-etc dcmimage-install-etc dcmjpeg-install-etc dcmjpls-install-etc dcmtls-install-etc dcmnet-install-etc dcmsr-install-etc dcmsign-install-etc dcmwlm-install-etc dcmqrdb-install-etc dcmpstat-install-etc dcmrt-install-etc dcmtract-install-etc dcmpmap-install-etc dcmect-install-etc dcmapps-install-etc -install-lib: config-install-lib oficonv-install-lib ofstd-install-lib oflog-install-lib dcmdata-install-lib dcmiod-install-lib dcmfg-install-lib dcmseg-install-lib dcmimgle-install-lib dcmimage-install-lib dcmjpeg-install-lib dcmjpls-install-lib dcmtls-install-lib dcmnet-install-lib dcmsr-install-lib dcmsign-install-lib dcmwlm-install-lib dcmqrdb-install-lib dcmpstat-install-lib dcmrt-install-lib dcmtract-install-lib dcmpmap-install-lib dcmect-install-lib +install-lib: config-install-lib oficonv-install-lib ofstd-install-lib oflog-install-lib dcmdata-install-lib dcmiod-install-lib dcmfg-install-lib dcmseg-install-lib dcmimgle-install-lib dcmimage-install-lib dcmjpeg-install-lib dcmjpls-install-lib dcmtls-install-lib dcmnet-install-lib dcmsr-install-lib dcmsign-install-lib dcmwlm-install-lib dcmqrdb-install-lib dcmpstat-install-lib dcmrt-install-lib dcmtract-install-lib dcmpmap-install-lib dcmect-install-lib dcmapps-install-lib -install-include: config-install-include oficonv-install-include ofstd-install-include oflog-install-include dcmdata-install-include dcmiod-install-include dcmfg-install-include dcmseg-install-include dcmimgle-install-include dcmimage-install-include dcmjpeg-install-include dcmjpls-install-include dcmtls-install-include dcmnet-install-include dcmsr-install-include dcmsign-install-include dcmwlm-install-include dcmqrdb-install-include dcmpstat-install-include dcmrt-install-include dcmtract-install-include dcmpmap-install-include dcmect-install-include +install-include: config-install-include oficonv-install-include ofstd-install-include oflog-install-include dcmdata-install-include dcmiod-install-include dcmfg-install-include dcmseg-install-include dcmimgle-install-include dcmimage-install-include dcmjpeg-install-include dcmjpls-install-include dcmtls-install-include dcmnet-install-include dcmsr-install-include dcmsign-install-include dcmwlm-install-include dcmqrdb-install-include dcmpstat-install-include dcmrt-install-include dcmtract-install-include dcmpmap-install-include dcmect-install-include dcmapps-install-include -install-support: config-install-support oficonv-install-support ofstd-install-support oflog-install-support dcmdata-install-support dcmiod-install-support dcmfg-install-support dcmseg-install-support dcmimgle-install-support dcmimage-install-support dcmjpeg-install-support dcmjpls-install-support dcmtls-install-support dcmnet-install-support dcmsr-install-support dcmsign-install-support dcmwlm-install-support dcmqrdb-install-support dcmpstat-install-support dcmrt-install-support dcmtract-install-support dcmpmap-install-support dcmect-install-support +install-support: config-install-support oficonv-install-support ofstd-install-support oflog-install-support dcmdata-install-support dcmiod-install-support dcmfg-install-support dcmseg-install-support dcmimgle-install-support dcmimage-install-support dcmjpeg-install-support dcmjpls-install-support dcmtls-install-support dcmnet-install-support dcmsr-install-support dcmsign-install-support dcmwlm-install-support dcmqrdb-install-support dcmpstat-install-support dcmrt-install-support dcmtract-install-support dcmpmap-install-support dcmect-install-support dcmapps-install-support check: tests-all $(MAKE) -s check-nosilent -check-nosilent: config-check oficonv-check ofstd-check oflog-check dcmdata-check dcmiod-check dcmfg-check dcmseg-check dcmimgle-check dcmimage-check dcmjpeg-check dcmjpls-check dcmtls-check dcmnet-check dcmsr-check dcmsign-check dcmwlm-check dcmqrdb-check dcmpstat-check dcmrt-check dcmtract-check dcmpmap-check dcmect-check +check-nosilent: config-check oficonv-check ofstd-check oflog-check dcmdata-check dcmiod-check dcmfg-check dcmseg-check dcmimgle-check dcmimage-check dcmjpeg-check dcmjpls-check dcmtls-check dcmnet-check dcmsr-check dcmsign-check dcmwlm-check dcmqrdb-check dcmpstat-check dcmrt-check dcmtract-check dcmpmap-check dcmect-check dcmapps-check check-exhaustive: tests-all $(MAKE) -s check-nosilent-exhaustive -check-nosilent-exhaustive: config-check-exhaustive oficonv-check-exhaustive ofstd-check-exhaustive oflog-check-exhaustive dcmdata-check-exhaustive dcmiod-check-exhaustive dcmfg-check-exhaustive dcmseg-check-exhaustive dcmimgle-check-exhaustive dcmimage-check-exhaustive dcmjpeg-check-exhaustive dcmjpls-check-exhaustive dcmtls-check-exhaustive dcmnet-check-exhaustive dcmsr-check-exhaustive dcmsign-check-exhaustive dcmwlm-check-exhaustive dcmqrdb-check-exhaustive dcmpstat-check-exhaustive dcmrt-check-exhaustive dcmtract-check-exhaustive dcmpmap-check-exhaustive dcmect-check-exhaustive +check-nosilent-exhaustive: config-check-exhaustive oficonv-check-exhaustive ofstd-check-exhaustive oflog-check-exhaustive dcmdata-check-exhaustive dcmiod-check-exhaustive dcmfg-check-exhaustive dcmseg-check-exhaustive dcmimgle-check-exhaustive dcmimage-check-exhaustive dcmjpeg-check-exhaustive dcmjpls-check-exhaustive dcmtls-check-exhaustive dcmnet-check-exhaustive dcmsr-check-exhaustive dcmsign-check-exhaustive dcmwlm-check-exhaustive dcmqrdb-check-exhaustive dcmpstat-check-exhaustive dcmrt-check-exhaustive dcmtract-check-exhaustive dcmpmap-check-exhaustive dcmect-check-exhaustive dcmapps-check-exhaustive dcmtk-install-doc: $(configdir)/mkinstalldirs $(DESTDIR)$(docdir) @@ -91,7 +91,7 @@ help: @echo "" @echo "The following modules are available:" @echo "" - @echo "oficonv ofstd oflog dcmdata dcmiod dcmfg dcmseg dcmimgle dcmimage dcmjpeg dcmjpls dcmtls dcmnet dcmsr dcmsign dcmwlm dcmqrdb dcmpstat dcmrt dcmtract dcmpmap dcmect" + @echo "oficonv ofstd oflog dcmdata dcmiod dcmfg dcmseg dcmimgle dcmimage dcmjpeg dcmjpls dcmtls dcmnet dcmsr dcmsign dcmwlm dcmqrdb dcmpstat dcmrt dcmtract dcmpmap dcmect dcmapps" config-all: (cd config && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" all) @@ -990,6 +990,45 @@ dcmect-check: dcmect-check-exhaustive: (cd dcmect && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" check-exhaustive) +dcmapps-all: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" all) + +dcmapps-libsrc-all: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" libsrc-all) + +dcmapps-tests-all: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" tests-all) + +dcmapps-install: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" install) + +dcmapps-install-bin: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" install-bin) + +dcmapps-install-doc: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" install-doc) + +dcmapps-install-data: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" install-data) + +dcmapps-install-etc: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" install-etc) + +dcmapps-install-lib: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" install-lib) + +dcmapps-install-include: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" install-include) + +dcmapps-install-support: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" install-support) + +dcmapps-check: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" check) + +dcmapps-check-exhaustive: + (cd dcmapps && $(MAKE) ARCH="$(ARCH)" DESTDIR="$(DESTDIR)" check-exhaustive) + dependencies: -(cd config && $(MAKE) dependencies) (cd oficonv && $(MAKE) dependencies) @@ -1014,6 +1053,7 @@ dependencies: (cd dcmtract && $(MAKE) dependencies) (cd dcmpmap && $(MAKE) dependencies) (cd dcmect && $(MAKE) dependencies) + (cd dcmapps && $(MAKE) dependencies) clean: (cd oficonv && $(MAKE) clean) @@ -1038,6 +1078,7 @@ clean: (cd dcmtract && $(MAKE) clean) (cd dcmpmap && $(MAKE) clean) (cd dcmect && $(MAKE) clean) + (cd dcmapps && $(MAKE) clean) (cd doxygen && $(MAKE) clean) -(cd config && $(MAKE) clean) rm -f $(TRASH) @@ -1065,6 +1106,7 @@ distclean: (cd dcmtract && $(MAKE) distclean) (cd dcmpmap && $(MAKE) distclean) (cd dcmect && $(MAKE) distclean) + (cd dcmapps && $(MAKE) distclean) (cd doxygen && $(MAKE) distclean) -(cd config && $(MAKE) distclean) rm -f $(TRASH) diff --git a/README b/README index d0060d29..2f13b82a 100644 --- a/README +++ b/README @@ -1,13 +1,14 @@ DCMTK -This DICOM ToolKit (DCMTK) package consists of source code, documentation -and installation instructions for a set of software libraries and -applications implementing part of the DICOM/MEDICOM Standard. +This DICOM toolkit (DCMTK) package consists of source code, documentation and +installation instructions for a set of software libraries and applications +implementing part of the DICOM/MEDICOM Standard. DCMTK contains the following sub-packages, each in its own sub-directory: config - configuration utilities for DCMTK + dcmapps - a collection of cross-module command line tools dcmdata - a data encoding/decoding library and utility apps dcmect - a library for working with Enhanced CT objects dcmfg - a library for working with functional groups @@ -36,10 +37,10 @@ application source code (apps), library source code (libsrc), library include files (include), configuration data (etc), documentation (docs), sample and support data (data) as well as test programs (tests). -To build and install the DCMTK package see the INSTALL file. For copyright -information see the COPYRIGHT file. For information about the history of -this software see the HISTORY file. For answers to frequently asked -questions please consult the FAQ: +To build and install the DCMTK package, see the INSTALL file. For copyright +information, see the COPYRIGHT file. For information about the history of +this software, see the HISTORY file. For answers to frequently asked +questions, please consult the FAQ: https://forum.dcmtk.org/faq/ @@ -51,10 +52,12 @@ further information (e.g. HOWTOs) can be found: If you find bugs or other problems with this software, we would appreciate hearing about them. Please send electronic mail to: - bugs/at/dcmtk/dot/org + bugs@dcmtk.org -Please try to describe the problem in detail and if possible give a -suggested fix. For general questions on how to compile, install or use -the toolkit we recommend the public discussion forum at: +Please try to describe the problem in detail and, if possible, give a suggested +fix. For more details on how to contribute, see the CONTRIBUTING.md file. + +For general questions on how to compile, install or use the toolkit, we +recommend the public discussion forum at: https://forum.dcmtk.org/ diff --git a/README.md b/README.md index 082fbb64..f3ddb857 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ # DCMTK -This DICOM ToolKit (DCMTK) package consists of source code, documentation and installation instructions for a set of software libraries and applications implementing part of the DICOM/MEDICOM Standard. +This DICOM toolkit (DCMTK) package consists of source code, documentation and installation instructions for a set of software libraries and applications implementing part of the DICOM/MEDICOM Standard. DCMTK contains the following sub-packages, each in its own sub-directory: - **config** - configuration utilities for DCMTK +- **dcmapps** - a collection of cross-module command line tools - **dcmdata** - a data encoding/decoding library and utility apps - **dcmect** - a library for working with Enhanced CT objects - **dcmfg** - a library for working with functional groups @@ -30,10 +31,10 @@ DCMTK contains the following sub-packages, each in its own sub-directory: Each sub-directory (except _config_) contains further sub-directories for application source code (_apps_), library source code (_libsrc_), library include files (_include_), configuration data (_etc_), documentation (_docs_), sample and support data (_data_) as well as test programs (_tests_). -To build and install the DCMTK package see the [INSTALL](INSTALL) file. For copyright information see the [COPYRIGHT](COPYRIGHT) file. For information about the history of this software see the [HISTORY](HISTORY) file. For answers to frequently asked questions please consult the [FAQ](https://forum.dcmtk.org/faq/). +To build and install the DCMTK package, see the [INSTALL](INSTALL) file. For copyright information, see the [COPYRIGHT](COPYRIGHT) file. For information about the history of this software, see the [HISTORY](HISTORY) file. For answers to frequently asked questions, please consult the [FAQ](https://forum.dcmtk.org/faq/). In addition to the API documentation, which is also available [online](https://support.dcmtk.org/docs/), there is a [Wiki](https://support.dcmtk.org/wiki/) system where further information (e.g. HOWTOs) can be found. -If you find bugs or other problems with this software, we would appreciate hearing about them. Please send electronic mail to: bugs/at/dcmtk/dot/org +If you find bugs or other problems with this software, we would appreciate hearing about them. Please send electronic mail to [bugs@dcmtk.org](mailto:bugs@dcmtk.org). Please try to describe the problem in detail and, if possible, give a suggested fix. For more details on how to contribute, see the [CONTRIBUTING.md](CONTRIBUTING.md) file. -Please try to describe the problem in detail and if possible give a suggested fix. For general questions on how to compile, install or use the toolkit we recommend the [public discussion forum](https://forum.dcmtk.org/). +For general questions on how to compile, install or use the toolkit, we recommend the [public discussion forum](https://forum.dcmtk.org/). diff --git a/VERSION b/VERSION index 424e1794..cff2619c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.6.8 +3.6.9 diff --git a/config/Makefile.in b/config/Makefile.in index 787662a5..888b1b19 100644 --- a/config/Makefile.in +++ b/config/Makefile.in @@ -9,7 +9,7 @@ SHELL = /bin/sh include @common_makefile@ -all: include/dcmtk/config/arith.h +all: install: all install-doc @@ -41,7 +41,6 @@ check-exhaustive: tests-all include-install: ./mkinstalldirs $(DESTDIR)$(includedir)/dcmtk/config $(INSTALL_DATA) include/dcmtk/config/osconfig.h $(DESTDIR)$(includedir)/dcmtk/config - $(INSTALL_DATA) include/dcmtk/config/arith.h $(DESTDIR)$(includedir)/dcmtk/config docs-install: ./mkinstalldirs $(DESTDIR)$(docdir) @@ -57,13 +56,5 @@ clean: rm -rf $(TRASH) distclean: - (cd include/dcmtk/config && rm -f $(DISTTRASH) osconfig.h arith.h) - rm -rf $(DISTTRASH) Makefile.def lzwtest.tif arith - -include/dcmtk/config/arith.h: arith - ./arith $@ - -arith: tests/arith.cc - $(CXX) $(CXXFLAGS) -Iinclude -I../ofstd/include -I../ofstd/libsrc -o$@ tests/$@.cc - -dependencies: include/dcmtk/config/arith.h + (cd include/dcmtk/config && rm -f $(DISTTRASH) osconfig.h) + rm -rf $(DISTTRASH) Makefile.def diff --git a/config/aclocal.m4 b/config/aclocal.m4 index 9714737e..38d2e6c1 100644 --- a/config/aclocal.m4 +++ b/config/aclocal.m4 @@ -1,7 +1,7 @@ dnl dnl Filename: aclocal.m4 dnl -dnl Purpose: additional M4 macros for GNU autoconf +dnl Purpose: additional M4 macros for GNU Autoconf dnl dnl Authors: Andreas Barth, Marco Eichelberg, Joerg Riesmeier, Jan Schlamelcher dnl @@ -289,71 +289,6 @@ unset ac_cv_declaration ]) -dnl AC_CHECK_INTP_SELECT checks if the prototype for select() -dnl specifies arguments 2-4 to be int* instead of struct fd_set *. -dnl This is true for HP UX 9.x and causes C++ code to break. -dnl -dnl AC_CHECK_INTP_SELECT(HEADER-FILE..., ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]) -AC_DEFUN(AC_CHECK_INTP_SELECT, -[AC_MSG_CHECKING([ifelse([$1], , [if select() needs int* parameters], -[if select() needs int* parameters (in $1)])]) -AH_TEMPLATE(HAVE_INTP_SELECT, [Define if your system declares argument 2-4 of select() - as int * instead of struct fd_set *.]) -ifelse([$1], , [ac_includes="" -], -[ac_includes="" -for ac_header in $1 -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done]) -AC_CACHE_VAL(ac_cv_prototype_intp_select, -[AC_TRY_COMPILE( -[#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -] -, -[ - int i; - fd_set fds; - i = select(1, &fds, &fds, &fds, NULL); -], -eval "ac_cv_prototype_intp_select=no", -[AC_TRY_COMPILE( -[#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -] -, -[ - int i; - int fds; - i = select(1, &fds, &fds, &fds, NULL); -], -eval "ac_cv_prototype_intp_select=yes", eval "ac_cv_prototype_intp_select=no")])]) -if eval "test \"`echo $ac_cv_prototype_intp_select`\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_INTP_SELECT) - ifelse([$2], , :, [$2]) -else - AC_MSG_RESULT(no) - ifelse([$3], , , [$3]) -fi -]) - - dnl AC_CHECK_TRY_COMPILE Try to compile the given source and set define dnl depending on the result. Additional includes are used if specified. dnl @@ -433,143 +368,6 @@ fi ]) -dnl AC_CHECK_CLASS_TEMPLATE checks if the C++-Compiler is capable of -dnl using class templates in the easiest form i. e. all methods are -dnl inline, no template methods and no typedefs in the class -dnl -dnl AC_CHECK_CLASS_TEMPLATE -AC_DEFUN(AC_CHECK_CLASS_TEMPLATE, -[AC_MSG_CHECKING([for C++ class template]) -AH_TEMPLATE(HAVE_CLASS_TEMPLATE, [Define if your C++ compiler can work with class templates.]) -AC_CACHE_VAL(ac_cv_check_class_template, -[AC_TRY_COMPILE_AND_LINK([ -template -class x -{ -private: - T a; -public: - void set(T i) { a = i; } - x(T i) { set(i); } - T get() { return a; } -}; -],[ - int i; - x a(4); - i = a.get(); - a.set(18); - i = a.get(); - a.set(i-1); -], eval "ac_cv_check_class_template=yes", eval "ac_cv_check_class_template=no")dnl -])dnl -if eval "test \"`echo '$ac_cv_check_class_template'`\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_CLASS_TEMPLATE) -else - AC_MSG_RESULT(no) -fi -]) - - -dnl AC_CHECK_FUNCTION_TEMPLATE checks if the C++-Compiler is capable of -dnl using function templates. -dnl -dnl AC_CHECK_FUNCTION_TEMPLATE -AC_DEFUN(AC_CHECK_FUNCTION_TEMPLATE, -[AC_MSG_CHECKING([for C++ function template]) -AH_TEMPLATE(HAVE_FUNCTION_TEMPLATE, [Define if your C++ compiler can work with function templates.]) -AC_CACHE_VAL(ac_cv_check_function_template, -[AC_TRY_COMPILE_AND_LINK([ -template -int f(T* a) -{ - if (a) return 1; - return 0; -} -],[ - int i, a; - i = f(&a); -], eval "ac_cv_check_function_template=yes", eval "ac_cv_check_function_template=no")dnl -])dnl -if eval "test \"`echo '$ac_cv_check_function_template'`\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_FUNCTION_TEMPLATE) -else - AC_MSG_RESULT(no) -fi -]) - - -dnl AC_CHECK_STATIC_TEMPLATE_METHOD checks if the C++-Compiler is capable of -dnl using static methods in template classes -dnl -dnl AC_CHECK_STATIC_TEMPLATE_METHOD -AC_DEFUN(AC_CHECK_STATIC_TEMPLATE_METHOD, -[AC_MSG_CHECKING([for C++ static methods in class templates]) -AH_TEMPLATE(HAVE_STATIC_TEMPLATE_METHOD, [Define if your C++ compiler can work with static methods in class templates.]) -AC_CACHE_VAL(ac_cv_check_static_template_method, -[AC_TRY_COMPILE_AND_LINK([ -void additive(int & i) -{ - i++; -} - -template -class x -{ -public: - x() { } - static void do1(Function f, int & a) { f(a); } - static void do2(T b) { T a = b; }; -}; -],[ - int a = 1; - x::do1(additive, a); - x::do2(a); -], eval "ac_cv_check_static_template_method=yes", eval "ac_cv_check_static_template_method=no")dnl -])dnl -if eval "test \"`echo '$ac_cv_check_static_template_method'`\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_STATIC_TEMPLATE_METHOD) -else - AC_MSG_RESULT(no) -fi -]) - - -dnl AC_CHECK_EXPLICIT_TEMPLATE_SPECIALIZATION checks if the C++-Compiler -dnl supports the explicit template specialization syntax, i.e. -dnl template<> int classname::functionname() -dnl -dnl AC_CHECK_EXPLICIT_TEMPLATE_SPECIALIZATION -AC_DEFUN(AC_CHECK_EXPLICIT_TEMPLATE_SPECIALIZATION, -[AC_MSG_CHECKING([for C++ explicit template specialization syntax]) -AH_TEMPLATE(HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION, [Define if your C++ compiler supports the explicit template specialization syntax.]) -AC_CACHE_VAL(ac_cv_check_explicit_template_specialization, -[AC_TRY_COMPILE([ -template -class X -{ - public: - int fn(); -}; - -template<> -int X::fn() -{ - return 0; -} -],[X x], eval "ac_cv_check_explicit_template_specialization=yes", eval "ac_cv_check_explicit_template_specialization=no")dnl -])dnl -if eval "test \"`echo '$ac_cv_check_explicit_template_specialization'`\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION) -else - AC_MSG_RESULT(no) -fi -]) - - dnl AC_CHECK_GNU_LIBTOOL checks whether libtool is GNU libtool. dnl This macro requires that 'libtool' exists in the current path, dnl i.e. AC_CHECK_PROGS(LIBTOOL, libtool, :) should be executed and evaluated @@ -844,115 +642,6 @@ fi ]) -dnl AC_MY_C_INLINE works like the standard script AC_C_INLINE -dnl but defines C_INLINE instead of redefining "inline" directly. -dnl -AC_DEFUN(AC_MY_C_INLINE, -[AH_TEMPLATE(C_INLINE, [Define to the inline keyword supported by the C compiler, if any, or to the empty string.]) -AC_CACHE_CHECK([for inline], ac_cv_my_c_inline, -[ac_cv_my_c_inline=no -for ac_kw in inline __inline__ __inline; do - AC_TRY_COMPILE(, [} $ac_kw foo() {], [ac_cv_my_c_inline=$ac_kw; break]) -done -]) -case "$ac_cv_my_c_inline" in - inline | yes) AC_DEFINE(C_INLINE, inline) ;; - no) AC_DEFINE(C_INLINE, ) ;; - *) AC_DEFINE_UNQUOTED(C_INLINE, $ac_cv_my_c_inline) ;; -esac -]) - - -dnl AC_MY_C_CONST works like the standard script AC_C_CONST -dnl but defines HAVE_C_CONST instead of redefining "const" directly. -dnl -AC_DEFUN(AC_MY_C_CONST, -[AH_TEMPLATE(HAVE_C_CONST, [Define if "const" is supported by the C compiler.]) -dnl This message is consistent in form with the other checking messages, -dnl and with the result message. -AC_CACHE_CHECK([for working const], ac_cv_my_c_const, -[AC_TRY_COMPILE(, -changequote(<<, >>)dnl -<< -/* Ultrix mips cc rejects this. */ -typedef int charset[2]; const charset x; -/* SunOS 4.1.1 cc rejects this. */ -char const *const *ccp; -char **p; -/* NEC SVR4.0.2 mips cc rejects this. */ -struct point {int x, y;}; -static struct point const zero = {0,0}; -/* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in an arm - of an if-expression whose if-part is not a constant expression */ -const char *g = "string"; -ccp = &g + (g ? g-g : 0); -/* HPUX 7.0 cc rejects these. */ -++ccp; -p = (char**) ccp; -ccp = (char const *const *) p; -{ /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; -} -{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; -} -{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; -} -{ /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; -} -{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -} ->>, -changequote([, ])dnl -ac_cv_my_c_const=yes, ac_cv_my_c_const=no)]) -if test $ac_cv_my_c_const = yes; then - AC_DEFINE(HAVE_C_CONST) -fi -]) - - -dnl AC_MY_C_CHAR_UNSIGNED works like the standard script AC_C_CHAR_UNSIGNED -dnl but defines C_CHAR_UNSIGNED instead of __CHAR_UNSIGNED__. -dnl -AC_DEFUN(AC_MY_C_CHAR_UNSIGNED, -[AH_TEMPLATE(C_CHAR_UNSIGNED, [Define if char is unsigned on the C compiler.]) -AC_CACHE_CHECK(whether char is unsigned, ac_cv_my_c_char_unsigned, -[if test "$GCC" = yes; then - # GCC predefines this symbol on systems where it applies. -AC_EGREP_CPP(yes, -[#ifdef __CHAR_UNSIGNED__ - yes -#endif -], ac_cv_my_c_char_unsigned=yes, ac_cv_my_c_char_unsigned=no) -else -AC_TRY_RUN( -[/* volatile prevents gcc2 from optimizing the test away on sparcs. */ -#if !defined(__STDC__) || __STDC__ != 1 -#define volatile -#endif -main() { - volatile char c = 255; exit(c < 0); -}], ac_cv_my_c_char_unsigned=yes, ac_cv_my_c_char_unsigned=no) -fi]) -if test $ac_cv_my_c_char_unsigned = yes ; then - AC_DEFINE(C_CHAR_UNSIGNED) -fi -]) - - dnl AC_MY_C_RIGHTSHIFT_UNSIGNED checks whether the right shift operation dnl is unsigned and, if yes, defines C_RIGHTSHIFT_UNSIGNED. dnl @@ -991,90 +680,6 @@ fi ]) -dnl AC_CHECK_IOS_NOCREATE checks if the flag ios::nocreate is defined. -dnl -dnl AC_CHECK_IOS_NOCREATE(IOS-Name, header [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) -AC_DEFUN(AC_CHECK_IOS_NOCREATE, -[ -AC_MSG_CHECKING([declaration of ios::nocreate (in $2)]) -AH_TEMPLATE(HAVE_IOS_NOCREATE, [Define if your system defines ios::nocreate in iostream.h.]) -ac_cv_declaration=ac_cv_declaration_ios_nocreate -AC_CACHE_VAL($ac_cv_declaration, -[AC_TRY_COMPILE([ -#include <$2> -], [namespace std { } -using namespace std; -ifstream file("name", $1::nocreate)] ,eval "$ac_cv_declaration=yes", eval "$ac_cv_declaration=no")])dnl -if eval "test \"\$$ac_cv_declaration\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_IOS_NOCREATE) - ifelse([$3], , :, [$3]) -else - AC_MSG_RESULT(no) -ifelse([$4], , , [$4 -])dnl -fi -unset ac_cv_declaration -]) - - -dnl AC_CHECK_OLD_READDIR_R checks if there is a function readdir_r -dnl conforming to the Posix 1.c Draft 6 interface, i.e. -dnl struct dirent *readdir_r(DIR *dirp, struct dirent *entry); -dnl instead of the Posix 1.c interface, i.e. -dnl int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -dnl -dnl The test macro AC_HEADER_DIRENT must be run before this test! -dnl -dnl AC_CHECK_OLD_READDIR_R([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) -AC_DEFUN(AC_CHECK_OLD_READDIR_R, -[ -AC_MSG_CHECKING([if declaration of readdir_r conforms to Posix 1.c draft 6]) -AH_TEMPLATE(HAVE_OLD_READDIR_R, [Define if your system supports readdir_r with the obsolete - Posix 1.c draft 6 declaration (2 arguments) instead of the - Posix 1.c declaration with 3 arguments.]) -ac_cv_result=ac_cv_old_readdir_r -AC_CACHE_VAL($ac_cv_result, -[AC_TRY_COMPILE([ -#ifdef __cplusplus -extern "C" { -#endif -#ifdef HAVE_DIRENT_H -#include -#else -#define dirent direct -#ifdef HAVE_SYS_NDIR_H -#include -#endif -#ifdef HAVE_SYS_DIR_H -#include -#endif -#ifdef HAVE_NDIR_H -#include -#endif -#endif -#ifdef __cplusplus -} -#endif -], [ - DIR *dirp; - struct dirent *dp; - dp = readdir_r(dirp, dp); -], eval "$ac_cv_result=yes", eval "$ac_cv_result=no")])dnl -if eval "test \"\$$ac_cv_result\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_OLD_READDIR_R) - ifelse([$1], , , [$1 -])dnl -else - AC_MSG_RESULT(no) - ifelse([$2], , , [$2 -])dnl -fi -unset ac_cv_result -]) - - dnl AC_CHECK_INTP_GETSOCKOPT checks if the prototype for getsockopt() dnl specifies arguments 5 to be int* instead of size_t *. dnl @@ -1136,239 +741,6 @@ fi ]) -dnl AC_CHECK_ELLIPSE_SIGNAL_HANDLER checks if the prototype for the -dnl callback function passed to signal() needs an ellipse (...) -dnl as parameter. Needed for example on Irix 5. -dnl The header files for signal() have to be specified. -dnl -dnl AC_CHECK_ELLIPSE_SIGNAL_HANDLER(HEADER-FILE..., ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]) -AC_DEFUN(AC_CHECK_ELLIPSE_SIGNAL_HANDLER, -[AC_MSG_CHECKING([ifelse([$1], , [if signal() callback needs ellipse], -[if signal() callback needs ellipse (in $1)])]) -AH_TEMPLATE(SIGNAL_HANDLER_WITH_ELLIPSE, [Define if signal handlers need ellipse (...) parameters.]) -ifelse([$1], , [ac_includes="" -], -[ac_includes="" -for ac_header in $1 -do - ac_includes="$ac_includes -#include<$ac_header>" -done]) -AC_CACHE_VAL(ac_cv_signal_handler_with_ellipse, -[AC_TRY_COMPILE( -[#ifdef __cplusplus -extern "C" { -#endif -$ac_includes - - void signal_handler(int) - { - } -#ifdef __cplusplus -} -#endif -] -, -[ - (void) signal(0, signal_handler); -], -eval "ac_cv_signal_handler_with_ellipse=no", -[AC_TRY_COMPILE( -[#ifdef __cplusplus -extern "C" { -#endif -$ac_includes - - void signal_handler(...) - { - } -#ifdef __cplusplus -} -#endif -] -, -[ - (void) signal(0, signal_handler); -], -eval "ac_cv_signal_handler_with_ellipse=yes", eval "ac_cv_signal_handler_with_ellipse=no")])]) -if eval "test \"`echo $ac_cv_signal_handler_with_ellipse`\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(SIGNAL_HANDLER_WITH_ELLIPSE) - ifelse([$2], , :, [$2]) -else - AC_MSG_RESULT(no) - ifelse([$3], , , [$3]) -fi -]) - - -dnl AC_INCLUDE_MATH_H_AS_CXX checks if must be included as a C++ -dnl include file (i.e. without extern "C"). Some sytems (Win32, HP/UX 10) -dnl use C++ language features in . -dnl -dnl AC_INCLUDE_MATH_H_AS_CXX(HEADER-FILE..., ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]) -AC_DEFUN(AC_INCLUDE_MATH_H_AS_CXX, -[AC_MSG_CHECKING([if fails if included extern "C"]) -AH_TEMPLATE(INCLUDE_MATH_H_AS_CXX, [Define if fails if included extern "C".]) -AC_CACHE_VAL(ac_cv_include_math_h_as_cxx, -[AC_TRY_COMPILE([ -extern "C" -{ -#include -} -], -[ -], -eval "ac_cv_include_math_h_as_cxx=no", -[AC_TRY_COMPILE([ -#include -], -[ -], -eval "ac_cv_include_math_h_as_cxx=yes", eval "ac_cv_include_math_h_as_cxx=no")])]) -if eval "test \"`echo $ac_cv_include_math_h_as_cxx`\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(INCLUDE_MATH_H_AS_CXX) - ifelse([$2], , :, [$2]) -else - AC_MSG_RESULT(no) - ifelse([$3], , , [$3]) -fi -]) - - -dnl AC_CHECK_CXX_VOLATILE checks if volatile is a built-in C++ keyword -dnl (which is not the case on older compilers). -dnl -dnl AC_CHECK_CXX_VOLATILE(ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]) -AC_DEFUN(AC_CHECK_CXX_VOLATILE, -[AC_MSG_CHECKING([if volatile is known keyword]) -AH_TEMPLATE(HAVE_CXX_VOLATILE, [Define if volatile is a known keyword.]) -AC_CACHE_VAL(ac_cv_have_cxx_volatile, -[AC_TRY_COMPILE([],[ -volatile int i=0; -], -eval "ac_cv_have_cxx_volatile=yes", -eval "ac_cv_have_cxx_volatile=no")]) -if eval "test \"`echo $ac_cv_have_cxx_volatile`\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_CXX_VOLATILE) - ifelse([$1], , :, [$1]) -else - AC_MSG_RESULT(no) - ifelse([$2], , , [$2]) -fi -]) - - -dnl Available from the GNU Autoconf Macro Archive at: -dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_typename.html -dnl -AC_DEFUN([AC_CXX_TYPENAME], -[AH_TEMPLATE(HAVE_TYPENAME, [Define if typename is a known keyword.]) -AC_CACHE_CHECK(whether the compiler recognizes typename, -ac_cv_cxx_typename, -[AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE([templateclass X {public:X(){}};], -[X z; return 0;], - ac_cv_cxx_typename=yes, ac_cv_cxx_typename=no) - AC_LANG_RESTORE -]) -if test "$ac_cv_cxx_typename" = yes; then - AC_DEFINE(HAVE_TYPENAME) -fi -]) - - -dnl Available from the GNU Autoconf Macro Archive at: -dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_const_cast.html -dnl -AC_DEFUN([AC_CXX_CONST_CAST], -[AH_TEMPLATE(HAVE_CONST_CAST, [Define if the compiler supports const_cast<>.]) -AC_CACHE_CHECK(whether the compiler supports const_cast<>, -ac_cv_cxx_const_cast, -[AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE(,[int x = 0;const int& y = x;int& z = const_cast(y);return z;], - ac_cv_cxx_const_cast=yes, ac_cv_cxx_const_cast=no) - AC_LANG_RESTORE -]) -if test "$ac_cv_cxx_const_cast" = yes; then - AC_DEFINE(HAVE_CONST_CAST) -fi -]) - - -dnl Available from the GNU Autoconf Macro Archive at: -dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_dynamic_cast.html -dnl -AC_DEFUN([AC_CXX_DYNAMIC_CAST], -[AH_TEMPLATE(HAVE_DYNAMIC_CAST, [Define if the compiler supports dynamic_cast<>.]) -AC_CACHE_CHECK(whether the compiler supports dynamic_cast<>, -ac_cv_cxx_dynamic_cast, -[AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE([#include -class Base { public : Base () {} virtual void f () = 0;}; -class Derived : public Base { public : Derived () {} virtual void f () {} };],[ -Derived d; Base& b=d; return dynamic_cast(&b) ? 0 : 1;], - ac_cv_cxx_dynamic_cast=yes, ac_cv_cxx_dynamic_cast=no) - AC_LANG_RESTORE -]) -if test "$ac_cv_cxx_dynamic_cast" = yes; then - AC_DEFINE(HAVE_DYNAMIC_CAST) -fi -]) - - -dnl Available from the GNU Autoconf Macro Archive at: -dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_reinterpret_cast.html -dnl -AC_DEFUN([AC_CXX_REINTERPRET_CAST], -[AH_TEMPLATE(HAVE_REINTERPRET_CAST, [Define if the compiler supports reinterpret_cast<>.]) -AC_CACHE_CHECK(whether the compiler supports reinterpret_cast<>, -ac_cv_cxx_reinterpret_cast, -[AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE([#include -class Base { public : Base () {} virtual void f () = 0;}; -class Derived : public Base { public : Derived () {} virtual void f () {} }; -class Unrelated { public : Unrelated () {} }; -int g (Unrelated&) { return 0; }],[ -Derived d;Base& b=d;Unrelated& e=reinterpret_cast(b);return g(e);], - ac_cv_cxx_reinterpret_cast=yes, ac_cv_cxx_reinterpret_cast=no) - AC_LANG_RESTORE -]) -if test "$ac_cv_cxx_reinterpret_cast" = yes; then - AC_DEFINE(HAVE_REINTERPRET_CAST) -fi -]) - - -dnl Available from the GNU Autoconf Macro Archive at: -dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_static_cast.html -dnl -AC_DEFUN([AC_CXX_STATIC_CAST], -[AH_TEMPLATE(HAVE_STATIC_CAST, [Define if the compiler supports static_cast<>.]) -AC_CACHE_CHECK(whether the compiler supports static_cast<>, -ac_cv_cxx_static_cast, -[AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE([#include -class Base { public : Base () {} virtual void f () = 0; }; -class Derived : public Base { public : Derived () {} virtual void f () {} }; -int g (Derived&) { return 0; }],[ -Derived d; Base& b = d; Derived& s = static_cast (b); return g (s);], - ac_cv_cxx_static_cast=yes, ac_cv_cxx_static_cast=no) - AC_LANG_RESTORE -]) -if test "$ac_cv_cxx_static_cast" = yes; then - AC_DEFINE(HAVE_STATIC_CAST) -fi -]) - - dnl AC_CXX_STD_NOTHROW checks if the compiler supports non-throwing new using dnl std::nothrow. dnl @@ -1407,8 +779,7 @@ fi ]) -dnl AC_CXX_NOTHROW_DELETE checks if the compiler supports non-throwing delete using -dnl std::nothrow. +dnl AC_CXX_STATIC_ASSERT checks if the compiler supports static_assert. dnl AC_DEFUN([AC_CXX_STATIC_ASSERT], [AH_TEMPLATE(HAVE_STATIC_ASSERT, [Define if the compiler supports static_assert.]) @@ -1426,29 +797,6 @@ fi ]) -dnl AC_CXX_LIBC_H_EXTERN_C checks if and cause a problem if -dnl libc.h is included extern "C" and math.h is not. This is the case on QNX -dnl 6.2.x and 6.5.x. -dnl -AC_DEFUN([AC_CXX_LIBC_H_EXTERN_C], -[AH_TEMPLATE(INCLUDE_LIBC_H_AS_CXX, [Define if libc.h should be treated as a C++ header.]) -AC_CACHE_CHECK(whether libc.h should be treated as a C++ header, -ac_cv_cxx_libc_h_is_cxx, -[AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE([extern "C" { -#include -} -#include ],[int i = 0], - ac_cv_cxx_libc_h_is_cxx=no, ac_cv_cxx_libc_h_is_cxx=yes) - AC_LANG_RESTORE -]) -if test "$ac_cv_cxx_libc_h_is_cxx" = yes; then - AC_DEFINE(INCLUDE_LIBC_H_AS_CXX) -fi -]) - - dnl AC_CHECK_POINTER_TYPE checks if a given type is a pointer type. dnl If header file(s) are given as argument 2, they dnl are #included in the search. The header files are only included in the search if they @@ -1678,31 +1026,6 @@ AC_DEFUN([MY_AC_SYS_LARGEFILE], ])# MY_AC_SYS_LARGEFILE -# -# AC_STDIO_NAMESPACE -# -# This macro checks with the C++ compiler whether fopen() in is -# in namespace standard or in global namespace. -# -AC_DEFUN([AC_STDIO_NAMESPACE], -[ AH_TEMPLATE(STDIO_NAMESPACE, [Namespace for ANSI C functions in standard C++ headers.]) - ac_cv_stdio_namespace_is_std=no - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE([ -#include -],[FILE *f = ::fopen("name", "r");], - ac_cv_stdio_namespace_is_std=no, ac_cv_stdio_namespace_is_std=yes) - AC_LANG_RESTORE - - if test "$ac_cv_stdio_namespace_is_std" = yes; then - AC_DEFINE(STDIO_NAMESPACE,[std::]) - else - AC_DEFINE(STDIO_NAMESPACE,[::]) - fi -]) - - dnl AC_CHECK_CHARP_STRERROR_R checks if the prototype for strerror_r() dnl specifies a return type of char * instead of int. This is the case dnl for the GNU version, whereas the XOPEN (XSI-compliant) version returns int. diff --git a/config/configure b/config/configure index 2f4c8714..5b46e1b2 100755 --- a/config/configure +++ b/config/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for dcmtk 3.6.8. +# Generated by GNU Autoconf 2.69 for dcmtk 3.6.9. # # Report bugs to . # @@ -579,9 +579,9 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='dcmtk' -PACKAGE_TARNAME='dcmtk-3.6.8' -PACKAGE_VERSION='3.6.8' -PACKAGE_STRING='dcmtk 3.6.8' +PACKAGE_TARNAME='dcmtk-3.6.9' +PACKAGE_VERSION='3.6.9' +PACKAGE_STRING='dcmtk 3.6.9' PACKAGE_BUGREPORT='bugs@dcmtk.org' PACKAGE_URL='https://www.dcmtk.org/' @@ -638,7 +638,6 @@ OPENSSLLIBS HAVE_CXX11 CHARCONVLIBS CHARCONVINCLUDES -ICU_CONFIG LIBOBJS EGREP GREP @@ -742,15 +741,12 @@ with_libsndfileinc with_libsndfile with_libiconvinc with_libiconv -with_libicuinc -with_libicu enable_charconv enable_builtin_oficonv enable_cxx11 enable_stl enable_stl_vector enable_stl_algorithm -enable_stl_limits enable_stl_list enable_stl_map enable_stl_memory @@ -759,6 +755,7 @@ enable_stl_string enable_stl_type_traits enable_stl_tuple enable_stl_system_error +enable_stl_atomic ' ac_precious_vars='build_alias host_alias @@ -807,13 +804,13 @@ bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' -datadir='${datarootdir}/dcmtk-3.6.8' -sysconfdir='${prefix}/etc/dcmtk-3.6.8' +datadir='${datarootdir}/dcmtk-3.6.9' +sysconfdir='${prefix}/etc/dcmtk-3.6.9' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' -docdir='${datarootdir}/doc/dcmtk-3.6.8' +docdir='${datarootdir}/doc/dcmtk-3.6.9' infodir='${datarootdir}/info' htmldir='${docdir}/html' dvidir='${docdir}' @@ -1313,7 +1310,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures dcmtk 3.6.8 to adapt to many kinds of systems. +\`configure' configures dcmtk 3.6.9 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1350,18 +1347,18 @@ Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc/dcmtk-3.6.8] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc/dcmtk-3.6.9] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only arch.-independent data [DATAROOTDIR/dcmtk-3.6.8] + --datadir=DIR read-only arch.-independent data [DATAROOTDIR/dcmtk-3.6.9] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/dcmtk-3.6.8] + --docdir=DIR documentation root [DATAROOTDIR/doc/dcmtk-3.6.9] --htmldir=DIR html documentation [DOCDIR/html] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1378,7 +1375,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of dcmtk 3.6.8:";; + short | recursive ) echo "Configuration of dcmtk 3.6.9:";; esac cat <<\_ACEOF @@ -1402,22 +1399,20 @@ Optional Features: --disable-private-tags don't enable private tag dictionary (default) --disable-rpath do not hardcode runtime library paths --enable-charconv=TYPE enable character set conversion support - (libiconv/libicu/stdlibc/oficonv=default) + (libiconv/stdlibc/oficonv=default) --disable-charconv disable character set conversion support --enable-builtin-oficonv enable builtin oficonv data files --disable-builtin-oficonv disable builtin oficonv data files (default) - --enable-cxx11 use C++11 - --disable-cxx11 do not use C++11 (default) + --enable-cxx11 use C++11 (default) + --disable-cxx11 do not use C++11 --enable-stl use C++ STL --disable-stl do not use C++ STL (default) --enable-stl-vector use C++ STL vector --disable-stl-vector do not use C++ STL vector --enable-stl-algorithm use C++ STL algorithm --disable-stl-algorithm do not use C++ STL algorithm - --enable-stl-limits use C++ STL limits - --disable-stl-limits do not use C++ STL limits --enable-stl-list use C++ STL list --disable-stl-list do not use C++ STL list --enable-stl-map use C++ STL map @@ -1438,6 +1433,10 @@ Optional Features: use C++ STL system_error --disable-stl-system_error do not use C++ STL system_error + --enable-stl-atomic + use C++ STL atomic + --disable-stl-atomic + do not use C++ STL atomic Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1471,9 +1470,6 @@ Optional Packages: --with-libiconvinc=DIR location of libiconv includes and libraries --with-libiconv include libiconv support (default: auto) --without-libiconv don't include libiconv support - --with-libicuinc=DIR location of libicu includes and libraries - --with-libicu include libicu support (default: auto) - --without-libicu don't include libicu support Some influential environment variables: CC C compiler command @@ -1555,7 +1551,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -dcmtk configure 3.6.8 +dcmtk configure 3.6.9 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2096,48 +2092,6 @@ fi } # ac_fn_cxx_try_link -# ac_fn_cxx_try_run LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_cxx_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_run - # ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES # --------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using @@ -2229,6 +2183,48 @@ fi } # ac_fn_cxx_check_header_mongrel +# ac_fn_cxx_try_run LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_cxx_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_run + # ac_fn_cxx_compute_int LINENO EXPR VAR INCLUDES # ---------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes @@ -2415,7 +2411,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by dcmtk $as_me 3.6.8, which was +It was created by dcmtk $as_me 3.6.9, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2780,13 +2776,13 @@ ac_config_headers="$ac_config_headers include/dcmtk/config/osconfig.h" # # Check for baseline language coverage in the compiler for the specified # version of the C++ standard. If necessary, add switches to CXX and -# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) -# or '14' (for the C++14 standard). +# CXXCPP to enable support. VERSION may be '11', '14', '17', or '20' for +# the respective C++ standard version. # # The second argument, if specified, indicates whether you insist on an # extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. # -std=c++11). If neither is specified, you get whatever works, with -# preference for an extended mode. +# preference for no added switch, and then for an extended mode. # # The third argument, if specified 'mandatory' or if left unspecified, # indicates that baseline support for the specified C++ standard is @@ -2803,14 +2799,25 @@ ac_config_headers="$ac_config_headers include/dcmtk/config/osconfig.h" # Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov # Copyright (c) 2015 Paul Norman # Copyright (c) 2015 Moritz Klammler -# Copyright (c) 2016 Krzesimir Nowak +# Copyright (c) 2016, 2018 Krzesimir Nowak +# Copyright (c) 2019 Enji Cooper +# Copyright (c) 2020 Jason Merrill +# Copyright (c) 2021 Joern Heusipp # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 7 +#serial 18 + + + + + + + + @@ -2839,8 +2846,8 @@ ac_config_headers="$ac_config_headers include/dcmtk/config/osconfig.h" PACKAGE_VERSION_NUMBER=368 -PACKAGE_VERSION_SUFFIX="" -PACKAGE_DATE="20231219" +PACKAGE_VERSION_SUFFIX="+" +PACKAGE_DATE="DEV" cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION_NUMBER ${PACKAGE_VERSION_NUMBER} @@ -3034,8 +3041,6 @@ _ACEOF - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} @@ -5182,217 +5187,7 @@ if test "$ac_res" != no; then : fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long file names" >&5 -$as_echo_n "checking for long file names... " >&6; } -if ${ac_cv_sys_long_file_names+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_sys_long_file_names=yes -# Test for long file names in all the places we know might matter: -# . the current directory, where building will happen -# $prefix/lib where we will be installing things -# $exec_prefix/lib likewise -# $TMPDIR if set, where it might want to write temporary files -# /tmp where it might want to write temporary files -# /var/tmp likewise -# /usr/tmp likewise -for ac_dir in . "$TMPDIR" /tmp /var/tmp /usr/tmp "$prefix/lib" "$exec_prefix/lib"; do - # Skip $TMPDIR if it is empty or bogus, and skip $exec_prefix/lib - # in the usual case where exec_prefix is '${prefix}'. - case $ac_dir in #( - . | /* | ?:[\\/]*) ;; #( - *) continue;; - esac - test -w "$ac_dir/." || continue # It is less confusing to not echo anything here. - ac_xdir=$ac_dir/cf$$ - (umask 077 && mkdir "$ac_xdir" 2>/dev/null) || continue - ac_tf1=$ac_xdir/conftest9012345 - ac_tf2=$ac_xdir/conftest9012346 - touch "$ac_tf1" 2>/dev/null && test -f "$ac_tf1" && test ! -f "$ac_tf2" || - ac_cv_sys_long_file_names=no - rm -f -r "$ac_xdir" 2>/dev/null - test $ac_cv_sys_long_file_names = no && break -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_long_file_names" >&5 -$as_echo "$ac_cv_sys_long_file_names" >&6; } -if test $ac_cv_sys_long_file_names = yes; then - -$as_echo "#define HAVE_LONG_FILE_NAMES 1" >>confdefs.h - -fi - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if ${ac_cv_my_c_inline+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_my_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -} $ac_kw foo() { - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_my_c_inline=$ac_kw; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_my_c_inline" >&5 -$as_echo "$ac_cv_my_c_inline" >&6; } -case "$ac_cv_my_c_inline" in - inline | yes) $as_echo "#define C_INLINE inline" >>confdefs.h - ;; - no) $as_echo "#define C_INLINE /**/" >>confdefs.h - ;; - *) cat >>confdefs.h <<_ACEOF -#define C_INLINE $ac_cv_my_c_inline -_ACEOF - ;; -esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working const" >&5 -$as_echo_n "checking for working const... " >&6; } -if ${ac_cv_my_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - -/* Ultrix mips cc rejects this. */ -typedef int charset[2]; const charset x; -/* SunOS 4.1.1 cc rejects this. */ -char const *const *ccp; -char **p; -/* NEC SVR4.0.2 mips cc rejects this. */ -struct point {int x, y;}; -static struct point const zero = {0,0}; -/* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in an arm - of an if-expression whose if-part is not a constant expression */ -const char *g = "string"; -ccp = &g + (g ? g-g : 0); -/* HPUX 7.0 cc rejects these. */ -++ccp; -p = (char**) ccp; -ccp = (char const *const *) p; -{ /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; -} -{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; -} -{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; -} -{ /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; -} -{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -} - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_my_c_const=yes -else - ac_cv_my_c_const=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_my_c_const" >&5 -$as_echo "$ac_cv_my_c_const" >&6; } -if test $ac_cv_my_c_const = yes; then - $as_echo "#define HAVE_C_CONST 1" >>confdefs.h - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether char is unsigned" >&5 -$as_echo_n "checking whether char is unsigned... " >&6; } -if ${ac_cv_my_c_char_unsigned+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$GCC" = yes; then - # GCC predefines this symbol on systems where it applies. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __CHAR_UNSIGNED__ - yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - ac_cv_my_c_char_unsigned=yes -else - ac_cv_my_c_char_unsigned=no -fi -rm -f conftest* - -else -if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* volatile prevents gcc2 from optimizing the test away on sparcs. */ -#if !defined(__STDC__) || __STDC__ != 1 -#define volatile -#endif -main() { - volatile char c = 255; exit(c < 0); -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_my_c_char_unsigned=yes -else - ac_cv_my_c_char_unsigned=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_my_c_char_unsigned" >&5 -$as_echo "$ac_cv_my_c_char_unsigned" >&6; } -if test $ac_cv_my_c_char_unsigned = yes ; then - $as_echo "#define C_CHAR_UNSIGNED 1" >>confdefs.h -fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether right shift is unsigned" >&5 @@ -5619,26 +5414,6 @@ cat >>confdefs.h <<_ACEOF #define HAVE_NO_TYPEDEF_ULONG 1 _ACEOF -fi - -ac_fn_c_check_type "$LINENO" "longlong" "ac_cv_type_longlong" "$ac_includes_default" -if test "x$ac_cv_type_longlong" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_LONGLONG 1 -_ACEOF - - -fi - -ac_fn_c_check_type "$LINENO" "ulonglong" "ac_cv_type_ulonglong" "$ac_includes_default" -if test "x$ac_cv_type_ulonglong" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_ULONGLONG 1 -_ACEOF - - fi ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default" @@ -5722,18 +5497,6 @@ _ACEOF fi -for ac_header in stdbool.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdbool.h" "ac_cv_header_stdbool_h" "$ac_includes_default" -if test "x$ac_cv_header_stdbool_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDBOOL_H 1 -_ACEOF - -fi - -done - for ac_header in stdint.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" @@ -5866,25 +5629,6 @@ test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in esac -for ac_func in vprintf -do : - ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" -if test "x$ac_cv_func_vprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VPRINTF 1 -_ACEOF - -ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt" -if test "x$ac_cv_func__doprnt" = xyes; then : - -$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h - -fi - -fi -done - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 $as_echo_n "checking return type of signal handlers... " >&6; } if ${ac_cv_type_signal+:} false; then : @@ -5918,83 +5662,19 @@ cat >>confdefs.h <<_ACEOF _ACEOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wait3 that fills in rusage" >&5 -$as_echo_n "checking for wait3 that fills in rusage... " >&6; } -if ${ac_cv_func_wait3_rusage+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_wait3_rusage=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -#include -#include -#include -/* HP-UX has wait3 but does not fill in rusage at all. */ -int -main () -{ - struct rusage r; - int i; - /* Use a field that we can force nonzero -- - voluntary context switches. - For systems like NeXT and OSF/1 that don't set it, - also use the system CPU time. And page faults (I/O) for Linux. */ - r.ru_nvcsw = 0; - r.ru_stime.tv_sec = 0; - r.ru_stime.tv_usec = 0; - r.ru_majflt = r.ru_minflt = 0; - switch (fork ()) - { - case 0: /* Child. */ - sleep(1); /* Give up the CPU. */ - _exit(0); - break; - case -1: /* What can we do? */ - _exit(0); - break; - default: /* Parent. */ - wait3(&i, 0, &r); - /* Avoid "text file busy" from rm on fast HP-UX machines. */ - sleep(2); - return (r.ru_nvcsw == 0 && r.ru_majflt == 0 && r.ru_minflt == 0 - && r.ru_stime.tv_sec == 0 && r.ru_stime.tv_usec == 0); - } -} +for ac_func in gethostid sysinfo +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_wait3_rusage=yes -else - ac_cv_func_wait3_rusage=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_wait3_rusage" >&5 -$as_echo "$ac_cv_func_wait3_rusage" >&6; } -if test $ac_cv_func_wait3_rusage = yes; then - -$as_echo "#define HAVE_WAIT3 1" >>confdefs.h - -fi - -for ac_func in gethostname gethostid socket sysinfo -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - + fi done -for ac_func in strchr strstr strtoul itoa atoll +for ac_func in itoa atoll do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -6006,19 +5686,18 @@ _ACEOF fi done -for ac_func in memcpy memset memmove memcmp bcopy bcmp +for ac_func in bcmp do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + ac_fn_c_check_func "$LINENO" "bcmp" "ac_cv_func_bcmp" +if test "x$ac_cv_func_bcmp" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_BCMP 1 _ACEOF fi done -for ac_func in getpid mktemp tempnam tmpnam getenv mkstemp +for ac_func in getpid mktemp mkstemp do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -6052,7 +5731,7 @@ _ACEOF fi done -for ac_func in strerror strdup index rindex access +for ac_func in strdup index rindex access do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -6099,25 +5778,23 @@ _ACEOF fi done -for ac_func in listen connect setsockopt getsockopt select +for ac_func in listen do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + ac_fn_c_check_func "$LINENO" "listen" "ac_cv_func_listen" +if test "x$ac_cv_func_listen" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_LISTEN 1 _ACEOF fi done -for ac_func in gethostbyname gethostbyname_r +for ac_func in gethostbyname_r do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + ac_fn_c_check_func "$LINENO" "gethostbyname_r" "ac_cv_func_gethostbyname_r" +if test "x$ac_cv_func_gethostbyname_r" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_GETHOSTBYNAME_R 1 _ACEOF fi @@ -6135,18 +5812,6 @@ _ACEOF fi done -for ac_func in bind accept getsockname getaddrinfo -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - for ac_func in getrusage do : ac_fn_c_check_func "$LINENO" "getrusage" "ac_cv_func_getrusage" @@ -6238,18 +5903,6 @@ _ACEOF fi done -for ac_func in mbstowcs wcstombs -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - for ac_func in popen pclose do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` @@ -6572,13 +6225,12 @@ fi SAVELIBS="$LIBS" LIBS="$LIBS -lm" -for ac_func in finite isinf isnan +for ac_func in finite do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite" +if test "x$ac_cv_func_finite" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_FINITE 1 _ACEOF fi @@ -6596,198 +6248,6 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports const_cast<>" >&5 -$as_echo_n "checking whether the compiler supports const_cast<>... " >&6; } -if ${ac_cv_cxx_const_cast+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -int x = 0;const int& y = x;int& z = const_cast(y);return z; - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_cxx_const_cast=yes -else - ac_cv_cxx_const_cast=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_const_cast" >&5 -$as_echo "$ac_cv_cxx_const_cast" >&6; } -if test "$ac_cv_cxx_const_cast" = yes; then - $as_echo "#define HAVE_CONST_CAST 1" >>confdefs.h - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports dynamic_cast<>" >&5 -$as_echo_n "checking whether the compiler supports dynamic_cast<>... " >&6; } -if ${ac_cv_cxx_dynamic_cast+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -class Base { public : Base () {} virtual void f () = 0;}; -class Derived : public Base { public : Derived () {} virtual void f () {} }; -int -main () -{ - -Derived d; Base& b=d; return dynamic_cast(&b) ? 0 : 1; - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_cxx_dynamic_cast=yes -else - ac_cv_cxx_dynamic_cast=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_dynamic_cast" >&5 -$as_echo "$ac_cv_cxx_dynamic_cast" >&6; } -if test "$ac_cv_cxx_dynamic_cast" = yes; then - $as_echo "#define HAVE_DYNAMIC_CAST 1" >>confdefs.h - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports reinterpret_cast<>" >&5 -$as_echo_n "checking whether the compiler supports reinterpret_cast<>... " >&6; } -if ${ac_cv_cxx_reinterpret_cast+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -class Base { public : Base () {} virtual void f () = 0;}; -class Derived : public Base { public : Derived () {} virtual void f () {} }; -class Unrelated { public : Unrelated () {} }; -int g (Unrelated&) { return 0; } -int -main () -{ - -Derived d;Base& b=d;Unrelated& e=reinterpret_cast(b);return g(e); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_cxx_reinterpret_cast=yes -else - ac_cv_cxx_reinterpret_cast=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_reinterpret_cast" >&5 -$as_echo "$ac_cv_cxx_reinterpret_cast" >&6; } -if test "$ac_cv_cxx_reinterpret_cast" = yes; then - $as_echo "#define HAVE_REINTERPRET_CAST 1" >>confdefs.h - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports static_cast<>" >&5 -$as_echo_n "checking whether the compiler supports static_cast<>... " >&6; } -if ${ac_cv_cxx_static_cast+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -class Base { public : Base () {} virtual void f () = 0; }; -class Derived : public Base { public : Derived () {} virtual void f () {} }; -int g (Derived&) { return 0; } -int -main () -{ - -Derived d; Base& b = d; Derived& s = static_cast (b); return g (s); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_cxx_static_cast=yes -else - ac_cv_cxx_static_cast=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_static_cast" >&5 -$as_echo "$ac_cv_cxx_static_cast" >&6; } -if test "$ac_cv_cxx_static_cast" = yes; then - $as_echo "#define HAVE_STATIC_CAST 1" >>confdefs.h - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::nothrow" >&5 $as_echo_n "checking whether the compiler supports std::nothrow... " >&6; } if ${ac_cv_cxx_std_nothrow+:} false; then : @@ -7075,44 +6535,6 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -liostream" >&5 -$as_echo_n "checking for main in -liostream... " >&6; } -if ${ac_cv_lib_iostream_main+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-liostream $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -int -main () -{ -return main (); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - ac_cv_lib_iostream_main=yes -else - ac_cv_lib_iostream_main=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iostream_main" >&5 -$as_echo "$ac_cv_lib_iostream_main" >&6; } -if test "x$ac_cv_lib_iostream_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBIOSTREAM 1 -_ACEOF - - LIBS="-liostream $LIBS" - -fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lnsl" >&5 $as_echo_n "checking for main in -lnsl... " >&6; } @@ -7529,155 +6951,42 @@ fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 +$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } +if ${ac_cv_header_sys_wait_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#include +#include +#include +#ifndef WEXITSTATUS +# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) +#endif +#ifndef WIFEXITED +# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) +#endif int main () { - + int s; + wait (&s); + s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes + ac_cv_header_sys_wait_h=yes else - ac_cv_header_stdc=no + ac_cv_header_sys_wait_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 -$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } -if ${ac_cv_header_sys_wait_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) -#endif -#ifndef WIFEXITED -# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) -#endif - -int -main () -{ - int s; - wait (&s); - s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_header_sys_wait_h=yes -else - ac_cv_header_sys_wait_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 -$as_echo "$ac_cv_header_sys_wait_h" >&6; } -if test $ac_cv_header_sys_wait_h = yes; then +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 +$as_echo "$ac_cv_header_sys_wait_h" >&6; } +if test $ac_cv_header_sys_wait_h = yes; then $as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h @@ -7841,6 +7150,7 @@ fi fi + for ac_header in netinet/in_systm.h do : ac_fn_cxx_check_header_mongrel "$LINENO" "netinet/in_systm.h" "ac_cv_header_netinet_in_systm_h" "$ac_includes_default" @@ -8041,48 +7351,24 @@ fi done -for ac_header in arpa/inet.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" -if test "x$ac_cv_header_arpa_inet_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ARPA_INET_H 1 -_ACEOF - -fi - -done - -for ac_header in assert.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "assert.h" "ac_cv_header_assert_h" "$ac_includes_default" -if test "x$ac_cv_header_assert_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ASSERT_H 1 -_ACEOF - -fi - -done - -for ac_header in ctype.h +for ac_header in atomic do : - ac_fn_cxx_check_header_mongrel "$LINENO" "ctype.h" "ac_cv_header_ctype_h" "$ac_includes_default" -if test "x$ac_cv_header_ctype_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "atomic" "ac_cv_header_atomic" "$ac_includes_default" +if test "x$ac_cv_header_atomic" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_CTYPE_H 1 +#define HAVE_ATOMIC 1 _ACEOF fi done -for ac_header in errno.h +for ac_header in arpa/inet.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "errno.h" "ac_cv_header_errno_h" "$ac_includes_default" -if test "x$ac_cv_header_errno_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" +if test "x$ac_cv_header_arpa_inet_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_ERRNO_H 1 +#define HAVE_ARPA_INET_H 1 _ACEOF fi @@ -8101,18 +7387,6 @@ fi done -for ac_header in float.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" -if test "x$ac_cv_header_float_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_FLOAT_H 1 -_ACEOF - -fi - -done - for ac_header in fnmatch.h do : ac_fn_cxx_check_header_mongrel "$LINENO" "fnmatch.h" "ac_cv_header_fnmatch_h" "$ac_includes_default" @@ -8125,30 +7399,6 @@ fi done -for ac_header in fstream -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "fstream" "ac_cv_header_fstream" "$ac_includes_default" -if test "x$ac_cv_header_fstream" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_FSTREAM 1 -_ACEOF - -fi - -done - -for ac_header in fstream.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "fstream.h" "ac_cv_header_fstream_h" "$ac_includes_default" -if test "x$ac_cv_header_fstream_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_FSTREAM_H 1 -_ACEOF - -fi - -done - for ac_header in grp.h do : ac_fn_cxx_check_header_mongrel "$LINENO" "grp.h" "ac_cv_header_grp_h" "$ac_includes_default" @@ -8185,502 +7435,190 @@ fi done -for ac_header in iomanip +for ac_header in iostream do : - ac_fn_cxx_check_header_mongrel "$LINENO" "iomanip" "ac_cv_header_iomanip" "$ac_includes_default" -if test "x$ac_cv_header_iomanip" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "iostream" "ac_cv_header_iostream" "$ac_includes_default" +if test "x$ac_cv_header_iostream" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_IOMANIP 1 +#define HAVE_IOSTREAM 1 _ACEOF fi done -for ac_header in iomanip.h +for ac_header in libc.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "iomanip.h" "ac_cv_header_iomanip_h" "$ac_includes_default" -if test "x$ac_cv_header_iomanip_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "libc.h" "ac_cv_header_libc_h" "$ac_includes_default" +if test "x$ac_cv_header_libc_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_IOMANIP_H 1 +#define HAVE_LIBC_H 1 _ACEOF fi done -for ac_header in iostream +for ac_header in malloc.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "iostream" "ac_cv_header_iostream" "$ac_includes_default" -if test "x$ac_cv_header_iostream" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default" +if test "x$ac_cv_header_malloc_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_IOSTREAM 1 +#define HAVE_MALLOC_H 1 _ACEOF fi done -for ac_header in iostream.h +for ac_header in mqueue.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "iostream.h" "ac_cv_header_iostream_h" "$ac_includes_default" -if test "x$ac_cv_header_iostream_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "mqueue.h" "ac_cv_header_mqueue_h" "$ac_includes_default" +if test "x$ac_cv_header_mqueue_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_IOSTREAM_H 1 +#define HAVE_MQUEUE_H 1 _ACEOF fi done -for ac_header in iso646.h +for ac_header in new do : - ac_fn_cxx_check_header_mongrel "$LINENO" "iso646.h" "ac_cv_header_iso646_h" "$ac_includes_default" -if test "x$ac_cv_header_iso646_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "new" "ac_cv_header_new" "$ac_includes_default" +if test "x$ac_cv_header_new" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_ISO646_H 1 +#define HAVE_NEW 1 _ACEOF fi done -for ac_header in libc.h +for ac_header in netdb.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "libc.h" "ac_cv_header_libc_h" "$ac_includes_default" -if test "x$ac_cv_header_libc_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" +if test "x$ac_cv_header_netdb_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_LIBC_H 1 +#define HAVE_NETDB_H 1 _ACEOF fi done -for ac_header in limits.h +for ac_header in pthread.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default" -if test "x$ac_cv_header_limits_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" +if test "x$ac_cv_header_pthread_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_LIMITS_H 1 +#define HAVE_PTHREAD_H 1 _ACEOF fi done -for ac_header in climits +for ac_header in pwd.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "climits" "ac_cv_header_climits" "$ac_includes_default" -if test "x$ac_cv_header_climits" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "$ac_includes_default" +if test "x$ac_cv_header_pwd_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_CLIMITS 1 +#define HAVE_PWD_H 1 _ACEOF fi done -for ac_header in locale.h +for ac_header in semaphore.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default" -if test "x$ac_cv_header_locale_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "semaphore.h" "ac_cv_header_semaphore_h" "$ac_includes_default" +if test "x$ac_cv_header_semaphore_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_LOCALE_H 1 +#define HAVE_SEMAPHORE_H 1 _ACEOF fi done -for ac_header in malloc.h +for ac_header in cstddef do : - ac_fn_cxx_check_header_mongrel "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default" -if test "x$ac_cv_header_malloc_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "cstddef" "ac_cv_header_cstddef" "$ac_includes_default" +if test "x$ac_cv_header_cstddef" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_MALLOC_H 1 +#define HAVE_CSTDDEF 1 _ACEOF fi done -for ac_header in math.h +for ac_header in stdint.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "math.h" "ac_cv_header_math_h" "$ac_includes_default" -if test "x$ac_cv_header_math_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +if test "x$ac_cv_header_stdint_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_MATH_H 1 +#define HAVE_STDINT_H 1 _ACEOF fi done -for ac_header in cmath +for ac_header in strings.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "cmath" "ac_cv_header_cmath" "$ac_includes_default" -if test "x$ac_cv_header_cmath" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "strings.h" "ac_cv_header_strings_h" "$ac_includes_default" +if test "x$ac_cv_header_strings_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_CMATH 1 +#define HAVE_STRINGS_H 1 _ACEOF fi done -for ac_header in mqueue.h +for ac_header in synch.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "mqueue.h" "ac_cv_header_mqueue_h" "$ac_includes_default" -if test "x$ac_cv_header_mqueue_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "synch.h" "ac_cv_header_synch_h" "$ac_includes_default" +if test "x$ac_cv_header_synch_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_MQUEUE_H 1 +#define HAVE_SYNCH_H 1 _ACEOF fi done -for ac_header in new +for ac_header in sys/errno.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "new" "ac_cv_header_new" "$ac_includes_default" -if test "x$ac_cv_header_new" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "sys/errno.h" "ac_cv_header_sys_errno_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_errno_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_NEW 1 +#define HAVE_SYS_ERRNO_H 1 _ACEOF fi done -for ac_header in new.h +for ac_header in sys/file.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "new.h" "ac_cv_header_new_h" "$ac_includes_default" -if test "x$ac_cv_header_new_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "sys/file.h" "ac_cv_header_sys_file_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_file_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_NEW_H 1 +#define HAVE_SYS_FILE_H 1 _ACEOF fi done -for ac_header in netdb.h +for ac_header in sys/msg.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" -if test "x$ac_cv_header_netdb_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NETDB_H 1 -_ACEOF - -fi - -done - -for ac_header in pthread.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" -if test "x$ac_cv_header_pthread_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PTHREAD_H 1 -_ACEOF - -fi - -done - -for ac_header in pwd.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "$ac_includes_default" -if test "x$ac_cv_header_pwd_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PWD_H 1 -_ACEOF - -fi - -done - -for ac_header in semaphore.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "semaphore.h" "ac_cv_header_semaphore_h" "$ac_includes_default" -if test "x$ac_cv_header_semaphore_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SEMAPHORE_H 1 -_ACEOF - -fi - -done - -for ac_header in setjmp.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "setjmp.h" "ac_cv_header_setjmp_h" "$ac_includes_default" -if test "x$ac_cv_header_setjmp_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SETJMP_H 1 -_ACEOF - -fi - -done - -for ac_header in signal.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "signal.h" "ac_cv_header_signal_h" "$ac_includes_default" -if test "x$ac_cv_header_signal_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SIGNAL_H 1 -_ACEOF - -fi - -done - -for ac_header in sstream -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "sstream" "ac_cv_header_sstream" "$ac_includes_default" -if test "x$ac_cv_header_sstream" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SSTREAM 1 -_ACEOF - -fi - -done - -for ac_header in sstream.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "sstream.h" "ac_cv_header_sstream_h" "$ac_includes_default" -if test "x$ac_cv_header_sstream_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SSTREAM_H 1 -_ACEOF - -fi - -done - -for ac_header in stat.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "stat.h" "ac_cv_header_stat_h" "$ac_includes_default" -if test "x$ac_cv_header_stat_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STAT_H 1 -_ACEOF - -fi - -done - -for ac_header in cstdarg -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "cstdarg" "ac_cv_header_cstdarg" "$ac_includes_default" -if test "x$ac_cv_header_cstdarg" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CSTDARG 1 -_ACEOF - -fi - -done - -for ac_header in stdarg.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "stdarg.h" "ac_cv_header_stdarg_h" "$ac_includes_default" -if test "x$ac_cv_header_stdarg_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDARG_H 1 -_ACEOF - -fi - -done - -for ac_header in stddef.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "stddef.h" "ac_cv_header_stddef_h" "$ac_includes_default" -if test "x$ac_cv_header_stddef_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDDEF_H 1 -_ACEOF - -fi - -done - -for ac_header in cstddef -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "cstddef" "ac_cv_header_cstddef" "$ac_includes_default" -if test "x$ac_cv_header_cstddef" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CSTDDEF 1 -_ACEOF - -fi - -done - -for ac_header in cstdio -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "cstdio" "ac_cv_header_cstdio" "$ac_includes_default" -if test "x$ac_cv_header_cstdio" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CSTDIO 1 -_ACEOF - -fi - -done - -for ac_header in stdio.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "stdio.h" "ac_cv_header_stdio_h" "$ac_includes_default" -if test "x$ac_cv_header_stdio_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDIO_H 1 -_ACEOF - -fi - -done - -for ac_header in stdint.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" -if test "x$ac_cv_header_stdint_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H 1 -_ACEOF - -fi - -done - -for ac_header in stdlib.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDLIB_H 1 -_ACEOF - -fi - -done - -for ac_header in streambuf.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "streambuf.h" "ac_cv_header_streambuf_h" "$ac_includes_default" -if test "x$ac_cv_header_streambuf_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STREAMBUF_H 1 -_ACEOF - -fi - -done - -for ac_header in string.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" -if test "x$ac_cv_header_string_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRING_H 1 -_ACEOF - -fi - -done - -for ac_header in strings.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "strings.h" "ac_cv_header_strings_h" "$ac_includes_default" -if test "x$ac_cv_header_strings_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRINGS_H 1 -_ACEOF - -fi - -done - -for ac_header in strstrea.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "strstrea.h" "ac_cv_header_strstrea_h" "$ac_includes_default" -if test "x$ac_cv_header_strstrea_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRSTREA_H 1 -_ACEOF - -fi - -done - -for ac_header in strstream -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "strstream" "ac_cv_header_strstream" "$ac_includes_default" -if test "x$ac_cv_header_strstream" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRSTREAM 1 -_ACEOF - -fi - -done - -for ac_header in strstream.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "strstream.h" "ac_cv_header_strstream_h" "$ac_includes_default" -if test "x$ac_cv_header_strstream_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRSTREAM_H 1 -_ACEOF - -fi - -done - -for ac_header in synch.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "synch.h" "ac_cv_header_synch_h" "$ac_includes_default" -if test "x$ac_cv_header_synch_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYNCH_H 1 -_ACEOF - -fi - -done - -for ac_header in sys/errno.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "sys/errno.h" "ac_cv_header_sys_errno_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_errno_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_ERRNO_H 1 -_ACEOF - -fi - -done - -for ac_header in sys/file.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "sys/file.h" "ac_cv_header_sys_file_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_file_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_FILE_H 1 -_ACEOF - -fi - -done - -for ac_header in sys/msg.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "sys/msg.h" "ac_cv_header_sys_msg_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_msg_h" = xyes; then : + ac_fn_cxx_check_header_mongrel "$LINENO" "sys/msg.h" "ac_cv_header_sys_msg_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_msg_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_MSG_H 1 _ACEOF @@ -8857,18 +7795,6 @@ fi done -for ac_header in time.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default" -if test "x$ac_cv_header_time_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_TIME_H 1 -_ACEOF - -fi - -done - for ac_header in unistd.h do : ac_fn_cxx_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" @@ -8905,51 +7831,6 @@ fi done -for ac_header in wchar.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default" -if test "x$ac_cv_header_wchar_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WCHAR_H 1 -_ACEOF - -fi - -done - -for ac_header in wctype.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "wctype.h" "ac_cv_header_wctype_h" "$ac_includes_default" -if test "x$ac_cv_header_wctype_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WCTYPE_H 1 -_ACEOF - -fi - -done - -for ac_header in fenv.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default" -if test "x$ac_cv_header_fenv_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_FENV_H 1 -_ACEOF - -fi - -done - -ac_fn_cxx_check_header_mongrel "$LINENO" "iterator" "ac_cv_header_iterator" "$ac_includes_default" -if test "x$ac_cv_header_iterator" = xyes; then : - -$as_echo "#define HAVE_ITERATOR_HEADER 1" >>confdefs.h - - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usable poll.h" >&5 @@ -8991,59 +7872,6 @@ $as_echo "no" >&6; } fi -if test $ac_cv_header_libc_h = yes ; then - if test $ac_cv_header_math_h = yes ; then - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libc.h should be treated as a C++ header" >&5 -$as_echo_n "checking whether libc.h should be treated as a C++ header... " >&6; } -if ${ac_cv_cxx_libc_h_is_cxx+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern "C" { -#include -} -#include -int -main () -{ -int i = 0 - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_cxx_libc_h_is_cxx=no -else - ac_cv_cxx_libc_h_is_cxx=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_libc_h_is_cxx" >&5 -$as_echo "$ac_cv_cxx_libc_h_is_cxx" >&6; } -if test "$ac_cv_cxx_libc_h_is_cxx" = yes; then - $as_echo "#define INCLUDE_LIBC_H_AS_CXX 1" >>confdefs.h - -fi - - fi -fi - if test $ac_cv_header_pthread_h = yes ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if pthread_t is a pointer type (in pthread.h)" >&5 @@ -9846,48 +8674,6 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for size_t" >&5 -$as_echo_n "checking for size_t... " >&6; } -if ${ac_cv_type_size_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((size_t *) 0) - return 0; -if (sizeof (size_t)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_type_size_t=yes -else - ac_cv_type_size_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_size_t" >&5 -$as_echo "$ac_cv_type_size_t" >&6; } -if test $ac_cv_type_size_t = yes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define HAVE_NO_TYPEDEF_SIZE_T 1 -_ACEOF - -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 $as_echo_n "checking for ssize_t... " >&6; } if ${ac_cv_type_ssize_t+:} false; then : @@ -10001,39 +8787,6 @@ if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then fi -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5 -$as_echo_n "checking size of char... " >&6; } -if ${ac_cv_sizeof_char+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_char" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (char) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_char=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5 -$as_echo "$ac_cv_sizeof_char" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_CHAR $ac_cv_sizeof_char -_ACEOF - - # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. @@ -10480,66 +9233,6 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for accept (in sys/types.h sys/socket.h)" >&5 -$as_echo_n "checking prototype for accept (in sys/types.h sys/socket.h)... " >&6; } - -: -ac_includes="" -for ac_header in sys/types.h sys/socket.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo accept | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct accept(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_ACCEPT 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -if test $ac_cv_prototype_accept = yes ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if accept() needs int* parameters (in sys/types.h sys/socket.h)" >&5 $as_echo_n "checking if accept() needs int* parameters (in sys/types.h sys/socket.h)... " >&6; } @@ -10631,13 +9324,12 @@ $as_echo "no" >&6; } fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for bind (in sys/types.h sys/socket.h)" >&5 -$as_echo_n "checking prototype for bind (in sys/types.h sys/socket.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for finite (in math.h)" >&5 +$as_echo_n "checking prototype for finite (in math.h)... " >&6; } : ac_includes="" -for ac_header in sys/types.h sys/socket.h +for ac_header in math.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -10645,7 +9337,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo bind | tr ' :' '__'` +tmp_save_1=`echo finite | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -10662,7 +9354,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct bind(dummyStruct); +dummyStruct finite(dummyStruct); int @@ -10683,7 +9375,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_BIND 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_FINITE 1" >>confdefs.h : else @@ -10691,12 +9383,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for connect (in sys/types.h sys/socket.h)" >&5 -$as_echo_n "checking prototype for connect (in sys/types.h sys/socket.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for std::isinf (in cmath)" >&5 +$as_echo_n "checking prototype for std::isinf (in cmath)... " >&6; } : ac_includes="" -for ac_header in sys/types.h sys/socket.h +for ac_header in cmath do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -10704,7 +9396,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo connect | tr ' :' '__'` +tmp_save_1=`echo std::isinf | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -10721,7 +9413,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct connect(dummyStruct); +dummyStruct std::isinf(dummyStruct); int @@ -10742,7 +9434,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_CONNECT 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_STD__ISINF 1" >>confdefs.h : else @@ -10750,12 +9442,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for finite (in math.h)" >&5 -$as_echo_n "checking prototype for finite (in math.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for std::isnan (in cmath)" >&5 +$as_echo_n "checking prototype for std::isnan (in cmath)... " >&6; } : ac_includes="" -for ac_header in math.h +for ac_header in cmath do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -10763,7 +9455,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo finite | tr ' :' '__'` +tmp_save_1=`echo std::isnan | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -10780,7 +9472,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct finite(dummyStruct); +dummyStruct std::isnan(dummyStruct); int @@ -10801,7 +9493,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_FINITE 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_STD__ISNAN 1" >>confdefs.h : else @@ -10809,12 +9501,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for isinf (in math.h)" >&5 -$as_echo_n "checking prototype for isinf (in math.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for flock (in sys/file.h)" >&5 +$as_echo_n "checking prototype for flock (in sys/file.h)... " >&6; } : ac_includes="" -for ac_header in math.h +for ac_header in sys/file.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -10822,7 +9514,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo isinf | tr ' :' '__'` +tmp_save_1=`echo flock | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -10839,7 +9531,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct isinf(dummyStruct); +dummyStruct flock(dummyStruct); int @@ -10860,7 +9552,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_ISINF 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_FLOCK 1" >>confdefs.h : else @@ -10868,12 +9560,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for isnan (in math.h)" >&5 -$as_echo_n "checking prototype for isnan (in math.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for gethostbyname_r (in libc.h unistd.h stdlib.h netdb.h)" >&5 +$as_echo_n "checking prototype for gethostbyname_r (in libc.h unistd.h stdlib.h netdb.h)... " >&6; } : ac_includes="" -for ac_header in math.h +for ac_header in libc.h unistd.h stdlib.h netdb.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -10881,7 +9573,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo isnan | tr ' :' '__'` +tmp_save_1=`echo gethostbyname_r | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -10898,7 +9590,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct isnan(dummyStruct); +dummyStruct gethostbyname_r(dummyStruct); int @@ -10919,7 +9611,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_ISNAN 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_GETHOSTBYNAME_R 1" >>confdefs.h : else @@ -10927,12 +9619,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for std::finite (in cmath)" >&5 -$as_echo_n "checking prototype for std::finite (in cmath)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for gethostbyaddr_r (in libc.h unistd.h stdlib.h netdb.h)" >&5 +$as_echo_n "checking prototype for gethostbyaddr_r (in libc.h unistd.h stdlib.h netdb.h)... " >&6; } : ac_includes="" -for ac_header in cmath +for ac_header in libc.h unistd.h stdlib.h netdb.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -10940,7 +9632,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo std::finite | tr ' :' '__'` +tmp_save_1=`echo gethostbyaddr_r | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -10957,7 +9649,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct std::finite(dummyStruct); +dummyStruct gethostbyaddr_r(dummyStruct); int @@ -10978,7 +9670,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_STD__FINITE 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_GETHOSTBYADDR_R 1" >>confdefs.h : else @@ -10986,12 +9678,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for std::isinf (in cmath)" >&5 -$as_echo_n "checking prototype for std::isinf (in cmath)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for gethostid (in libc.h unistd.h stdlib.h netdb.h)" >&5 +$as_echo_n "checking prototype for gethostid (in libc.h unistd.h stdlib.h netdb.h)... " >&6; } : ac_includes="" -for ac_header in cmath +for ac_header in libc.h unistd.h stdlib.h netdb.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -10999,7 +9691,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo std::isinf | tr ' :' '__'` +tmp_save_1=`echo gethostid | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -11016,7 +9708,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct std::isinf(dummyStruct); +dummyStruct gethostid(dummyStruct); int @@ -11037,7 +9729,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_STD__ISINF 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_GETHOSTID 1" >>confdefs.h : else @@ -11045,12 +9737,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for std::isnan (in cmath)" >&5 -$as_echo_n "checking prototype for std::isnan (in cmath)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for strerror_r (in string.h)" >&5 +$as_echo_n "checking prototype for strerror_r (in string.h)... " >&6; } : ac_includes="" -for ac_header in cmath +for ac_header in string.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -11058,7 +9750,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo std::isnan | tr ' :' '__'` +tmp_save_1=`echo strerror_r | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -11075,7 +9767,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct std::isnan(dummyStruct); +dummyStruct strerror_r(dummyStruct); int @@ -11096,7 +9788,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_STD__ISNAN 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_STRERROR_R 1" >>confdefs.h : else @@ -11104,21 +9796,17 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for flock (in sys/file.h)" >&5 -$as_echo_n "checking prototype for flock (in sys/file.h)... " >&6; } +if test $ac_cv_prototype_strerror_r = yes ; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if strerror_r() returns a char * (in string.h)" >&5 +$as_echo_n "checking if strerror_r() returns a char * (in string.h)... " >&6; } -: ac_includes="" -for ac_header in sys/file.h +for ac_header in string.h do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes + ac_includes="$ac_includes #include<$ac_header>" - fi done -tmp_save_1=`echo flock | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : +if ${ac_cv_prototype_charp_strerror_r+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11130,54 +9818,51 @@ $ac_includes #ifdef __cplusplus } #endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct flock(dummyStruct); int main () { + char *buf = 0; + int i = strerror_r(0, buf, 100) + ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" + eval "ac_cv_prototype_charp_strerror_r=no" else - eval "ac_cv_prototype_$tmp_save_1=yes" + eval "ac_cv_prototype_charp_strerror_r=yes" + fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then + +if eval "test \"`echo $ac_cv_prototype_charp_strerror_r`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_FLOCK 1" >>confdefs.h + $as_echo "#define HAVE_CHARP_STRERROR_R 1" >>confdefs.h : else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for gethostbyname (in libc.h unistd.h stdlib.h netdb.h)" >&5 -$as_echo_n "checking prototype for gethostbyname (in libc.h unistd.h stdlib.h netdb.h)... " >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if getsockopt() needs int* parameters (in sys/types.h sys/socket.h)" >&5 +$as_echo_n "checking if getsockopt() needs int* parameters (in sys/types.h sys/socket.h)... " >&6; } -: ac_includes="" -for ac_header in libc.h unistd.h stdlib.h netdb.h +for ac_header in sys/types.h sys/socket.h do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes + ac_includes="$ac_includes #include<$ac_header>" - fi done -tmp_save_1=`echo gethostbyname | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : +if ${ac_cv_prototype_intp_getsockopt+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11189,45 +9874,74 @@ $ac_includes #ifdef __cplusplus } #endif -typedef union { int member; } dummyStruct; + + +int +main () +{ + + int i; + size_t optlen; + i = getsockopt(0, 0, 0, 0, &optlen); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + eval "ac_cv_prototype_intp_getsockopt=no" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ #ifdef __cplusplus -extern "C" +extern "C" { +#endif +$ac_includes +#ifdef __cplusplus +} #endif -dummyStruct gethostbyname(dummyStruct); int main () { + int i; + int optlen; + i = getsockopt(0, 0, 0, 0, &optlen); + ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" + eval "ac_cv_prototype_intp_getsockopt=yes" else - eval "ac_cv_prototype_$tmp_save_1=yes" + eval "ac_cv_prototype_intp_getsockopt=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +if eval "test \"`echo $ac_cv_prototype_intp_getsockopt`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_GETHOSTBYNAME 1" >>confdefs.h + $as_echo "#define HAVE_INTP_GETSOCKOPT 1" >>confdefs.h : else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for gethostbyname_r (in libc.h unistd.h stdlib.h netdb.h)" >&5 -$as_echo_n "checking prototype for gethostbyname_r (in libc.h unistd.h stdlib.h netdb.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for gettimeofday (in sys/time.h unistd.h)" >&5 +$as_echo_n "checking prototype for gettimeofday (in sys/time.h unistd.h)... " >&6; } : ac_includes="" -for ac_header in libc.h unistd.h stdlib.h netdb.h +for ac_header in sys/time.h unistd.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -11235,7 +9949,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo gethostbyname_r | tr ' :' '__'` +tmp_save_1=`echo gettimeofday | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -11252,7 +9966,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct gethostbyname_r(dummyStruct); +dummyStruct gettimeofday(dummyStruct); int @@ -11273,7 +9987,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_GETHOSTBYNAME_R 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_GETTIMEOFDAY 1" >>confdefs.h : else @@ -11281,12 +9995,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for gethostbyaddr_r (in libc.h unistd.h stdlib.h netdb.h)" >&5 -$as_echo_n "checking prototype for gethostbyaddr_r (in libc.h unistd.h stdlib.h netdb.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for mktemp (in libc.h unistd.h stdlib.h)" >&5 +$as_echo_n "checking prototype for mktemp (in libc.h unistd.h stdlib.h)... " >&6; } : ac_includes="" -for ac_header in libc.h unistd.h stdlib.h netdb.h +for ac_header in libc.h unistd.h stdlib.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -11294,7 +10008,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo gethostbyaddr_r | tr ' :' '__'` +tmp_save_1=`echo mktemp | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -11311,7 +10025,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct gethostbyaddr_r(dummyStruct); +dummyStruct mktemp(dummyStruct); int @@ -11332,7 +10046,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_GETHOSTBYADDR_R 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_MKTEMP 1" >>confdefs.h : else @@ -11340,12 +10054,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for gethostid (in libc.h unistd.h stdlib.h netdb.h)" >&5 -$as_echo_n "checking prototype for gethostid (in libc.h unistd.h stdlib.h netdb.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for mkstemp (in libc.h unistd.h stdlib.h)" >&5 +$as_echo_n "checking prototype for mkstemp (in libc.h unistd.h stdlib.h)... " >&6; } : ac_includes="" -for ac_header in libc.h unistd.h stdlib.h netdb.h +for ac_header in libc.h unistd.h stdlib.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -11353,7 +10067,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo gethostid | tr ' :' '__'` +tmp_save_1=`echo mkstemp | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -11370,7 +10084,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct gethostid(dummyStruct); +dummyStruct mkstemp(dummyStruct); int @@ -11391,7 +10105,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_GETHOSTID 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_MKSTEMP 1" >>confdefs.h : else @@ -11399,12 +10113,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for gethostname (in unistd.h libc.h stdlib.h netdb.h)" >&5 -$as_echo_n "checking prototype for gethostname (in unistd.h libc.h stdlib.h netdb.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for strcasecmp (in string.h)" >&5 +$as_echo_n "checking prototype for strcasecmp (in string.h)... " >&6; } : ac_includes="" -for ac_header in unistd.h libc.h stdlib.h netdb.h +for ac_header in string.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -11412,7 +10126,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo gethostname | tr ' :' '__'` +tmp_save_1=`echo strcasecmp | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -11429,7 +10143,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct gethostname(dummyStruct); +dummyStruct strcasecmp(dummyStruct); int @@ -11450,7 +10164,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_GETHOSTNAME 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_STRCASECMP 1" >>confdefs.h : else @@ -11458,12 +10172,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for getsockname (in sys/types.h sys/socket.h)" >&5 -$as_echo_n "checking prototype for getsockname (in sys/types.h sys/socket.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for strncasecmp (in string.h)" >&5 +$as_echo_n "checking prototype for strncasecmp (in string.h)... " >&6; } : ac_includes="" -for ac_header in sys/types.h sys/socket.h +for ac_header in string.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -11471,7 +10185,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo getsockname | tr ' :' '__'` +tmp_save_1=`echo strncasecmp | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -11488,7 +10202,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct getsockname(dummyStruct); +dummyStruct strncasecmp(dummyStruct); int @@ -11509,7 +10223,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_GETSOCKNAME 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_STRNCASECMP 1" >>confdefs.h : else @@ -11517,12 +10231,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for getsockopt (in sys/types.h sys/socket.h)" >&5 -$as_echo_n "checking prototype for getsockopt (in sys/types.h sys/socket.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for usleep (in libc.h unistd.h stdlib.h)" >&5 +$as_echo_n "checking prototype for usleep (in libc.h unistd.h stdlib.h)... " >&6; } : ac_includes="" -for ac_header in sys/types.h sys/socket.h +for ac_header in libc.h unistd.h stdlib.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -11530,7 +10244,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo getsockopt | tr ' :' '__'` +tmp_save_1=`echo usleep | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -11547,7 +10261,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct getsockopt(dummyStruct); +dummyStruct usleep(dummyStruct); int @@ -11568,7 +10282,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_GETSOCKOPT 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_USLEEP 1" >>confdefs.h : else @@ -11576,12 +10290,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for strerror_r (in string.h)" >&5 -$as_echo_n "checking prototype for strerror_r (in string.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for vsnprintf (in stdio.h stdarg.h)" >&5 +$as_echo_n "checking prototype for vsnprintf (in stdio.h stdarg.h)... " >&6; } : ac_includes="" -for ac_header in string.h +for ac_header in stdio.h stdarg.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -11589,7 +10303,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo strerror_r | tr ' :' '__'` +tmp_save_1=`echo vsnprintf | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -11606,7 +10320,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct strerror_r(dummyStruct); +dummyStruct vsnprintf(dummyStruct); int @@ -11627,7 +10341,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_STRERROR_R 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_VSNPRINTF 1" >>confdefs.h : else @@ -11635,17 +10349,21 @@ else $as_echo "no" >&6; } fi -if test $ac_cv_prototype_strerror_r = yes ; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if strerror_r() returns a char * (in string.h)" >&5 -$as_echo_n "checking if strerror_r() returns a char * (in string.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for waitpid (in sys/wait.h sys/time.h sys/resource.h)" >&5 +$as_echo_n "checking prototype for waitpid (in sys/wait.h sys/time.h sys/resource.h)... " >&6; } +: ac_includes="" -for ac_header in string.h +for ac_header in sys/wait.h sys/time.h sys/resource.h do - ac_includes="$ac_includes + ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then + ac_includes="$ac_includes #include<$ac_header>" + fi done -if ${ac_cv_prototype_charp_strerror_r+:} false; then : +tmp_save_1=`echo waitpid | tr ' :' '__'` +if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11657,132 +10375,147 @@ $ac_includes #ifdef __cplusplus } #endif +typedef union { int member; } dummyStruct; +#ifdef __cplusplus +extern "C" +#endif +dummyStruct waitpid(dummyStruct); int main () { - char *buf = 0; - int i = strerror_r(0, buf, 100) - ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_charp_strerror_r=no" + eval "ac_cv_prototype_$tmp_save_1=no" else - eval "ac_cv_prototype_charp_strerror_r=yes" - + eval "ac_cv_prototype_$tmp_save_1=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - -if eval "test \"`echo $ac_cv_prototype_charp_strerror_r`\" = yes"; then +if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_CHARP_STRERROR_R 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_WAITPID 1" >>confdefs.h : else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ standard namespace" >&5 +$as_echo_n "checking for C++ standard namespace... " >&6; } + +if ${ac_cv_check_std_namespace+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_link_o='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.o $LIBS 1>&5' +cat > conftest.$ac_ext < +using namespace std; + +int main() { + + cout << "Hello World" << endl; +; return 0; } +EOF +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link_o\""; } >&5 + (eval $ac_link_o) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + rm -rf conftest* + eval "ac_cv_check_std_namespace=yes" + else + echo "configure: failed link was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_check_std_namespace=no" + fi +else + echo "configure: failed compile was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_check_std_namespace=no" +fi +rm -f conftest* fi +if eval "test \"`echo '$ac_cv_check_std_namespace'`\" = yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define HAVE_STD_NAMESPACE 1" >>confdefs.h +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -if test $ac_cv_prototype_getsockopt = yes ; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if getsockopt() needs int* parameters (in sys/types.h sys/socket.h)" >&5 -$as_echo_n "checking if getsockopt() needs int* parameters (in sys/types.h sys/socket.h)... " >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for std::vfprintf (in cstdarg cstdio)" >&5 +$as_echo_n "checking for std::vfprintf (in cstdarg cstdio)... " >&6; } ac_includes="" -for ac_header in sys/types.h sys/socket.h +for ac_header in cstdarg cstdio do - ac_includes="$ac_includes + ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then + ac_includes="$ac_includes #include<$ac_header>" + fi done -if ${ac_cv_prototype_intp_getsockopt+:} false; then : +tmp_save_1=`echo std::vfprintf | tr ' :' '__'` +if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif - - -int -main () -{ - - int i; - size_t optlen; - i = getsockopt(0, 0, 0, 0, &optlen); - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_intp_getsockopt=no" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif $ac_includes -#ifdef __cplusplus -} -#endif - - int main () { - - int i; - int optlen; - i = getsockopt(0, 0, 0, 0, &optlen); - +FILE *stream; va_list ap; std::vfprintf(stream, "", ap); ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_intp_getsockopt=yes" + eval "ac_cv_compiles_$tmp_save_1=yes" else - eval "ac_cv_prototype_intp_getsockopt=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval "ac_cv_compiles_$tmp_save_1=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - -if eval "test \"`echo $ac_cv_prototype_intp_getsockopt`\" = yes"; then +if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_INTP_GETSOCKOPT 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_STD__VFPRINTF 1" >>confdefs.h : else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for gettimeofday (in sys/time.h unistd.h)" >&5 -$as_echo_n "checking prototype for gettimeofday (in sys/time.h unistd.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for std::vsnprintf (in cstdarg cstdio)" >&5 +$as_echo_n "checking for std::vsnprintf (in cstdarg cstdio)... " >&6; } -: ac_includes="" -for ac_header in sys/time.h unistd.h +for ac_header in cstdarg cstdio do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -11790,45 +10523,32 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo gettimeofday | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : +tmp_save_1=`echo std::vsnprintf | tr ' :' '__'` +if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif $ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct gettimeofday(dummyStruct); - - int main () { - +char buf[256]; va_list ap; std::vsnprintf(buf, 0, "", ap); ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" + eval "ac_cv_compiles_$tmp_save_1=yes" else - eval "ac_cv_prototype_$tmp_save_1=yes" + eval "ac_cv_compiles_$tmp_save_1=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then +if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_GETTIMEOFDAY 1" >>confdefs.h + $as_echo "#define HAVE_PROTOTYPE_STD__VSNPRINTF 1" >>confdefs.h : else @@ -11836,97 +10556,122 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for listen (in sys/types.h sys/socket.h)" >&5 -$as_echo_n "checking prototype for listen (in sys/types.h sys/socket.h)... " >&6; } -: -ac_includes="" -for ac_header in sys/types.h sys/socket.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo listen | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct listen(dummyStruct); -int -main () -{ +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable default dictionary" >&5 +$as_echo_n "checking whether to enable default dictionary... " >&6; } +# Check whether --enable-default-dict was given. +if test "${enable_default_dict+set}" = set; then : + enableval=$enable_default_dict; case "$enableval" in + external|yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=external" >&5 +$as_echo "yes, type=external" >&6; } - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" +$as_echo "#define DCM_DICT_DEFAULT 2" >>confdefs.h + + ;; + builtin) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=builtin" >&5 +$as_echo "yes, type=builtin" >&6; } + +$as_echo "#define DCM_DICT_DEFAULT 1" >>confdefs.h + + ;; + no) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define DCM_DICT_DEFAULT 0" >>confdefs.h + + ;; + esac else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define DCM_DICT_DEFAULT 2" >>confdefs.h + + fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to evaluate DCMDICTPATH environment variable" >&5 +$as_echo_n "checking whether to evaluate DCMDICTPATH environment variable... " >&6; } +# Check whether --enable-dcmdictpath was given. +if test "${enable_dcmdictpath+set}" = set; then : + enableval=$enable_dcmdictpath; case "$enableval" in + yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define DCM_DICT_USE_DCMDICTPATH 1" >>confdefs.h + + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_LISTEN 1" >>confdefs.h - : +$as_echo "#define DCM_DICT_USE_DCMDICTPATH 1" >>confdefs.h + + +fi + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable private tag dictionary" >&5 +$as_echo_n "checking whether to enable private tag dictionary... " >&6; } +# Check whether --enable-private-tags was given. +if test "${enable_private_tags+set}" = set; then : + enableval=$enable_private_tags; case "$enableval" in + yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define ENABLE_PRIVATE_TAGS 1" >>confdefs.h + + +cat >>confdefs.h <<_ACEOF +#define DCM_DICT_DEFAULT_PATH "${DATA_DIR}/dicom.dic:${DATA_DIR}/private.dic" +_ACEOF + + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for mktemp (in libc.h unistd.h stdlib.h)" >&5 -$as_echo_n "checking prototype for mktemp (in libc.h unistd.h stdlib.h)... " >&6; } -: -ac_includes="" -for ac_header in libc.h unistd.h stdlib.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo mktemp | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wl,-rpath is supported" >&5 +$as_echo_n "checking whether -Wl,-rpath is supported... " >&6; } +if ${dcmtk_cv_rpath_works+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; dcmtk_cv_rpath_works=$enableval +else + old_LDFLAGS="$LDFLAGS" + LDFLAGS="-Wl,-rpath,$srcdir $LDFLAGS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct mktemp(dummyStruct); - int main () @@ -11936,341 +10681,265 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" +if ac_fn_cxx_try_link "$LINENO"; then : + dcmtk_cv_rpath_works=yes else - eval "ac_cv_prototype_$tmp_save_1=yes" + dcmtk_cv_rpath_works=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$old_LDFLAGS" fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_MKTEMP 1" >>confdefs.h - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dcmtk_cv_rpath_works" >&5 +$as_echo "$dcmtk_cv_rpath_works" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for mkstemp (in libc.h unistd.h stdlib.h)" >&5 -$as_echo_n "checking prototype for mkstemp (in libc.h unistd.h stdlib.h)... " >&6; } -: -ac_includes="" -for ac_header in libc.h unistd.h stdlib.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo mkstemp | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct mkstemp(dummyStruct); +# Check whether --with-opensslinc was given. +if test "${with_opensslinc+set}" = set; then : + withval=$with_opensslinc; case $withval in #( + yes|no) : -int -main () -{ + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-opensslinc called without argument - will use default" >&5 +$as_echo "$as_me: WARNING: --with-opensslinc called without argument - will use default" >&2;} + ;; #( + *) : - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_MKSTEMP 1" >>confdefs.h + if test ! -d ${withval}; then + as_fn_error $? "called with --with-opensslinc but OpenSSL base directory ${withval} does not exist or is not a directory." "$LINENO" 5 + fi + + CPPFLAGS="-I${withval}/include $CPPFLAGS" + LDFLAGS="-L${withval}/lib $LDFLAGS" + if test "x$dcmtk_cv_rpath_works" = "xyes"; then + LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" + fi + ;; +esac - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for select (in sys/select.h sys/types.h sys/socket.h sys/time.h)" >&5 -$as_echo_n "checking prototype for select (in sys/select.h sys/types.h sys/socket.h sys/time.h)... " >&6; } -: -ac_includes="" -for ac_header in sys/select.h sys/types.h sys/socket.h sys/time.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo select | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct select(dummyStruct); +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include OpenSSL support" >&5 +$as_echo_n "checking whether to include OpenSSL support... " >&6; } +OPENSSL_WORKS="" +# Check whether --with-openssl was given. +if test "${with_openssl+set}" = set; then : + withval=$with_openssl; case "$withval" in + yes) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { +#if OPENSSL_VERSION_NUMBER < 0x10101000L +#error OpenSSL too old +#endif + ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_SELECT 1" >>confdefs.h + $as_echo "#define WITH_OPENSSL 1" >>confdefs.h - : + OPENSSL_WORKS="yes" + OPENSSLLIBS="-lssl -lcrypto $OPENSSLLIBS" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - DCMTK requires OpenSSL version 1.1.1 or newer" >&5 +$as_echo "no - DCMTK requires OpenSSL version 1.1.1 or newer" >&6; } fi - -if test $ac_cv_prototype_select = yes ; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if select() needs int* parameters (in sys/select.h sys/types.h sys/socket.h sys/time.h)" >&5 -$as_echo_n "checking if select() needs int* parameters (in sys/select.h sys/types.h sys/socket.h sys/time.h)... " >&6; } - -ac_includes="" -for ac_header in sys/select.h sys/types.h sys/socket.h sys/time.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -if ${ac_cv_prototype_intp_select+:} false; then : - $as_echo_n "(cached) " >&6 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac else + SAVELIBS="$LIBS" + LIBS="$LIBS -lssl -lcrypto $OPENSSLLIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif - - +#include int main () { - - int i; - fd_set fds; - i = select(1, &fds, &fds, &fds, NULL); - +(void) TLSv1_method() ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_intp_select=no" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif - +if ac_fn_cxx_try_link "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { - int i; - int fds; - i = select(1, &fds, &fds, &fds, NULL); +#if OPENSSL_VERSION_NUMBER < 0x10101000L +#error OpenSSL too old +#endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_intp_select=yes" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define WITH_OPENSSL 1" >>confdefs.h + + OPENSSL_WORKS="yes" + OPENSSLLIBS="-lssl -lcrypto $OPENSSLLIBS" else - eval "ac_cv_prototype_intp_select=no" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - DCMTK requires OpenSSL version 1.1.1 or newer" >&5 +$as_echo "no - DCMTK requires OpenSSL version 1.1.1 or newer" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$SAVELIBS" fi -if eval "test \"`echo $ac_cv_prototype_intp_select`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_INTP_SELECT 1" >>confdefs.h - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +if test "$OPENSSL_WORKS" = "yes"; then -fi +for ac_header in openssl/asn1.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/asn1.h" "ac_cv_header_openssl_asn1_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_asn1_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_OPENSSL_ASN1_H 1 +_ACEOF fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for setsockopt (in sys/types.h sys/socket.h)" >&5 -$as_echo_n "checking prototype for setsockopt (in sys/types.h sys/socket.h)... " >&6; } -: -ac_includes="" -for ac_header in sys/types.h sys/socket.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi done -tmp_save_1=`echo setsockopt | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct setsockopt(dummyStruct); +for ac_header in openssl/dh.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/dh.h" "ac_cv_header_openssl_dh_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_dh_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_OPENSSL_DH_H 1 +_ACEOF -int -main () -{ +fi - ; - return 0; -} +done + +for ac_header in openssl/evp.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/evp.h" "ac_cv_header_openssl_evp_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_evp_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_OPENSSL_EVP_H 1 _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +done + +for ac_header in openssl/ssl.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_ssl_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_OPENSSL_SSL_H 1 +_ACEOF + fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_SETSOCKOPT 1" >>confdefs.h - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +done + +for ac_header in openssl/ts.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/ts.h" "ac_cv_header_openssl_ts_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_ts_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_OPENSSL_TS_H 1 +_ACEOF + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for socket (in sys/types.h sys/socket.h)" >&5 -$as_echo_n "checking prototype for socket (in sys/types.h sys/socket.h)... " >&6; } +done + +for ac_header in openssl/x509.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/x509.h" "ac_cv_header_openssl_x509_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_x509_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_OPENSSL_X509_H 1 +_ACEOF + +fi + +done + +for ac_header in openssl/provider.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/provider.h" "ac_cv_header_openssl_provider_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_provider_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_OPENSSL_PROVIDER_H 1 +_ACEOF + +fi + +done + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for NID_dsa_with_SHA512 (in openssl/obj_mac.h)" >&5 +$as_echo_n "checking whether OpenSSL provides a prototype for NID_dsa_with_SHA512 (in openssl/obj_mac.h)... " >&6; } -: ac_includes="" -for ac_header in sys/types.h sys/socket.h +for ac_header in openssl/obj_mac.h do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes + ac_includes="$ac_includes #include<$ac_header>" - fi done -tmp_save_1=`echo socket | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : +tmp_save_1=`echo NID_dsa_with_SHA512 | tr ' :' '__'` +if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif $ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct socket(dummyStruct); - - int main () { - +NID_dsa_with_SHA512 ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" + eval "ac_cv_compiles_$tmp_save_1=yes" else - eval "ac_cv_prototype_$tmp_save_1=yes" + eval "ac_cv_compiles_$tmp_save_1=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then +if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_SOCKET 1" >>confdefs.h + $as_echo "#define HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512 1" >>confdefs.h : else @@ -12278,58 +10947,41 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for strcasecmp (in string.h)" >&5 -$as_echo_n "checking prototype for strcasecmp (in string.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for NID_ecdsa_with_SHA3_256 (in openssl/obj_mac.h)" >&5 +$as_echo_n "checking whether OpenSSL provides a prototype for NID_ecdsa_with_SHA3_256 (in openssl/obj_mac.h)... " >&6; } -: ac_includes="" -for ac_header in string.h +for ac_header in openssl/obj_mac.h do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes + ac_includes="$ac_includes #include<$ac_header>" - fi done -tmp_save_1=`echo strcasecmp | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : +tmp_save_1=`echo NID_ecdsa_with_SHA3_256 | tr ' :' '__'` +if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif $ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct strcasecmp(dummyStruct); - - int main () { - +NID_ecdsa_with_SHA3_256 ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" + eval "ac_cv_compiles_$tmp_save_1=yes" else - eval "ac_cv_prototype_$tmp_save_1=yes" + eval "ac_cv_compiles_$tmp_save_1=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then +if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_STRCASECMP 1" >>confdefs.h + $as_echo "#define HAVE_OPENSSL_PROTOTYPE_NID_ECDSA_WITH_SHA3_256 1" >>confdefs.h : else @@ -12337,58 +10989,41 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for strncasecmp (in string.h)" >&5 -$as_echo_n "checking prototype for strncasecmp (in string.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for NID_sha512_256WithRSAEncryption (in openssl/obj_mac.h)" >&5 +$as_echo_n "checking whether OpenSSL provides a prototype for NID_sha512_256WithRSAEncryption (in openssl/obj_mac.h)... " >&6; } -: ac_includes="" -for ac_header in string.h +for ac_header in openssl/obj_mac.h do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes + ac_includes="$ac_includes #include<$ac_header>" - fi done -tmp_save_1=`echo strncasecmp | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : +tmp_save_1=`echo NID_sha512_256WithRSAEncryption | tr ' :' '__'` +if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif $ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct strncasecmp(dummyStruct); - - int main () { - +NID_sha512_256WithRSAEncryption ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" + eval "ac_cv_compiles_$tmp_save_1=yes" else - eval "ac_cv_prototype_$tmp_save_1=yes" + eval "ac_cv_compiles_$tmp_save_1=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then +if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_STRNCASECMP 1" >>confdefs.h + $as_echo "#define HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION 1" >>confdefs.h : else @@ -12396,12 +11031,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for usleep (in libc.h unistd.h stdlib.h)" >&5 -$as_echo_n "checking prototype for usleep (in libc.h unistd.h stdlib.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for RAND_egd (in openssl/rand.h)" >&5 +$as_echo_n "checking whether OpenSSL provides a prototype for RAND_egd (in openssl/rand.h)... " >&6; } : ac_includes="" -for ac_header in libc.h unistd.h stdlib.h +for ac_header in openssl/rand.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -12409,7 +11044,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo usleep | tr ' :' '__'` +tmp_save_1=`echo RAND_egd | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -12426,7 +11061,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct usleep(dummyStruct); +dummyStruct RAND_egd(dummyStruct); int @@ -12447,7 +11082,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_USLEEP 1" >>confdefs.h + $as_echo "#define HAVE_OPENSSL_PROTOTYPE_RAND_EGD 1" >>confdefs.h : else @@ -12455,12 +11090,12 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for vsnprintf (in stdio.h stdarg.h)" >&5 -$as_echo_n "checking prototype for vsnprintf (in stdio.h stdarg.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_CTX_set0_tmp_dh_pkey (in openssl/ssl.h)" >&5 +$as_echo_n "checking whether OpenSSL provides a prototype for SSL_CTX_set0_tmp_dh_pkey (in openssl/ssl.h)... " >&6; } : ac_includes="" -for ac_header in stdio.h stdarg.h +for ac_header in openssl/ssl.h do ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then @@ -12468,7 +11103,7 @@ do #include<$ac_header>" fi done -tmp_save_1=`echo vsnprintf | tr ' :' '__'` +tmp_save_1=`echo SSL_CTX_set0_tmp_dh_pkey | tr ' :' '__'` if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else @@ -12485,7 +11120,7 @@ typedef union { int member; } dummyStruct; #ifdef __cplusplus extern "C" #endif -dummyStruct vsnprintf(dummyStruct); +dummyStruct SSL_CTX_set0_tmp_dh_pkey(dummyStruct); int @@ -12506,7 +11141,7 @@ fi if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_VSNPRINTF 1" >>confdefs.h + $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY 1" >>confdefs.h : else @@ -12514,58 +11149,41 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for wait3 (in libc.h sys/wait.h sys/time.h sys/resource.h)" >&5 -$as_echo_n "checking prototype for wait3 (in libc.h sys/wait.h sys/time.h sys/resource.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_CTX_set1_sigalgs (in openssl/ssl.h)" >&5 +$as_echo_n "checking whether OpenSSL provides a prototype for SSL_CTX_set1_sigalgs (in openssl/ssl.h)... " >&6; } -: ac_includes="" -for ac_header in libc.h sys/wait.h sys/time.h sys/resource.h +for ac_header in openssl/ssl.h do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes + ac_includes="$ac_includes #include<$ac_header>" - fi done -tmp_save_1=`echo wait3 | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : +tmp_save_1=`echo SSL_CTX_set1_sigalgs | tr ' :' '__'` +if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif $ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct wait3(dummyStruct); - - int main () { - +SSL_CTX_set1_sigalgs(0,0,0) ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" + eval "ac_cv_compiles_$tmp_save_1=yes" else - eval "ac_cv_prototype_$tmp_save_1=yes" + eval "ac_cv_compiles_$tmp_save_1=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then +if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_WAIT3 1" >>confdefs.h + $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS 1" >>confdefs.h : else @@ -12573,58 +11191,41 @@ else $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking prototype for waitpid (in sys/wait.h sys/time.h sys/resource.h)" >&5 -$as_echo_n "checking prototype for waitpid (in sys/wait.h sys/time.h sys/resource.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 (in openssl/ssl.h)" >&5 +$as_echo_n "checking whether OpenSSL provides a prototype for TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 (in openssl/ssl.h)... " >&6; } -: ac_includes="" -for ac_header in sys/wait.h sys/time.h sys/resource.h +for ac_header in openssl/ssl.h do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes + ac_includes="$ac_includes #include<$ac_header>" - fi done -tmp_save_1=`echo waitpid | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 +tmp_save_1=`echo TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 | tr ' :' '__'` +if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif $ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct waitpid(dummyStruct); - - int main () { - +TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" + eval "ac_cv_compiles_$tmp_save_1=yes" else - eval "ac_cv_prototype_$tmp_save_1=yes" + eval "ac_cv_compiles_$tmp_save_1=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then +if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_WAITPID 1" >>confdefs.h + $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 1" >>confdefs.h : else @@ -12632,200 +11233,165 @@ else $as_echo "no" >&6; } fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking declaration for struct utimbuf (in sys/types.h utime.h sys/utime.h)" >&5 -$as_echo_n "checking declaration for struct utimbuf (in sys/types.h utime.h sys/utime.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 (in openssl/ssl.h)" >&5 +$as_echo_n "checking whether OpenSSL provides a prototype for TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 (in openssl/ssl.h)... " >&6; } ac_includes="" -for ac_header in sys/types.h utime.h sys/utime.h +for ac_header in openssl/ssl.h do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes + ac_includes="$ac_includes #include<$ac_header>" - fi done - -ac_cpp_includes="" - -ac_cv_declaration=`echo 'ac_cv_declaration_struct utimbuf' | tr ' :' '__'` - -if eval \${$ac_cv_declaration+:} false; then : +tmp_save_1=`echo TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 | tr ' :' '__'` +if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif $ac_includes -#ifdef __cplusplus -} -#endif -$ac_cpp_includes -struct utimbuf dummy; - - int main () { - +TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "$ac_cv_declaration=yes" + eval "ac_cv_compiles_$tmp_save_1=yes" else - eval "$ac_cv_declaration=no" + eval "ac_cv_compiles_$tmp_save_1=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"\$$ac_cv_declaration\" = yes"; then +if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_DECLARATION_STRUCT_UTIMBUF 1" >>confdefs.h + $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 1" >>confdefs.h : else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -unset ac_cv_declaration - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking declaration for socklen_t (in sys/types.h sys/socket.h)" >&5 -$as_echo_n "checking declaration for socklen_t (in sys/types.h sys/socket.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TS_VERIFY_CTX_SET0_STORE (in openssl/ts.h)" >&5 +$as_echo_n "checking whether OpenSSL provides a prototype for TS_VERIFY_CTX_SET0_STORE (in openssl/ts.h)... " >&6; } ac_includes="" -for ac_header in sys/types.h sys/socket.h +for ac_header in openssl/ts.h do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes + ac_includes="$ac_includes #include<$ac_header>" - fi done - -ac_cpp_includes="" - -ac_cv_declaration=`echo 'ac_cv_declaration_socklen_t' | tr ' :' '__'` - -if eval \${$ac_cv_declaration+:} false; then : +tmp_save_1=`echo TS_VERIFY_CTX_SET0_STORE | tr ' :' '__'` +if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif $ac_includes -#ifdef __cplusplus -} -#endif -$ac_cpp_includes -socklen_t dummy; - - int main () { - +TS_VERIFY_CTX_set0_store(0,0) ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "$ac_cv_declaration=yes" + eval "ac_cv_compiles_$tmp_save_1=yes" else - eval "$ac_cv_declaration=no" + eval "ac_cv_compiles_$tmp_save_1=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"\$$ac_cv_declaration\" = yes"; then +if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_DECLARATION_SOCKLEN_T 1" >>confdefs.h + $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET0_STORE 1" >>confdefs.h : else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -unset ac_cv_declaration -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if declaration of readdir_r conforms to Posix 1.c draft 6" >&5 -$as_echo_n "checking if declaration of readdir_r conforms to Posix 1.c draft 6... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for EVP_PKEY_get_group_name (in openssl/evp.h)" >&5 +$as_echo_n "checking whether OpenSSL provides a prototype for EVP_PKEY_get_group_name (in openssl/evp.h)... " >&6; } -ac_cv_result=ac_cv_old_readdir_r -if eval \${$ac_cv_result+:} false; then : +: +ac_includes="" +for ac_header in openssl/evp.h +do + ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then + ac_includes="$ac_includes +#include<$ac_header>" + fi +done +tmp_save_1=`echo EVP_PKEY_get_group_name | tr ' :' '__'` +if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #ifdef __cplusplus extern "C" { #endif -#ifdef HAVE_DIRENT_H -#include -#else -#define dirent direct -#ifdef HAVE_SYS_NDIR_H -#include -#endif -#ifdef HAVE_SYS_DIR_H -#include -#endif -#ifdef HAVE_NDIR_H -#include -#endif -#endif +$ac_includes #ifdef __cplusplus } #endif +typedef union { int member; } dummyStruct; +#ifdef __cplusplus +extern "C" +#endif +dummyStruct EVP_PKEY_get_group_name(dummyStruct); + int main () { - DIR *dirp; - struct dirent *dp; - dp = readdir_r(dirp, dp); - ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "$ac_cv_result=yes" + eval "ac_cv_prototype_$tmp_save_1=no" else - eval "$ac_cv_result=no" + eval "ac_cv_prototype_$tmp_save_1=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"\$$ac_cv_result\" = yes"; then +if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_OLD_READDIR_R 1" >>confdefs.h + $as_echo "#define HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME 1" >>confdefs.h - else + : +else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - fi -unset ac_cv_result +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if signal() callback needs ellipse (in signal.h)" >&5 -$as_echo_n "checking if signal() callback needs ellipse (in signal.h)... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for OSSL_PROVIDER_load (in openssl/provider.h)" >&5 +$as_echo_n "checking whether OpenSSL provides a prototype for OSSL_PROVIDER_load (in openssl/provider.h)... " >&6; } +: ac_includes="" -for ac_header in signal.h +for ac_header in openssl/provider.h do - ac_includes="$ac_includes + ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then + ac_includes="$ac_includes #include<$ac_header>" + fi done -if ${ac_cv_signal_handler_with_ellipse+:} false; then : +tmp_save_1=`echo OSSL_PROVIDER_load | tr ' :' '__'` +if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12834,135 +11400,154 @@ else extern "C" { #endif $ac_includes - - void signal_handler(int) - { - } #ifdef __cplusplus } #endif +typedef union { int member; } dummyStruct; +#ifdef __cplusplus +extern "C" +#endif +dummyStruct OSSL_PROVIDER_load(dummyStruct); int main () { - (void) signal(0, signal_handler); - ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_signal_handler_with_ellipse=no" + eval "ac_cv_prototype_$tmp_save_1=no" else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes + eval "ac_cv_prototype_$tmp_save_1=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD 1" >>confdefs.h - void signal_handler(...) - { - } -#ifdef __cplusplus -} -#endif + : +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL defines the new typedef of EVP_MD_CTX as struct evp_md_ctx_st" >&5 +$as_echo_n "checking whether OpenSSL defines the new typedef of EVP_MD_CTX as struct evp_md_ctx_st... " >&6; } + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { - - (void) signal(0, signal_handler); - +struct evp_md_ctx_st *a; EVP_MD_CTX *b=a ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_signal_handler_with_ellipse=yes" -else - eval "ac_cv_signal_handler_with_ellipse=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -if eval "test \"`echo $ac_cv_signal_handler_with_ellipse`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define SIGNAL_HANDLER_WITH_ELLIPSE 1" >>confdefs.h + $as_echo "#define HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX 1" >>confdefs.h - : else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + -if test $ac_cv_header_math_h = yes ; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if fails if included extern \"C\"" >&5 -$as_echo_n "checking if fails if included extern \"C\"... " >&6; } -if ${ac_cv_include_math_h_as_cxx+:} false; then : +JPEGLIBS="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_set_defaults in -ljpeg" >&5 +$as_echo_n "checking for jpeg_set_defaults in -ljpeg... " >&6; } +if ${ac_cv_lib_jpeg_jpeg_set_defaults+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-ljpeg $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus extern "C" -{ -#include -} - +#endif +char jpeg_set_defaults (); int main () { - - +return jpeg_set_defaults (); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_include_math_h_as_cxx=no" +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_jpeg_jpeg_set_defaults=yes else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + ac_cv_lib_jpeg_jpeg_set_defaults=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_set_defaults" >&5 +$as_echo "$ac_cv_lib_jpeg_jpeg_set_defaults" >&6; } +if test "x$ac_cv_lib_jpeg_jpeg_set_defaults" = xyes; then : + +JPEGLIBS="-ljpeg" -#include +fi + +if test $ac_cv_lib_jpeg_jpeg_set_defaults = no ; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for jSetDefaults in -ljpeg" >&5 +$as_echo_n "checking for jSetDefaults in -ljpeg... " >&6; } +if ${ac_cv_lib_jpeg_jSetDefaults+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ljpeg $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char jSetDefaults (); int main () { - - +return jSetDefaults (); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_include_math_h_as_cxx=yes" +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_jpeg_jSetDefaults=yes else - eval "ac_cv_include_math_h_as_cxx=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_lib_jpeg_jSetDefaults=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jSetDefaults" >&5 +$as_echo "$ac_cv_lib_jpeg_jSetDefaults" >&6; } +if test "x$ac_cv_lib_jpeg_jSetDefaults" = xyes; then : -if eval "test \"`echo $ac_cv_include_math_h_as_cxx`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define INCLUDE_MATH_H_AS_CXX 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +JPEGLIBS="-ljpeg" fi @@ -12970,4983 +11555,975 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ standard namespace" >&5 -$as_echo_n "checking for C++ standard namespace... " >&6; } -if ${ac_cv_check_std_namespace+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_link_o='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.o $LIBS 1>&5' -cat > conftest.$ac_ext < -using namespace std; +# Check whether --with-zlibinc was given. +if test "${with_zlibinc+set}" = set; then : + withval=$with_zlibinc; case $withval in #( + yes|no) : -int main() { + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-zlibinc called without argument - will use default" >&5 +$as_echo "$as_me: WARNING: --with-zlibinc called without argument - will use default" >&2;} + ;; #( + *) : - cout << "Hello World" << endl; + if test ! -d ${withval}; then + as_fn_error $? "called with --with-zlibinc but zlib base directory ${withval} does not exist or is not a directory." "$LINENO" 5 + fi -; return 0; } -EOF -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link_o\""; } >&5 - (eval $ac_link_o) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - rm -rf conftest* - eval "ac_cv_check_std_namespace=yes" - else - echo "configure: failed link was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_check_std_namespace=no" - fi -else - echo "configure: failed compile was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_check_std_namespace=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_check_std_namespace'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_STD_NAMESPACE 1" >>confdefs.h + CPPFLAGS="-I${withval}/include $CPPFLAGS" + LDFLAGS="-L${withval}/lib $LDFLAGS" + if test "x$dcmtk_cv_rpath_works" = "xyes"; then + LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" + fi + ;; +esac -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking declaration for std::ios_base::openmode (in iostream)" >&5 -$as_echo_n "checking declaration for std::ios_base::openmode (in iostream)... " >&6; } - -ac_includes="" +ZLIBLIBS="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include zlib support" >&5 +$as_echo_n "checking whether to include zlib support... " >&6; } -ac_cpp_includes="" -for ac_header in iostream -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_cpp_includes="$ac_cpp_includes -#include<$ac_header>" - fi -done -ac_cv_declaration=`echo 'ac_cv_declaration_std::ios_base::openmode' | tr ' :' '__'` +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then : + withval=$with_zlib; case "$withval" in + yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define WITH_ZLIB 1" >>confdefs.h -if eval \${$ac_cv_declaration+:} false; then : - $as_echo_n "(cached) " >&6 + ZLIBLIBS="-lz" + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac else + SAVELIBS="$LIBS" + LIBS="$LIBS -lz" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -$ac_cpp_includes -std::ios_base::openmode dummy; - - +#include int main () { - +(void) zlibVersion() ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "$ac_cv_declaration=yes" -else - eval "$ac_cv_declaration=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"\$$ac_cv_declaration\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_DECLARATION_STD__IOS_BASE__OPENMODE 1" >>confdefs.h + $as_echo "#define WITH_ZLIB 1" >>confdefs.h - : + ZLIBLIBS="-lz" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -unset ac_cv_declaration +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$SAVELIBS" +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking declaration of ios::nocreate (in fstream)" >&5 -$as_echo_n "checking declaration of ios::nocreate (in fstream)... " >&6; } -ac_cv_declaration=ac_cv_declaration_ios_nocreate -if eval \${$ac_cv_declaration+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -namespace std { } -using namespace std; -ifstream file("name", std::ios::nocreate) - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "$ac_cv_declaration=yes" -else - eval "$ac_cv_declaration=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"\$$ac_cv_declaration\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_IOS_NOCREATE 1" >>confdefs.h - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +# Check whether --with-libtiffinc was given. +if test "${with_libtiffinc+set}" = set; then : + withval=$with_libtiffinc; case $withval in #( + yes|no) : + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libtiffinc called without argument - will use default" >&5 +$as_echo "$as_me: WARNING: --with-libtiffinc called without argument - will use default" >&2;} + ;; #( + *) : + + if test ! -d ${withval}; then + as_fn_error $? "called with --with-libtiffinc but libtiff base directory ${withval} does not exist or is not a directory." "$LINENO" 5 + fi + + CPPFLAGS="-I${withval}/include $CPPFLAGS" + LDFLAGS="-L${withval}/lib $LDFLAGS" + if test "x$dcmtk_cv_rpath_works" = "xyes"; then + LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" + fi + ;; +esac + fi -unset ac_cv_declaration -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for std::vfprintf (in cstdarg cstdio)" >&5 -$as_echo_n "checking for std::vfprintf (in cstdarg cstdio)... " >&6; } -ac_includes="" -for ac_header in cstdarg cstdio -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo std::vfprintf | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 +TIFFLIBS="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libtiff support" >&5 +$as_echo_n "checking whether to include libtiff support... " >&6; } + + +# Check whether --with-libtiff was given. +if test "${with_libtiff+set}" = set; then : + withval=$with_libtiff; case "$withval" in + yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define WITH_LIBTIFF 1" >>confdefs.h + + TIFFLIBS="-ltiff $JPEGLIBS $ZLIBLIBS" + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac else + SAVELIBS="$LIBS" + LIBS="$LIBS -ltiff $JPEGLIBS $ZLIBLIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes +#include int main () { -FILE *stream; va_list ap; std::vfprintf(stream, "", ap); +(void) TIFFGetVersion() ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_STD__VFPRINTF 1" >>confdefs.h + $as_echo "#define WITH_LIBTIFF 1" >>confdefs.h + + TIFFLIBS="-ltiff $JPEGLIBS $ZLIBLIBS" - : else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$SAVELIBS" +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for std::vsnprintf (in cstdarg cstdio)" >&5 -$as_echo_n "checking for std::vsnprintf (in cstdarg cstdio)... " >&6; } -ac_includes="" -for ac_header in cstdarg cstdio -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo std::vsnprintf | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -char buf[256]; va_list ap; std::vsnprintf(buf, 0, "", ap); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_STD__VSNPRINTF 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ standard namespace" >&5 -$as_echo_n "checking for C++ standard namespace... " >&6; } -if ${ac_cv_check_std_namespace+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_link_o='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.o $LIBS 1>&5' -cat > conftest.$ac_ext < -using namespace std; + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libpnginc called without argument - will use default" >&5 +$as_echo "$as_me: WARNING: --with-libpnginc called without argument - will use default" >&2;} + ;; #( + *) : -int main() { + if test ! -d ${withval}; then + as_fn_error $? "called with --with-libpnginc but libpng base directory ${withval} does not exist or is not a directory." "$LINENO" 5 + fi - cout << "Hello World" << endl; + CPPFLAGS="-I${withval}/include $CPPFLAGS" + LDFLAGS="-L${withval}/lib $LDFLAGS" + if test "x$dcmtk_cv_rpath_works" = "xyes"; then + LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" + fi + ;; +esac -; return 0; } -EOF -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link_o\""; } >&5 - (eval $ac_link_o) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - rm -rf conftest* - eval "ac_cv_check_std_namespace=yes" - else - echo "configure: failed link was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_check_std_namespace=no" - fi -else - echo "configure: failed compile was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_check_std_namespace=no" -fi -rm -f conftest* fi -if eval "test \"`echo '$ac_cv_check_std_namespace'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_STD_NAMESPACE 1" >>confdefs.h -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + +for ac_header in libpng/png.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "libpng/png.h" "ac_cv_header_libpng_png_h" "$ac_includes_default" +if test "x$ac_cv_header_libpng_png_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBPNG_PNG_H 1 +_ACEOF + fi +done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking declaration for std::ios_base::openmode (in iostream)" >&5 -$as_echo_n "checking declaration for std::ios_base::openmode (in iostream)... " >&6; } -ac_includes="" +PNGLIBS="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libpng support" >&5 +$as_echo_n "checking whether to include libpng support... " >&6; } -ac_cpp_includes="" -for ac_header in iostream -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_cpp_includes="$ac_cpp_includes -#include<$ac_header>" - fi -done -ac_cv_declaration=`echo 'ac_cv_declaration_std::ios_base::openmode' | tr ' :' '__'` +# Check whether --with-libpng was given. +if test "${with_libpng+set}" = set; then : + withval=$with_libpng; case "$withval" in + yes) + if test "x$ZLIBLIBS" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define WITH_LIBPNG 1" >>confdefs.h -if eval \${$ac_cv_declaration+:} false; then : - $as_echo_n "(cached) " >&6 + PNGLIBS="-lpng" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no because libpng requires zlib" >&5 +$as_echo "no because libpng requires zlib" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "x$ZLIBLIBS" != x; then + SAVELIBS="$LIBS" + LIBS="$LIBS -lpng $ZLIBLIBS" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} +#ifdef HAVE_LIBPNG_PNG_H +#include +#else +#include #endif -$ac_cpp_includes -std::ios_base::openmode dummy; - - int main () { - +(void) png_access_version_number() ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "$ac_cv_declaration=yes" -else - eval "$ac_cv_declaration=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"\$$ac_cv_declaration\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_DECLARATION_STD__IOS_BASE__OPENMODE 1" >>confdefs.h + $as_echo "#define WITH_LIBPNG 1" >>confdefs.h - : + PNGLIBS="-lpng" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -unset ac_cv_declaration +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$SAVELIBS" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no because libpng requires zlib" >&5 +$as_echo "no because libpng requires zlib" >&6; } + fi + +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking declaration of ios::nocreate (in fstream)" >&5 -$as_echo_n "checking declaration of ios::nocreate (in fstream)... " >&6; } -ac_cv_declaration=ac_cv_declaration_ios_nocreate -if eval \${$ac_cv_declaration+:} false; then : - $as_echo_n "(cached) " >&6 + + + +# Check whether --with-libxmlinc was given. +if test "${with_libxmlinc+set}" = set; then : + withval=$with_libxmlinc; case $withval in #( + yes|no) : + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libxmlinc called without argument - will use default" >&5 +$as_echo "$as_me: WARNING: --with-libxmlinc called without argument - will use default" >&2;} + ;; #( + *) : + + if test ! -d ${withval}; then + as_fn_error $? "called with --with-libxmlinc but libxml base directory ${withval} does not exist or is not a directory." "$LINENO" 5 + fi + + CPPFLAGS="-I${withval}/include $CPPFLAGS" + LDFLAGS="-L${withval}/lib $LDFLAGS" + if test "x$dcmtk_cv_rpath_works" = "xyes"; then + LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" + fi + ;; +esac + +fi + + +LIBXMLCFLAGS=`xml2-config --cflags 2>/dev/null` +if test "${LIBXMLCFLAGS+set}" = set; then + CXXFLAGS="$LIBXMLCFLAGS $CXXFLAGS" + CFLAGS="$LIBXMLCFLAGS $CFLAGS" +fi +LIBXMLLIBS=`xml2-config --libs 2>/dev/null` + +XMLLIBS="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libxml support" >&5 +$as_echo_n "checking whether to include libxml support... " >&6; } + + +# Check whether --with-libxml was given. +if test "${with_libxml+set}" = set; then : + withval=$with_libxml; case "$withval" in + yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define WITH_LIBXML 1" >>confdefs.h + + XMLLIBS=$LIBXMLLIBS + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac else + SAVELIBS="$LIBS" + LIBS="$LIBS $LIBXMLLIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include - +#include int main () { -namespace std { } -using namespace std; -ifstream file("name", std::ios::nocreate) +(void) xmlInitParser() ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "$ac_cv_declaration=yes" -else - eval "$ac_cv_declaration=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"\$$ac_cv_declaration\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_IOS_NOCREATE 1" >>confdefs.h + $as_echo "#define WITH_LIBXML 1" >>confdefs.h - : + XMLLIBS=$LIBXMLLIBS else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -unset ac_cv_declaration +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$SAVELIBS" +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for std::vfprintf (in cstdarg cstdio)" >&5 -$as_echo_n "checking for std::vfprintf (in cstdarg cstdio)... " >&6; } -ac_includes="" -for ac_header in cstdarg cstdio -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo std::vfprintf | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 + + + +# Check whether --with-libwrapinc was given. +if test "${with_libwrapinc+set}" = set; then : + withval=$with_libwrapinc; case $withval in #( + yes|no) : + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libwrapinc called without argument - will use default" >&5 +$as_echo "$as_me: WARNING: --with-libwrapinc called without argument - will use default" >&2;} + ;; #( + *) : + + if test ! -d ${withval}; then + as_fn_error $? "called with --with-libwrapinc but libwrap base directory ${withval} does not exist or is not a directory." "$LINENO" 5 + fi + + CPPFLAGS="-I${withval}/include $CPPFLAGS" + LDFLAGS="-L${withval}/lib $LDFLAGS" + if test "x$dcmtk_cv_rpath_works" = "xyes"; then + LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" + fi + ;; +esac + +fi + + +TCPWRAPPERLIBS="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libwrap support" >&5 +$as_echo_n "checking whether to include libwrap support... " >&6; } + + +# Check whether --with-libwrap was given. +if test "${with_libwrap+set}" = set; then : + withval=$with_libwrap; case "$withval" in + yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define WITH_TCPWRAPPER 1" >>confdefs.h + + TCPWRAPPERLIBS="-lwrap" + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac else + SAVELIBS="$LIBS" + LIBS="-lwrap $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes +#ifdef __cplusplus + extern "C" { + #endif + /* on some platforms, tcpd.h needs stdio.h */ + #include + #ifdef HAVE_SYS_TYPES_H + /* on some platforms, tcpd.h needs sys/types.h */ + #include + #endif + #include + #ifdef __cplusplus + } + #endif + int deny_severity = 0; + int allow_severity = 0; int main () { -FILE *stream; va_list ap; std::vfprintf(stream, "", ap); +struct request_info r; (void) hosts_access(&r) ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_STD__VFPRINTF 1" >>confdefs.h + $as_echo "#define WITH_TCPWRAPPER 1" >>confdefs.h - : + TCPWRAPPERLIBS="-lwrap" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$SAVELIBS" +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for std::vsnprintf (in cstdarg cstdio)" >&5 -$as_echo_n "checking for std::vsnprintf (in cstdarg cstdio)... " >&6; } -ac_includes="" -for ac_header in cstdarg cstdio -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo std::vsnprintf | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 + + + + +# Check whether --with-openjpeginc was given. +if test "${with_openjpeginc+set}" = set; then : + withval=$with_openjpeginc; case $withval in #( + yes|no) : + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-openjpeginc called without argument - will use default" >&5 +$as_echo "$as_me: WARNING: --with-openjpeginc called without argument - will use default" >&2;} + ;; #( + *) : + + if test ! -d ${withval}; then + as_fn_error $? "called with --with-openjpeginc but OpenJPEG base directory ${withval} does not exist or is not a directory." "$LINENO" 5 + fi + + OPENJPEGINCLUDEPATH=`( + eval echo "${withval}/include/openjpeg*" + )` + + if test ! -d "${OPENJPEGINCLUDEPATH}"; then + OPENJPEGINCLUDEPATH="${withval}/include" + fi + + CPPFLAGS="-I${OPENJPEGINCLUDEPATH} $CPPFLAGS" + LDFLAGS="-L${withval}/lib $LDFLAGS" + if test "x$dcmtk_cv_rpath_works" = "xyes"; then + LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" + fi + ;; +esac + +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include OpenJPEG support" >&5 +$as_echo_n "checking whether to include OpenJPEG support... " >&6; } + + +# Check whether --with-libwrap was given. +if test "${with_libwrap+set}" = set; then : + withval=$with_libwrap; case "$withval" in + yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define WITH_OPENJPEG 1" >>confdefs.h + + OPENJPEGLIBS="-lopenjp2 $OPENJPEGLIBS" + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac else + SAVELIBS="$LIBS" + LIBS="-lopenjp2 $OPENJPEGLIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes +#include int main () { -char buf[256]; va_list ap; std::vsnprintf(buf, 0, "", ap); +(void) opj_version() ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_PROTOTYPE_STD__VSNPRINTF 1" >>confdefs.h + $as_echo "#define WITH_OPENJPEG 1" >>confdefs.h - : + OPENJPEGLIBS="-lopenjp2 $OPENJPEGLIBS" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$SAVELIBS" +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ class template" >&5 -$as_echo_n "checking for C++ class template... " >&6; } - -if ${ac_cv_check_class_template+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_link_o='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.o $LIBS 1>&5' -cat > conftest.$ac_ext < -class x -{ -private: - T a; -public: - void set(T i) { a = i; } - x(T i) { set(i); } - T get() { return a; } -}; -int main() { - int i; - x a(4); - i = a.get(); - a.set(18); - i = a.get(); - a.set(i-1); -; return 0; } -EOF -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link_o\""; } >&5 - (eval $ac_link_o) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - rm -rf conftest* - eval "ac_cv_check_class_template=yes" - else - echo "configure: failed link was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_check_class_template=no" - fi -else - echo "configure: failed compile was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_check_class_template=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_check_class_template'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_CLASS_TEMPLATE 1" >>confdefs.h +# Check whether --with-libsndfileinc was given. +if test "${with_libsndfileinc+set}" = set; then : + withval=$with_libsndfileinc; case $withval in #( + yes|no) : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libsndfileinc called without argument - will use default" >&5 +$as_echo "$as_me: WARNING: --with-libsndfileinc called without argument - will use default" >&2;} + ;; #( + *) : -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ static methods in class templates" >&5 -$as_echo_n "checking for C++ static methods in class templates... " >&6; } + if test ! -d ${withval}; then + as_fn_error $? "called with --with-libsndfileinc but libsndfile base directory ${withval} does not exist or is not a directory." "$LINENO" 5 + fi -if ${ac_cv_check_static_template_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_link_o='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.o $LIBS 1>&5' -cat > conftest.$ac_ext < -class x -{ -public: - x() { } - static void do1(Function f, int & a) { f(a); } - static void do2(T b) { T a = b; }; -}; -int main() { +SNDFILELIBS="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libsndfile support" >&5 +$as_echo_n "checking whether to include libsndfile support... " >&6; } - int a = 1; - x::do1(additive, a); - x::do2(a); -; return 0; } -EOF -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link_o\""; } >&5 - (eval $ac_link_o) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - rm -rf conftest* - eval "ac_cv_check_static_template_method=yes" - else - echo "configure: failed link was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_check_static_template_method=no" - fi +# Check whether --with-libsndfile was given. +if test "${with_libsndfile+set}" = set; then : + withval=$with_libsndfile; case "$withval" in + yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define WITH_SNDFILE 1" >>confdefs.h + + SNDFILELIBS="-lsndfile" + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac else - echo "configure: failed compile was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_check_static_template_method=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_check_static_template_method'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + SAVELIBS="$LIBS" + LIBS="$LIBS -lsndfile" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +char buffer [128]; sf_command (NULL, SFC_GET_LIB_VERSION, buffer, sizeof (buffer)); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_STATIC_TEMPLATE_METHOD 1" >>confdefs.h + $as_echo "#define WITH_SNDFILE 1" >>confdefs.h + SNDFILELIBS="-lsndfile" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$SAVELIBS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ function template" >&5 -$as_echo_n "checking for C++ function template... " >&6; } +fi -if ${ac_cv_check_function_template+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_link_o='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.o $LIBS 1>&5' -cat > conftest.$ac_ext < -int f(T* a) -{ - if (a) return 1; - return 0; -} -int main() { - int i, a; - i = f(&a); -; return 0; } -EOF -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link_o\""; } >&5 - (eval $ac_link_o) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - rm -rf conftest* - eval "ac_cv_check_function_template=yes" - else - echo "configure: failed link was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_check_function_template=no" - fi -else - echo "configure: failed compile was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_check_function_template=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_check_function_template'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_FUNCTION_TEMPLATE 1" >>confdefs.h +# Check whether --with-libiconvinc was given. +if test "${with_libiconvinc+set}" = set; then : + withval=$with_libiconvinc; case $withval in #( + yes|no) : + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libiconvinc called without argument - will use default" >&5 +$as_echo "$as_me: WARNING: --with-libiconvinc called without argument - will use default" >&2;} + ;; #( + *) : + + if test ! -d ${withval}; then + as_fn_error $? "called with --with-libiconvinc but libiconv base directory ${withval} does not exist or is not a directory." "$LINENO" 5 + fi + + CPPFLAGS="-I${withval}/include $CPPFLAGS" + LDFLAGS="-L${withval}/lib $LDFLAGS" + if test "x$dcmtk_cv_rpath_works" = "xyes"; then + LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" + fi + ;; +esac -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ explicit template specialization syntax" >&5 -$as_echo_n "checking for C++ explicit template specialization syntax... " >&6; } +WITH_LIBICONV=no +ICONVLIBS="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libiconv support" >&5 +$as_echo_n "checking whether to include libiconv support... " >&6; } + -if ${ac_cv_check_explicit_template_specialization+:} false; then : - $as_echo_n "(cached) " >&6 +# Check whether --with-libiconv was given. +if test "${with_libiconv+set}" = set; then : + withval=$with_libiconv; case "$withval" in + yes) + WITH_LIBICONV=yes + $as_echo "#define WITH_LIBICONV 1" >>confdefs.h + + ICONVLIBS="-liconv -lcharset" + ;; + *) + ;; + esac else + SAVELIBS="$LIBS" + LIBS="$LIBS -liconv -lcharset" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -template -class X -{ - public: - int fn(); -}; - -template<> -int X::fn() -{ - return 0; -} - +#include int main () { -X x +iconv_t cd = iconv_open("", ""); iconv(cd, 0, 0, 0, 0); iconv_close(cd); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_check_explicit_template_specialization=yes" -else - eval "ac_cv_check_explicit_template_specialization=no" +if ac_fn_cxx_try_link "$LINENO"; then : + WITH_LIBICONV=yes + $as_echo "#define WITH_LIBICONV 1" >>confdefs.h + + ICONVLIBS="-liconv -lcharset" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$SAVELIBS" fi -if eval "test \"`echo '$ac_cv_check_explicit_template_specialization'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION 1" >>confdefs.h -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $WITH_LIBICONV" >&5 +$as_echo "$WITH_LIBICONV" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if volatile is known keyword" >&5 -$as_echo_n "checking if volatile is known keyword... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the second argument to iconv() is const" >&5 +$as_echo_n "checking whether the second argument to iconv() is const... " >&6; } -if ${ac_cv_have_cxx_volatile+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +SAVELIBS="$LIBS" +LIBS="$LIBS $ICONVLIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - +#include int main () { - -volatile int i=0; - +iconv_t cd = iconv_open("", ""); const char *in = 0; iconv(cd, &in, 0, 0, 0); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_have_cxx_volatile=yes" -else - eval "ac_cv_have_cxx_volatile=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -if eval "test \"`echo $ac_cv_have_cxx_volatile`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define HAVE_CXX_VOLATILE 1" >>confdefs.h + $as_echo "#define LIBICONV_SECOND_ARGUMENT_CONST 1" >>confdefs.h - : else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +LIBS="$SAVELIBS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler recognizes typename" >&5 -$as_echo_n "checking whether the compiler recognizes typename... " >&6; } -if ${ac_cv_cxx_typename+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +WITH_STDLIBC_ICONV=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C standard library provides iconv functionality" >&5 +$as_echo_n "checking whether the C standard library provides iconv functionality... " >&6; } +SAVELIBS="$LIBS" +LIBS="" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -templateclass X {public:X(){}}; +#include int main () { -X z; return 0; +iconv_t cd=iconv_open("","");iconv(cd,0,0,0,0);iconv_close(cd); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_cxx_typename=yes -else - ac_cv_cxx_typename=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_typename" >&5 -$as_echo "$ac_cv_cxx_typename" >&6; } -if test "$ac_cv_cxx_typename" = yes; then - $as_echo "#define HAVE_TYPENAME 1" >>confdefs.h +if ac_fn_cxx_try_link "$LINENO"; then : + WITH_STDLIBC_ICONV=yes + $as_echo "#define WITH_STDLIBC_ICONV 1" >>confdefs.h fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $WITH_STDLIBC_ICONV" >&5 +$as_echo "$WITH_STDLIBC_ICONV" >&6; } +LIBS="$SAVELIBS" - ac_cv_stdio_namespace_is_std=no - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +CHARCONVINCLUDES="" +CHARCONVLIBS="" -#include -int -main () -{ -FILE *f = ::fopen("name", "r"); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_stdio_namespace_is_std=no -else - ac_cv_stdio_namespace_is_std=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - if test "$ac_cv_stdio_namespace_is_std" = yes; then - $as_echo "#define STDIO_NAMESPACE std::" >>confdefs.h - else - $as_echo "#define STDIO_NAMESPACE ::" >>confdefs.h - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable default dictionary" >&5 -$as_echo_n "checking whether to enable default dictionary... " >&6; } -# Check whether --enable-default-dict was given. -if test "${enable_default_dict+set}" = set; then : - enableval=$enable_default_dict; case "$enableval" in - external|yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=external" >&5 -$as_echo "yes, type=external" >&6; } - -$as_echo "#define DCM_DICT_DEFAULT 2" >>confdefs.h - - ;; - builtin) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=builtin" >&5 -$as_echo "yes, type=builtin" >&6; } - -$as_echo "#define DCM_DICT_DEFAULT 1" >>confdefs.h - - ;; - no) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define DCM_DICT_DEFAULT 0" >>confdefs.h - - ;; - esac -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define DCM_DICT_DEFAULT 2" >>confdefs.h - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking fixed iconv conversion flags" >&5 +$as_echo_n "checking fixed iconv conversion flags... " >&6; } +if test "$WITH_STDLIBC_ICONV" != "yes"; then + SAVELIBS="$LIBS" + LIBS="$LIBS $ICONVLIBS" fi +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include "tests/iconv.cc" +_ACEOF +if ac_fn_cxx_try_run "$LINENO"; then : +cat >>confdefs.h <<_ACEOF +#define DCMTK_FIXED_ICONV_CONVERSION_FLAGS `./conftest$EXEEXT` +_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 +$as_echo "" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to evaluate DCMDICTPATH environment variable" >&5 -$as_echo_n "checking whether to evaluate DCMDICTPATH environment variable... " >&6; } -# Check whether --enable-dcmdictpath was given. -if test "${enable_dcmdictpath+set}" = set; then : - enableval=$enable_dcmdictpath; case "$enableval" in - yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define DCM_DICT_USE_DCMDICTPATH 1" >>confdefs.h - - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define DCM_DICT_USE_DCMDICTPATH 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unknown" >&5 +$as_echo "unknown" >&6; } +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +if test "$WITH_STDLIBC_ICONV" != "yes"; then + LIBS="$SAVELIBS" fi +if test "$WITH_STDLIBC_ICONV" == "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iconv_open() accepts \"\" as an argument" >&5 +$as_echo_n "checking whether iconv_open() accepts \"\" as an argument... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include "tests/lciconv.cc" +_ACEOF +if ac_fn_cxx_try_run "$LINENO"; then : +$as_echo "#define DCMTK_STDLIBC_ICONV_HAS_DEFAULT_ENCODING 1" >>confdefs.h -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable private tag dictionary" >&5 -$as_echo_n "checking whether to enable private tag dictionary... " >&6; } -# Check whether --enable-private-tags was given. -if test "${enable_private_tags+set}" = set; then : - enableval=$enable_private_tags; case "$enableval" in - yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -$as_echo "#define ENABLE_PRIVATE_TAGS 1" >>confdefs.h - - -cat >>confdefs.h <<_ACEOF -#define DCM_DICT_DEFAULT_PATH "${DATA_DIR}/dicom.dic:${DATA_DIR}/private.dic" -_ACEOF - - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wl,-rpath is supported" >&5 -$as_echo_n "checking whether -Wl,-rpath is supported... " >&6; } -if ${dcmtk_cv_rpath_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; dcmtk_cv_rpath_works=$enableval -else - old_LDFLAGS="$LDFLAGS" - LDFLAGS="-Wl,-rpath,$srcdir $LDFLAGS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - dcmtk_cv_rpath_works=yes -else - dcmtk_cv_rpath_works=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$old_LDFLAGS" +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dcmtk_cv_rpath_works" >&5 -$as_echo "$dcmtk_cv_rpath_works" >&6; } - +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable character set conversion support" >&5 +$as_echo_n "checking whether to enable character set conversion support... " >&6; } +# Check whether --enable-charconv was given. +if test "${enable_charconv+set}" = set; then : + enableval=$enable_charconv; case "$enableval" in + yes) -# Check whether --with-opensslinc was given. -if test "${with_opensslinc+set}" = set; then : - withval=$with_opensslinc; case $withval in #( - yes|no) : - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-opensslinc called without argument - will use default" >&5 -$as_echo "$as_me: WARNING: --with-opensslinc called without argument - will use default" >&2;} - ;; #( - *) : - if test ! -d ${withval}; then - as_fn_error $? "called with --with-opensslinc but OpenSSL base directory ${withval} does not exist or is not a directory." "$LINENO" 5 - fi - CPPFLAGS="-I${withval}/include $CPPFLAGS" - LDFLAGS="-L${withval}/lib $LDFLAGS" - if test "x$dcmtk_cv_rpath_works" = "xyes"; then - LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" - fi - ;; -esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=oficonv" >&5 +$as_echo "yes, type=oficonv" >&6; } + DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_OFICONV" -fi + ;; + oficonv) -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include OpenSSL support" >&5 -$as_echo_n "checking whether to include OpenSSL support... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=oficonv" >&5 +$as_echo "yes, type=oficonv" >&6; } + DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_OFICONV" -OPENSSL_WORKS="" + ;; + libiconv) -# Check whether --with-openssl was given. -if test "${with_openssl+set}" = set; then : - withval=$with_openssl; case "$withval" in - yes) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=libiconv" >&5 +$as_echo "yes, type=libiconv" >&6; } + CHARCONVLIBS="$ICONVLIBS" + DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_ICONV" -#if OPENSSL_VERSION_NUMBER < 0x10001000L -#error OpenSSL too old -#endif + ;; + stdlibc) - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_OPENSSL 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=stdlibc" >&5 +$as_echo "yes, type=stdlibc" >&6; } + DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_STDLIBC_ICONV" - OPENSSL_WORKS="yes" - OPENSSLLIBS="-lssl -lcrypto $OPENSSLLIBS" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - DCMTK requires OpenSSL version 1.0.1 or newer" >&5 -$as_echo "no - DCMTK requires OpenSSL version 1.0.1 or newer" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ;; - *) + no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } + ;; + *) + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=oficonv" >&5 +$as_echo "yes, type=oficonv" >&6; } + DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_OFICONV" + + ;; esac else - SAVELIBS="$LIBS" - LIBS="$LIBS -lssl -lcrypto $OPENSSLLIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -(void) TLSv1_method() - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - -#if OPENSSL_VERSION_NUMBER < 0x10001000L -#error OpenSSL too old -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_OPENSSL 1" >>confdefs.h - - OPENSSL_WORKS="yes" - OPENSSLLIBS="-lssl -lcrypto $OPENSSLLIBS" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - DCMTK requires OpenSSL version 1.0.1 or newer" >&5 -$as_echo "no - DCMTK requires OpenSSL version 1.0.1 or newer" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$SAVELIBS" -fi - - -if test "$OPENSSL_WORKS" = "yes"; then - -for ac_header in openssl/asn1.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/asn1.h" "ac_cv_header_openssl_asn1_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_asn1_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL_ASN1_H 1 -_ACEOF - -fi - -done - -for ac_header in openssl/dh.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/dh.h" "ac_cv_header_openssl_dh_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_dh_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL_DH_H 1 -_ACEOF - -fi - -done - -for ac_header in openssl/evp.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/evp.h" "ac_cv_header_openssl_evp_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_evp_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL_EVP_H 1 -_ACEOF - -fi - -done - -for ac_header in openssl/ssl.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_ssl_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL_SSL_H 1 -_ACEOF - -fi - -done - -for ac_header in openssl/ts.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/ts.h" "ac_cv_header_openssl_ts_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_ts_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL_TS_H 1 -_ACEOF - -fi - -done - -for ac_header in openssl/x509.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/x509.h" "ac_cv_header_openssl_x509_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_x509_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL_X509_H 1 -_ACEOF - -fi - -done - -for ac_header in openssl/provider.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "openssl/provider.h" "ac_cv_header_openssl_provider_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_provider_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL_PROVIDER_H 1 -_ACEOF - -fi - -done - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for DH_bits (in openssl/dh.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for DH_bits (in openssl/dh.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/dh.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo DH_bits | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct DH_bits(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_DH_BITS 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for EVP_PKEY_RSA_PSS (in openssl/evp.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for EVP_PKEY_RSA_PSS (in openssl/evp.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/evp.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo EVP_PKEY_RSA_PSS | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -EVP_PKEY_RSA_PSS - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for EVP_PKEY_base_id (in openssl/evp.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for EVP_PKEY_base_id (in openssl/evp.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/evp.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo EVP_PKEY_base_id | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct EVP_PKEY_base_id(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for NID_dsa_with_SHA512 (in openssl/obj_mac.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for NID_dsa_with_SHA512 (in openssl/obj_mac.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/obj_mac.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo NID_dsa_with_SHA512 | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -NID_dsa_with_SHA512 - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for NID_ecdsa_with_SHA3_256 (in openssl/obj_mac.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for NID_ecdsa_with_SHA3_256 (in openssl/obj_mac.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/obj_mac.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo NID_ecdsa_with_SHA3_256 | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -NID_ecdsa_with_SHA3_256 - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_NID_ECDSA_WITH_SHA3_256 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for NID_sha512_256WithRSAEncryption (in openssl/obj_mac.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for NID_sha512_256WithRSAEncryption (in openssl/obj_mac.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/obj_mac.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo NID_sha512_256WithRSAEncryption | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -NID_sha512_256WithRSAEncryption - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for RAND_egd (in openssl/rand.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for RAND_egd (in openssl/rand.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/rand.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo RAND_egd | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct RAND_egd(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_RAND_EGD 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_CTX_get_cert_store (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_CTX_get_cert_store (in openssl/ssl.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo SSL_CTX_get_cert_store | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct SSL_CTX_get_cert_store(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_CTX_get_ciphers (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_CTX_get_ciphers (in openssl/ssl.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo SSL_CTX_get_ciphers | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct SSL_CTX_get_ciphers(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_CTX_get0_param (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_CTX_get0_param (in openssl/ssl.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo SSL_CTX_get0_param | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct SSL_CTX_get0_param(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_CTX_set0_tmp_dh_pkey (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_CTX_set0_tmp_dh_pkey (in openssl/ssl.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo SSL_CTX_set0_tmp_dh_pkey | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct SSL_CTX_set0_tmp_dh_pkey(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_CTX_set1_curves (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_CTX_set1_curves (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo SSL_CTX_set1_curves | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -SSL_CTX_set1_curves(0,0,0) - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_CTX_set1_sigalgs (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_CTX_set1_sigalgs (in openssl/ssl.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo SSL_CTX_set1_sigalgs | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct SSL_CTX_set1_sigalgs(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_CTX_set_ecdh_auto (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_CTX_set_ecdh_auto (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo SSL_CTX_set_ecdh_auto | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -SSL_CTX_set_ecdh_auto(0,0) - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_CTX_set_max_proto_version (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_CTX_set_max_proto_version (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo SSL_CTX_set_max_proto_version | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -SSL_CTX_set_max_proto_version(0,0) - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_CTX_set_security_level (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_CTX_set_security_level (in openssl/ssl.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo SSL_CTX_set_security_level | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct SSL_CTX_set_security_level(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_ERROR_WANT_ASYNC (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_ERROR_WANT_ASYNC (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo SSL_ERROR_WANT_ASYNC | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -SSL_ERROR_WANT_ASYNC - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_ERROR_WANT_ASYNC_JOB (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_ERROR_WANT_ASYNC_JOB (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo SSL_ERROR_WANT_ASYNC_JOB | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -SSL_ERROR_WANT_ASYNC_JOB - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for SSL_ERROR_WANT_CLIENT_HELLO_CB (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for SSL_ERROR_WANT_CLIENT_HELLO_CB (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo SSL_ERROR_WANT_CLIENT_HELLO_CB | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -SSL_ERROR_WANT_CLIENT_HELLO_CB - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TLS1_3_RFC_AES_128_CCM_8_SHA256 (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TLS1_3_RFC_AES_128_CCM_8_SHA256 (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo TLS1_3_RFC_AES_128_CCM_8_SHA256 | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -TLS1_3_RFC_AES_128_CCM_8_SHA256 - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TLS1_3_RFC_AES_256_GCM_SHA384 (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TLS1_3_RFC_AES_256_GCM_SHA384 (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo TLS1_3_RFC_AES_256_GCM_SHA384 | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -TLS1_3_RFC_AES_256_GCM_SHA384 - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TLS1_3_RFC_CHACHA20_POLY1305_SHA256 (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TLS1_3_RFC_CHACHA20_POLY1305_SHA256 (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo TLS1_3_RFC_CHACHA20_POLY1305_SHA256 | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -TLS1_3_RFC_CHACHA20_POLY1305_SHA256 - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 (in openssl/ssl.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TLS_method (in openssl/ssl.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TLS_method (in openssl/ssl.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ssl.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo TLS_method | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct TLS_method(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TLS_METHOD 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for X509_STORE_CTX_get0_cert (in openssl/x509_vfy.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for X509_STORE_CTX_get0_cert (in openssl/x509_vfy.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/x509_vfy.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo X509_STORE_CTX_get0_cert | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -X509_STORE_CTX_get0_cert - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for X509_STORE_get0_param (in openssl/x509.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for X509_STORE_get0_param (in openssl/x509.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/x509.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo X509_STORE_get0_param | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct X509_STORE_get0_param(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for X509_get_signature_nid (in openssl/x509.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for X509_get_signature_nid (in openssl/x509.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/x509.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo X509_get_signature_nid | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct X509_get_signature_nid(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for ASN1_STRING_get0_data (in openssl/asn1.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for ASN1_STRING_get0_data (in openssl/asn1.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/asn1.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo ASN1_STRING_get0_data | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct ASN1_STRING_get0_data(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for EVP_PKEY_get0_EC_KEY (in openssl/evp.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for EVP_PKEY_get0_EC_KEY (in openssl/evp.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/evp.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo EVP_PKEY_get0_EC_KEY | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct EVP_PKEY_get0_EC_KEY(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for EVP_PKEY_get_group_name (in openssl/evp.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for EVP_PKEY_get_group_name (in openssl/evp.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/evp.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo EVP_PKEY_get_group_name | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct EVP_PKEY_get_group_name(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for EVP_PKEY_id (in openssl/evp.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for EVP_PKEY_id (in openssl/evp.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/evp.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo EVP_PKEY_id | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct EVP_PKEY_id(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for OSSL_PROVIDER_load (in openssl/provider.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for OSSL_PROVIDER_load (in openssl/provider.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/provider.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo OSSL_PROVIDER_load | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct OSSL_PROVIDER_load(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TS_STATUS_INFO_get0_failure_info (in openssl/ts.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TS_STATUS_INFO_get0_failure_info (in openssl/ts.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ts.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo TS_STATUS_INFO_get0_failure_info | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct TS_STATUS_INFO_get0_failure_info(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TS_STATUS_INFO_get0_status (in openssl/ts.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TS_STATUS_INFO_get0_status (in openssl/ts.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ts.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo TS_STATUS_INFO_get0_status | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct TS_STATUS_INFO_get0_status(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TS_STATUS_INFO_get0_text (in openssl/ts.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TS_STATUS_INFO_get0_text (in openssl/ts.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ts.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo TS_STATUS_INFO_get0_text | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct TS_STATUS_INFO_get0_text(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TS_VERIFY_CTS_set_certs (in openssl/ts.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TS_VERIFY_CTS_set_certs (in openssl/ts.h)... " >&6; } - -ac_includes="" -for ac_header in openssl/ts.h -do - ac_includes="$ac_includes -#include<$ac_header>" -done -tmp_save_1=`echo TS_VERIFY_CTS_set_certs | tr ' :' '__'` -if eval \${ac_cv_compiles_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes -int -main () -{ -TS_VERIFY_CTS_set_certs(0,0) - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_compiles_$tmp_save_1=yes" -else - eval "ac_cv_compiles_$tmp_save_1=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_compiles_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TS_VERIFY_CTX_set_data (in openssl/ts.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TS_VERIFY_CTX_set_data (in openssl/ts.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ts.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo TS_VERIFY_CTX_set_data | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct TS_VERIFY_CTX_set_data(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TS_VERIFY_CTX_set_flags (in openssl/ts.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TS_VERIFY_CTX_set_flags (in openssl/ts.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ts.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo TS_VERIFY_CTX_set_flags | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct TS_VERIFY_CTX_set_flags(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for TS_VERIFY_CTX_set_store (in openssl/ts.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for TS_VERIFY_CTX_set_store (in openssl/ts.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/ts.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo TS_VERIFY_CTX_set_store | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct TS_VERIFY_CTX_set_store(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for X509_get0_notAfter (in openssl/x509.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for X509_get0_notAfter (in openssl/x509.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/x509.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo X509_get0_notAfter | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct X509_get0_notAfter(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL provides a prototype for X509_get0_notBefore (in openssl/x509.h)" >&5 -$as_echo_n "checking whether OpenSSL provides a prototype for X509_get0_notBefore (in openssl/x509.h)... " >&6; } - -: -ac_includes="" -for ac_header in openssl/x509.h -do - ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'}'`\" = yes"; then - ac_includes="$ac_includes -#include<$ac_header>" - fi -done -tmp_save_1=`echo X509_get0_notBefore | tr ' :' '__'` -if eval \${ac_cv_prototype_$tmp_save_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus -extern "C" { -#endif -$ac_includes -#ifdef __cplusplus -} -#endif -typedef union { int member; } dummyStruct; -#ifdef __cplusplus -extern "C" -#endif -dummyStruct X509_get0_notBefore(dummyStruct); - - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval "ac_cv_prototype_$tmp_save_1=no" -else - eval "ac_cv_prototype_$tmp_save_1=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -if eval "test \"`echo '$''{'ac_cv_prototype_$tmp_save_1'}'`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE 1" >>confdefs.h - - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL defines the new typedef of EVP_MD_CTX as struct evp_md_ctx_st" >&5 -$as_echo_n "checking whether OpenSSL defines the new typedef of EVP_MD_CTX as struct evp_md_ctx_st... " >&6; } - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -struct evp_md_ctx_st *a; EVP_MD_CTX *b=a - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL defines the first parameter of function X509_ALGOR_get0() const" >&5 -$as_echo_n "checking whether OpenSSL defines the first parameter of function X509_ALGOR_get0() const... " >&6; } - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0) - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi - - - -JPEGLIBS="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_set_defaults in -ljpeg" >&5 -$as_echo_n "checking for jpeg_set_defaults in -ljpeg... " >&6; } -if ${ac_cv_lib_jpeg_jpeg_set_defaults+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ljpeg $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char jpeg_set_defaults (); -int -main () -{ -return jpeg_set_defaults (); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - ac_cv_lib_jpeg_jpeg_set_defaults=yes -else - ac_cv_lib_jpeg_jpeg_set_defaults=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_set_defaults" >&5 -$as_echo "$ac_cv_lib_jpeg_jpeg_set_defaults" >&6; } -if test "x$ac_cv_lib_jpeg_jpeg_set_defaults" = xyes; then : - -JPEGLIBS="-ljpeg" - -fi - -if test $ac_cv_lib_jpeg_jpeg_set_defaults = no ; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for jSetDefaults in -ljpeg" >&5 -$as_echo_n "checking for jSetDefaults in -ljpeg... " >&6; } -if ${ac_cv_lib_jpeg_jSetDefaults+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ljpeg $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char jSetDefaults (); -int -main () -{ -return jSetDefaults (); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - ac_cv_lib_jpeg_jSetDefaults=yes -else - ac_cv_lib_jpeg_jSetDefaults=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jSetDefaults" >&5 -$as_echo "$ac_cv_lib_jpeg_jSetDefaults" >&6; } -if test "x$ac_cv_lib_jpeg_jSetDefaults" = xyes; then : - -JPEGLIBS="-ljpeg" - -fi - -fi - - - - - -# Check whether --with-zlibinc was given. -if test "${with_zlibinc+set}" = set; then : - withval=$with_zlibinc; case $withval in #( - yes|no) : - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-zlibinc called without argument - will use default" >&5 -$as_echo "$as_me: WARNING: --with-zlibinc called without argument - will use default" >&2;} - ;; #( - *) : - - if test ! -d ${withval}; then - as_fn_error $? "called with --with-zlibinc but zlib base directory ${withval} does not exist or is not a directory." "$LINENO" 5 - fi - - CPPFLAGS="-I${withval}/include $CPPFLAGS" - LDFLAGS="-L${withval}/lib $LDFLAGS" - if test "x$dcmtk_cv_rpath_works" = "xyes"; then - LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" - fi - ;; -esac - -fi - - -ZLIBLIBS="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include zlib support" >&5 -$as_echo_n "checking whether to include zlib support... " >&6; } - - -# Check whether --with-zlib was given. -if test "${with_zlib+set}" = set; then : - withval=$with_zlib; case "$withval" in - yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_ZLIB 1" >>confdefs.h - - ZLIBLIBS="-lz" - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -else - SAVELIBS="$LIBS" - LIBS="$LIBS -lz" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -(void) zlibVersion() - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_ZLIB 1" >>confdefs.h - - ZLIBLIBS="-lz" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$SAVELIBS" -fi - - - - - - -# Check whether --with-libtiffinc was given. -if test "${with_libtiffinc+set}" = set; then : - withval=$with_libtiffinc; case $withval in #( - yes|no) : - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libtiffinc called without argument - will use default" >&5 -$as_echo "$as_me: WARNING: --with-libtiffinc called without argument - will use default" >&2;} - ;; #( - *) : - - if test ! -d ${withval}; then - as_fn_error $? "called with --with-libtiffinc but libtiff base directory ${withval} does not exist or is not a directory." "$LINENO" 5 - fi - - CPPFLAGS="-I${withval}/include $CPPFLAGS" - LDFLAGS="-L${withval}/lib $LDFLAGS" - if test "x$dcmtk_cv_rpath_works" = "xyes"; then - LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" - fi - ;; -esac - -fi - - -TIFFLIBS="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libtiff support" >&5 -$as_echo_n "checking whether to include libtiff support... " >&6; } - - -# Check whether --with-libtiff was given. -if test "${with_libtiff+set}" = set; then : - withval=$with_libtiff; case "$withval" in - yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_LIBTIFF 1" >>confdefs.h - - TIFFLIBS="-ltiff $JPEGLIBS $ZLIBLIBS" - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -else - SAVELIBS="$LIBS" - LIBS="$LIBS -ltiff $JPEGLIBS $ZLIBLIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -(void) TIFFGetVersion() - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_LIBTIFF 1" >>confdefs.h - - TIFFLIBS="-ltiff $JPEGLIBS $ZLIBLIBS" - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$SAVELIBS" -fi - - - - - - -# Check whether --with-libpnginc was given. -if test "${with_libpnginc+set}" = set; then : - withval=$with_libpnginc; case $withval in #( - yes|no) : - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libpnginc called without argument - will use default" >&5 -$as_echo "$as_me: WARNING: --with-libpnginc called without argument - will use default" >&2;} - ;; #( - *) : - - if test ! -d ${withval}; then - as_fn_error $? "called with --with-libpnginc but libpng base directory ${withval} does not exist or is not a directory." "$LINENO" 5 - fi - - CPPFLAGS="-I${withval}/include $CPPFLAGS" - LDFLAGS="-L${withval}/lib $LDFLAGS" - if test "x$dcmtk_cv_rpath_works" = "xyes"; then - LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" - fi - ;; -esac - -fi - - -for ac_header in libpng/png.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "libpng/png.h" "ac_cv_header_libpng_png_h" "$ac_includes_default" -if test "x$ac_cv_header_libpng_png_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPNG_PNG_H 1 -_ACEOF - -fi - -done - - -PNGLIBS="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libpng support" >&5 -$as_echo_n "checking whether to include libpng support... " >&6; } - - -# Check whether --with-libpng was given. -if test "${with_libpng+set}" = set; then : - withval=$with_libpng; case "$withval" in - yes) - if test "x$ZLIBLIBS" != x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_LIBPNG 1" >>confdefs.h - - PNGLIBS="-lpng" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no because libpng requires zlib" >&5 -$as_echo "no because libpng requires zlib" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -else - if test "x$ZLIBLIBS" != x; then - SAVELIBS="$LIBS" - LIBS="$LIBS -lpng $ZLIBLIBS" - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef HAVE_LIBPNG_PNG_H -#include -#else -#include -#endif -int -main () -{ -(void) png_access_version_number() - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_LIBPNG 1" >>confdefs.h - - PNGLIBS="-lpng" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - LIBS="$SAVELIBS" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no because libpng requires zlib" >&5 -$as_echo "no because libpng requires zlib" >&6; } - fi - -fi - - - - - - -# Check whether --with-libxmlinc was given. -if test "${with_libxmlinc+set}" = set; then : - withval=$with_libxmlinc; case $withval in #( - yes|no) : - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libxmlinc called without argument - will use default" >&5 -$as_echo "$as_me: WARNING: --with-libxmlinc called without argument - will use default" >&2;} - ;; #( - *) : - - if test ! -d ${withval}; then - as_fn_error $? "called with --with-libxmlinc but libxml base directory ${withval} does not exist or is not a directory." "$LINENO" 5 - fi - - CPPFLAGS="-I${withval}/include $CPPFLAGS" - LDFLAGS="-L${withval}/lib $LDFLAGS" - if test "x$dcmtk_cv_rpath_works" = "xyes"; then - LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" - fi - ;; -esac - -fi - - -LIBXMLCFLAGS=`xml2-config --cflags 2>/dev/null` -if test "${LIBXMLCFLAGS+set}" = set; then - CXXFLAGS="$LIBXMLCFLAGS $CXXFLAGS" - CFLAGS="$LIBXMLCFLAGS $CFLAGS" -fi -LIBXMLLIBS=`xml2-config --libs 2>/dev/null` - -XMLLIBS="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libxml support" >&5 -$as_echo_n "checking whether to include libxml support... " >&6; } - - -# Check whether --with-libxml was given. -if test "${with_libxml+set}" = set; then : - withval=$with_libxml; case "$withval" in - yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_LIBXML 1" >>confdefs.h - - XMLLIBS=$LIBXMLLIBS - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -else - SAVELIBS="$LIBS" - LIBS="$LIBS $LIBXMLLIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -(void) xmlInitParser() - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_LIBXML 1" >>confdefs.h - - XMLLIBS=$LIBXMLLIBS -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$SAVELIBS" -fi - - - - - -# Check whether --with-libwrapinc was given. -if test "${with_libwrapinc+set}" = set; then : - withval=$with_libwrapinc; case $withval in #( - yes|no) : - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libwrapinc called without argument - will use default" >&5 -$as_echo "$as_me: WARNING: --with-libwrapinc called without argument - will use default" >&2;} - ;; #( - *) : - - if test ! -d ${withval}; then - as_fn_error $? "called with --with-libwrapinc but libwrap base directory ${withval} does not exist or is not a directory." "$LINENO" 5 - fi - - CPPFLAGS="-I${withval}/include $CPPFLAGS" - LDFLAGS="-L${withval}/lib $LDFLAGS" - if test "x$dcmtk_cv_rpath_works" = "xyes"; then - LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" - fi - ;; -esac - -fi - - -TCPWRAPPERLIBS="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libwrap support" >&5 -$as_echo_n "checking whether to include libwrap support... " >&6; } - - -# Check whether --with-libwrap was given. -if test "${with_libwrap+set}" = set; then : - withval=$with_libwrap; case "$withval" in - yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_TCPWRAPPER 1" >>confdefs.h - - TCPWRAPPERLIBS="-lwrap" - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -else - SAVELIBS="$LIBS" - LIBS="-lwrap $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __cplusplus - extern "C" { - #endif - #ifdef HAVE_STDIO_H - /* on some platforms, tcpd.h needs stdio.h */ - #include - #endif - #ifdef HAVE_SYS_TYPES_H - /* on some platforms, tcpd.h needs sys/types.h */ - #include - #endif - #include - #ifdef __cplusplus - } - #endif - int deny_severity = 0; - int allow_severity = 0; -int -main () -{ -struct request_info r; (void) hosts_access(&r) - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_TCPWRAPPER 1" >>confdefs.h - - TCPWRAPPERLIBS="-lwrap" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$SAVELIBS" -fi - - - - - - -# Check whether --with-openjpeginc was given. -if test "${with_openjpeginc+set}" = set; then : - withval=$with_openjpeginc; case $withval in #( - yes|no) : - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-openjpeginc called without argument - will use default" >&5 -$as_echo "$as_me: WARNING: --with-openjpeginc called without argument - will use default" >&2;} - ;; #( - *) : - - if test ! -d ${withval}; then - as_fn_error $? "called with --with-openjpeginc but OpenJPEG base directory ${withval} does not exist or is not a directory." "$LINENO" 5 - fi - - OPENJPEGINCLUDEPATH=`( - eval echo "${withval}/include/openjpeg*" - )` - - if test ! -d "${OPENJPEGINCLUDEPATH}"; then - OPENJPEGINCLUDEPATH="${withval}/include" - fi - - CPPFLAGS="-I${OPENJPEGINCLUDEPATH} $CPPFLAGS" - LDFLAGS="-L${withval}/lib $LDFLAGS" - if test "x$dcmtk_cv_rpath_works" = "xyes"; then - LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" - fi - ;; -esac - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include OpenJPEG support" >&5 -$as_echo_n "checking whether to include OpenJPEG support... " >&6; } - - -# Check whether --with-libwrap was given. -if test "${with_libwrap+set}" = set; then : - withval=$with_libwrap; case "$withval" in - yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_OPENJPEG 1" >>confdefs.h - - OPENJPEGLIBS="-lopenjp2 $OPENJPEGLIBS" - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -else - SAVELIBS="$LIBS" - LIBS="-lopenjp2 $OPENJPEGLIBS $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -(void) opj_version() - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_OPENJPEG 1" >>confdefs.h - - OPENJPEGLIBS="-lopenjp2 $OPENJPEGLIBS" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$SAVELIBS" -fi - - - - - - -# Check whether --with-libsndfileinc was given. -if test "${with_libsndfileinc+set}" = set; then : - withval=$with_libsndfileinc; case $withval in #( - yes|no) : - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libsndfileinc called without argument - will use default" >&5 -$as_echo "$as_me: WARNING: --with-libsndfileinc called without argument - will use default" >&2;} - ;; #( - *) : - - if test ! -d ${withval}; then - as_fn_error $? "called with --with-libsndfileinc but libsndfile base directory ${withval} does not exist or is not a directory." "$LINENO" 5 - fi - - CPPFLAGS="-I${withval}/include $CPPFLAGS" - LDFLAGS="-L${withval}/lib $LDFLAGS" - if test "x$dcmtk_cv_rpath_works" = "xyes"; then - LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" - fi - ;; -esac - -fi - - -SNDFILELIBS="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libsndfile support" >&5 -$as_echo_n "checking whether to include libsndfile support... " >&6; } - - -# Check whether --with-libsndfile was given. -if test "${with_libsndfile+set}" = set; then : - withval=$with_libsndfile; case "$withval" in - yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_SNDFILE 1" >>confdefs.h - - SNDFILELIBS="-lsndfile" - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -else - SAVELIBS="$LIBS" - LIBS="$LIBS -lsndfile" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -char buffer [128]; sf_command (NULL, SFC_GET_LIB_VERSION, buffer, sizeof (buffer)); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define WITH_SNDFILE 1" >>confdefs.h - - SNDFILELIBS="-lsndfile" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$SAVELIBS" - -fi - - - - - -# Check whether --with-libiconvinc was given. -if test "${with_libiconvinc+set}" = set; then : - withval=$with_libiconvinc; case $withval in #( - yes|no) : - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libiconvinc called without argument - will use default" >&5 -$as_echo "$as_me: WARNING: --with-libiconvinc called without argument - will use default" >&2;} - ;; #( - *) : - - if test ! -d ${withval}; then - as_fn_error $? "called with --with-libiconvinc but libiconv base directory ${withval} does not exist or is not a directory." "$LINENO" 5 - fi - - CPPFLAGS="-I${withval}/include $CPPFLAGS" - LDFLAGS="-L${withval}/lib $LDFLAGS" - if test "x$dcmtk_cv_rpath_works" = "xyes"; then - LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" - fi - ;; -esac - -fi - -WITH_LIBICONV=no -ICONVLIBS="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include libiconv support" >&5 -$as_echo_n "checking whether to include libiconv support... " >&6; } - - -# Check whether --with-libiconv was given. -if test "${with_libiconv+set}" = set; then : - withval=$with_libiconv; case "$withval" in - yes) - WITH_LIBICONV=yes - $as_echo "#define WITH_LIBICONV 1" >>confdefs.h - - ICONVLIBS="-liconv -lcharset" - ;; - *) - ;; - esac -else - SAVELIBS="$LIBS" - LIBS="$LIBS -liconv -lcharset" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -iconv_t cd = iconv_open("", ""); iconv(cd, 0, 0, 0, 0); iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - WITH_LIBICONV=yes - $as_echo "#define WITH_LIBICONV 1" >>confdefs.h - - ICONVLIBS="-liconv -lcharset" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$SAVELIBS" -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $WITH_LIBICONV" >&5 -$as_echo "$WITH_LIBICONV" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the second argument to iconv() is const" >&5 -$as_echo_n "checking whether the second argument to iconv() is const... " >&6; } - -SAVELIBS="$LIBS" -LIBS="$LIBS $ICONVLIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -iconv_t cd = iconv_open("", ""); const char *in = 0; iconv(cd, &in, 0, 0, 0); iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define LIBICONV_SECOND_ARGUMENT_CONST 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -LIBS="$SAVELIBS" - - - -WITH_STDLIBC_ICONV=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C standard library provides iconv functionality" >&5 -$as_echo_n "checking whether the C standard library provides iconv functionality... " >&6; } -SAVELIBS="$LIBS" -LIBS="" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -iconv_t cd=iconv_open("","");iconv(cd,0,0,0,0);iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - WITH_STDLIBC_ICONV=yes - $as_echo "#define WITH_STDLIBC_ICONV 1" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $WITH_STDLIBC_ICONV" >&5 -$as_echo "$WITH_STDLIBC_ICONV" >&6; } -LIBS="$SAVELIBS" - - - - -# Check whether --with-libicuinc was given. -if test "${with_libicuinc+set}" = set; then : - withval=$with_libicuinc; case $withval in #( - yes|no) : - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-libicuinc called without argument - will use default" >&5 -$as_echo "$as_me: WARNING: --with-libicuinc called without argument - will use default" >&2;} - ;; #( - *) : - - if test ! -d ${withval}; then - as_fn_error $? "called with --with-libicuinc but libicu base directory ${withval} does not exist or is not a directory." "$LINENO" 5 - fi - - CPPFLAGS="-I${withval}/include $CPPFLAGS" - LDFLAGS="-L${withval}/lib $LDFLAGS" - if test "x$dcmtk_cv_rpath_works" = "xyes"; then - LDFLAGS="-Wl,-rpath,${withval}/lib $LDFLAGS" - fi - ;; -esac - -fi - - -WITH_LIBICU=no - -# Check whether --with-libicu was given. -if test "${with_libicu+set}" = set; then : - withval=$with_libicu; { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include ICU support" >&5 -$as_echo_n "checking whether to include ICU support... " >&6; } - case "$withval" in - yes) - WITH_LIBICU=yes - $as_echo "#define WITH_LIBICU 1" >>confdefs.h - - ICULIBS="-licui18n -licuuc -licudata" - ;; - *) - ;; - esac -else - - if test -z "$ICU_CONFIG"; then - # Extract the first word of "icu-config", so it can be a program name with args. -set dummy icu-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ICU_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ICU_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ICU_CONFIG="$ICU_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ICU_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_ICU_CONFIG" && ac_cv_path_ICU_CONFIG="no" - ;; -esac -fi -ICU_CONFIG=$ac_cv_path_ICU_CONFIG -if test -n "$ICU_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ICU_CONFIG" >&5 -$as_echo "$ICU_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include ICU support" >&5 -$as_echo_n "checking whether to include ICU support... " >&6; } - fi - if [ ! "$ICU_CONFIG" = "no" ]; then - ICU_VERSION=`$ICU_CONFIG --version` - VERSION_CHECK=`expr $ICU_VERSION \>\= 3.4.1` - if test VERSION_CHECK=1; then - WITH_LIBICU=yes - $as_echo "#define WITH_LIBICU 1" >>confdefs.h - - ICUINCLUDES=`$ICU_CONFIG --cppflags` - ICULIBS=`$ICU_CONFIG --ldflags` - fi - fi - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $WITH_LIBICU" >&5 -$as_echo "$WITH_LIBICU" >&6; } - - - - -CHARCONVINCLUDES="" -CHARCONVLIBS="" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking fixed iconv conversion flags" >&5 -$as_echo_n "checking fixed iconv conversion flags... " >&6; } -if test "$WITH_STDLIBC_ICONV" != "yes"; then - SAVELIBS="$LIBS" - LIBS="$LIBS $ICONVLIBS" -fi -if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include "tests/iconv.cc" -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - -cat >>confdefs.h <<_ACEOF -#define DCMTK_FIXED_ICONV_CONVERSION_FLAGS `./conftest$EXEEXT` -_ACEOF - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unknown" >&5 -$as_echo "unknown" >&6; } - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -if test "$WITH_STDLIBC_ICONV" != "yes"; then - LIBS="$SAVELIBS" -fi - -if test "$WITH_STDLIBC_ICONV" == "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iconv_open() accepts \"\" as an argument" >&5 -$as_echo_n "checking whether iconv_open() accepts \"\" as an argument... " >&6; } - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include "tests/lciconv.cc" -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - - -$as_echo "#define DCMTK_STDLIBC_ICONV_HAS_DEFAULT_ENCODING 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable character set conversion support" >&5 -$as_echo_n "checking whether to enable character set conversion support... " >&6; } -# Check whether --enable-charconv was given. -if test "${enable_charconv+set}" = set; then : - enableval=$enable_charconv; case "$enableval" in - yes) - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=oficonv" >&5 -$as_echo "yes, type=oficonv" >&6; } - DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_OFICONV" - - - ;; - oficonv) - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=oficonv" >&5 -$as_echo "yes, type=oficonv" >&6; } - DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_OFICONV" - - ;; - libiconv) - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=libiconv" >&5 -$as_echo "yes, type=libiconv" >&6; } - CHARCONVLIBS="$ICONVLIBS" - DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_ICONV" - - ;; - libicu) - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=libicu" >&5 -$as_echo "yes, type=libicu" >&6; } - CHARCONVINCLUDES="$ICUINCLUDES" - CHARCONVLIBS="$ICULIBS" - DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_ICU" - - ;; - stdlibc) - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=stdlibc" >&5 -$as_echo "yes, type=stdlibc" >&6; } - DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_STDLIBC_ICONV" - - ;; - no) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - *) - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=oficonv" >&5 -$as_echo "yes, type=oficonv" >&6; } - DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_OFICONV" - - - ;; - esac -else - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=oficonv" >&5 -$as_echo "yes, type=oficonv" >&6; } - DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_OFICONV" - - - -fi - - - - - -if [ ! -z "$DCMTK_ENABLE_CHARSET_CONVERSION" ]; then - -cat >>confdefs.h <<_ACEOF -#define DCMTK_ENABLE_CHARSET_CONVERSION $DCMTK_ENABLE_CHARSET_CONVERSION -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to embed oficonv data files into oficonv library" >&5 -$as_echo_n "checking whether to embed oficonv data files into oficonv library... " >&6; } -# Check whether --enable-builtin-oficonv was given. -if test "${enable_builtin_oficonv+set}" = set; then : - enableval=$enable_builtin_oficonv; case "$enableval" in - yes) - -$as_echo "#define DCMTK_ENABLE_BUILTIN_OFICONV_DATA 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -fi - - - - -ac_enable_cxx11="no" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable C++11 support" >&5 -$as_echo_n "checking whether to enable C++11 support... " >&6; } -# Check whether --enable-cxx11 was given. -if test "${enable_cxx11+set}" = set; then : - enableval=$enable_cxx11; case "$enableval" in - yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } - ax_cxx_compile_alternatives="11 0x" ax_cxx_compile_cxx11_required=false - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - ac_success=no - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5 -$as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; } -if ${ax_cv_cxx_compile_cxx11+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -// If the compiler admits that it is not ready for C++11, why torture it? -// Hopefully, this will speed up the test. - -#ifndef __cplusplus - -#error "This is not a C++ compiler" - -#elif __cplusplus < 201103L - -#error "This is not a C++11 compiler" - -#else - -namespace cxx11 -{ - - namespace test_static_assert - { - - template - struct check - { - static_assert(sizeof(int) <= sizeof(T), "not big enough"); - }; - - } - - namespace test_final_override - { - - struct Base - { - virtual void f() {} - }; - - struct Derived : public Base - { - virtual void f() override {} - }; - - } - - namespace test_double_right_angle_brackets - { - - template < typename T > - struct check {}; - - typedef check single_type; - typedef check> double_type; - typedef check>> triple_type; - typedef check>>> quadruple_type; - - } - - namespace test_decltype - { - - int - f() - { - int a = 1; - decltype(a) b = 2; - return a + b; - } - - } - - namespace test_type_deduction - { - - template < typename T1, typename T2 > - struct is_same - { - static const bool value = false; - }; - - template < typename T > - struct is_same - { - static const bool value = true; - }; - - template < typename T1, typename T2 > - auto - add(T1 a1, T2 a2) -> decltype(a1 + a2) - { - return a1 + a2; - } - - int - test(const int c, volatile int v) - { - static_assert(is_same::value == true, ""); - static_assert(is_same::value == false, ""); - static_assert(is_same::value == false, ""); - auto ac = c; - auto av = v; - auto sumi = ac + av + 'x'; - auto sumf = ac + av + 1.0; - static_assert(is_same::value == true, ""); - static_assert(is_same::value == true, ""); - static_assert(is_same::value == true, ""); - static_assert(is_same::value == false, ""); - static_assert(is_same::value == true, ""); - return (sumf > 0.0) ? sumi : add(c, v); - } - - } - - namespace test_noexcept - { - - int f() { return 0; } - int g() noexcept { return 0; } - - static_assert(noexcept(f()) == false, ""); - static_assert(noexcept(g()) == true, ""); - - } - - namespace test_constexpr - { - - template < typename CharT > - unsigned long constexpr - strlen_c_r(const CharT *const s, const unsigned long acc) noexcept - { - return *s ? strlen_c_r(s + 1, acc + 1) : acc; - } - template < typename CharT > - unsigned long constexpr - strlen_c(const CharT *const s) noexcept - { - return strlen_c_r(s, 0UL); - } - - static_assert(strlen_c("") == 0UL, ""); - static_assert(strlen_c("1") == 1UL, ""); - static_assert(strlen_c("example") == 7UL, ""); - static_assert(strlen_c("another\0example") == 7UL, ""); - - } - - namespace test_rvalue_references - { - - template < int N > - struct answer - { - static constexpr int value = N; - }; - - answer<1> f(int&) { return answer<1>(); } - answer<2> f(const int&) { return answer<2>(); } - answer<3> f(int&&) { return answer<3>(); } - - void - test() - { - int i = 0; - const int c = 0; - static_assert(decltype(f(i))::value == 1, ""); - static_assert(decltype(f(c))::value == 2, ""); - static_assert(decltype(f(0))::value == 3, ""); - } - - } - - namespace test_uniform_initialization - { - - struct test - { - static const int zero {}; - static const int one {1}; - }; - - static_assert(test::zero == 0, ""); - static_assert(test::one == 1, ""); - - } - - namespace test_lambdas - { - - void - test1() - { - auto lambda1 = [](){}; - auto lambda2 = lambda1; - lambda1(); - lambda2(); - } - int - test2() - { - auto a = [](int i, int j){ return i + j; }(1, 2); - auto b = []() -> int { return '0'; }(); - auto c = [=](){ return a + b; }(); - auto d = [&](){ return c; }(); - auto e = [a, &b](int x) mutable { - const auto identity = [](int y){ return y; }; - for (auto i = 0; i < a; ++i) - a += b--; - return x + identity(a + b); - }(0); - return a + b + c + d + e; - } - - int - test3() - { - const auto nullary = [](){ return 0; }; - const auto unary = [](int x){ return x; }; - using nullary_t = decltype(nullary); - using unary_t = decltype(unary); - const auto higher1st = [](nullary_t f){ return f(); }; - const auto higher2nd = [unary](nullary_t f1){ - return [unary, f1](unary_t f2){ return f2(unary(f1())); }; - }; - return higher1st(nullary) + higher2nd(nullary)(unary); - } - - } - - namespace test_variadic_templates - { - - template - struct sum; - - template - struct sum - { - static constexpr auto value = N0 + sum::value; - }; - - template <> - struct sum<> - { - static constexpr auto value = 0; - }; - - static_assert(sum<>::value == 0, ""); - static_assert(sum<1>::value == 1, ""); - static_assert(sum<23>::value == 23, ""); - static_assert(sum<1, 2>::value == 3, ""); - static_assert(sum<5, 5, 11>::value == 21, ""); - static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); - } - - // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae - // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function - // because of this. - namespace test_template_alias_sfinae - { + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, type=oficonv" >&5 +$as_echo "yes, type=oficonv" >&6; } + DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_OFICONV" - struct foo {}; - template - using member = typename T::member_type; - template - void func(...) {} +fi - template - void func(member*) {} - void test(); - void test() { func(0); } - } -} // namespace cxx11 +if [ ! -z "$DCMTK_ENABLE_CHARSET_CONVERSION" ]; then -#endif // __cplusplus >= 201103L +cat >>confdefs.h <<_ACEOF +#define DCMTK_ENABLE_CHARSET_CONVERSION $DCMTK_ENABLE_CHARSET_CONVERSION +_ACEOF + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to embed oficonv data files into oficonv library" >&5 +$as_echo_n "checking whether to embed oficonv data files into oficonv library... " >&6; } +# Check whether --enable-builtin-oficonv was given. +if test "${enable_builtin_oficonv+set}" = set; then : + enableval=$enable_builtin_oficonv; case "$enableval" in + yes) +$as_echo "#define DCMTK_ENABLE_BUILTIN_OFICONV_DATA 1" >>confdefs.h -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ax_cv_cxx_compile_cxx11=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac else - ax_cv_cxx_compile_cxx11=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + +ac_enable_cxx11="yes" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable C++11 support" >&5 +$as_echo_n "checking whether to enable C++11 support... " >&6; } +# Check whether --enable-cxx11 was given. +if test "${enable_cxx11+set}" = set; then : + enableval=$enable_cxx11; case "$enableval" in + yes) + ac_enable_cxx11="yes" + ;; + + *) + ac_enable_cxx11="no" + ;; + esac + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5 -$as_echo "$ax_cv_cxx_compile_cxx11" >&6; } - if test x$ax_cv_cxx_compile_cxx11 = xyes; then - ac_success=yes - fi + + +if test "$ac_enable_cxx11" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 +$as_echo "" >&6; } + ax_cxx_compile_alternatives="11 0x" ax_cxx_compile_cxx11_required=true + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + ac_success=no + + if test x$ac_success = xno; then - for alternative in ${ax_cxx_compile_alternatives}; do - for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` + for alternative in ${ax_cxx_compile_alternatives}; do + for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}" MSVC; do + if test x"$switch" = xMSVC; then + switch=-std:c++${alternative} + cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_${switch}_MSVC" | $as_tr_sh` + else + cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 $as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; } if eval \${$cachevar+:} false; then : @@ -17965,7 +12542,11 @@ else #error "This is not a C++ compiler" -#elif __cplusplus < 201103L +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER #error "This is not a C++11 compiler" @@ -17990,11 +12571,13 @@ namespace cxx11 struct Base { + virtual ~Base() {} virtual void f() {} }; struct Derived : public Base { + virtual ~Derived() override {} virtual void f() override {} }; @@ -18291,18 +12874,11 @@ $as_echo "#define HAVE_CXX11 1" >>confdefs.h fi - if test "$HAVE_CXX11 == 1"; then - ac_enable_cxx11="yes" + if test "$HAVE_CXX11" != 1; then + ac_enable_cxx11="no" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable C++11 support" >&5 $as_echo_n "checking whether to enable C++11 support... " >&6; } - ;; - - *) - ac_enable_cxx11="no" - ;; - esac - fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_cxx11" >&5 @@ -18422,52 +12998,6 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_algorithm" >&5 $as_echo "$ac_enable_stl_algorithm" >&6; } -ac_enable_stl_limits="auto" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL limits support" >&5 -$as_echo_n "checking whether to enable STL limits support... " >&6; } -# Check whether --enable-stl-limits was given. -if test "${enable_stl_limits+set}" = set; then : - enableval=$enable_stl_limits; case "$enableval" in - yes) - ac_enable_stl_limits="yes" - ;; - - *) - ac_enable_stl_limits="no" - ;; - esac - -fi - -if test "$ac_enable_stl_limits" = "auto"; then - ac_enable_stl_limits="$ac_enable_stl" -fi -if test "$ac_enable_stl_limits" = "yes"; then - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include "tests/limits.cc" -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - -$as_echo "#define HAVE_STL_LIMITS 1" >>confdefs.h - -else - ac_enable_stl_limits="unsupported -> no" -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_limits" >&5 -$as_echo "$ac_enable_stl_limits" >&6; } - ac_enable_stl_list="auto" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL list support" >&5 $as_echo_n "checking whether to enable STL list support... " >&6; } @@ -18836,6 +13366,38 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_system_error" >&5 $as_echo "$ac_enable_stl_system_error" >&6; } +ac_enable_stl_atomic="auto" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable STL atomic support" >&5 +$as_echo_n "checking whether to enable STL atomic support... " >&6; } +# Check whether --enable-stl-atomic was given. +if test "${enable_stl_atomic+set}" = set; then : + enableval=$enable_stl_atomic; case "$enableval" in + yes) + ac_enable_stl_atomic="yes" + ;; + + *) + ac_enable_stl_atomic="no" + ;; + esac + +fi + +if test "$ac_enable_stl_atomic" = "auto"; then + ac_enable_stl_atomic="$ac_enable_stl" +fi +if test "$ac_enable_stl_atomic" = "yes"; then + if test $ac_cv_header_atomic = yes ; then + +$as_echo "#define HAVE_STL_ATOMIC 1" >>confdefs.h + + else + ac_enable_stl_atomic="unsupported -> no" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_stl_atomic" >&5 +$as_echo "$ac_enable_stl_atomic" >&6; } + @@ -19247,156 +13809,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iterator category input is declared" >&5 -$as_echo_n "checking whether iterator category input is declared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - - #include - int main(){typedef std::input_iterator_tag category;return 0;} - - -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - dcmtk_have_iter_cat=yes -else - dcmtk_have_iter_cat=no - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test "$dcmtk_have_iter_cat" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAVE_INPUT_ITERATOR_CATEGORY 1" >>confdefs.h - - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iterator category output is declared" >&5 -$as_echo_n "checking whether iterator category output is declared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - - #include - int main(){typedef std::output_iterator_tag category;return 0;} - - -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - dcmtk_have_iter_cat=yes -else - dcmtk_have_iter_cat=no - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test "$dcmtk_have_iter_cat" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAVE_OUTPUT_ITERATOR_CATEGORY 1" >>confdefs.h - - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iterator category forward is declared" >&5 -$as_echo_n "checking whether iterator category forward is declared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - - #include - int main(){typedef std::forward_iterator_tag category;return 0;} - - -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - dcmtk_have_iter_cat=yes -else - dcmtk_have_iter_cat=no - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test "$dcmtk_have_iter_cat" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAVE_FORWARD_ITERATOR_CATEGORY 1" >>confdefs.h - - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iterator category bidirectional is declared" >&5 -$as_echo_n "checking whether iterator category bidirectional is declared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - - #include - int main(){typedef std::bidirectional_iterator_tag category;return 0;} - - -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - dcmtk_have_iter_cat=yes -else - dcmtk_have_iter_cat=no - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test "$dcmtk_have_iter_cat" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAVE_BIDIRECTIONAL_ITERATOR_CATEGORY 1" >>confdefs.h - - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iterator category random_access is declared" >&5 -$as_echo_n "checking whether iterator category random_access is declared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - - #include - int main(){typedef std::random_access_iterator_tag category;return 0;} - - -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - dcmtk_have_iter_cat=yes -else - dcmtk_have_iter_cat=no - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test "$dcmtk_have_iter_cat" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAVE_RANDOM_ACCESS_ITERATOR_CATEGORY 1" >>confdefs.h - - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iterator category contiguous is declared" >&5 $as_echo_n "checking whether iterator category contiguous is declared... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -19955,7 +14367,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by dcmtk $as_me 3.6.8, which was +This file was extended by dcmtk $as_me 3.6.9, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20018,7 +14430,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -dcmtk config.status 3.6.8 +dcmtk config.status 3.6.9 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/config/configure.in b/config/configure.in index 326dc10b..4b11cc5b 100644 --- a/config/configure.in +++ b/config/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(dcmtk, 3.6.8, [bugs@dcmtk.org], [dcmtk-3.6.8], [https://www.dcmtk.org/]) +AC_INIT(dcmtk, 3.6.9, [bugs@dcmtk.org], [dcmtk-3.6.9], [https://www.dcmtk.org/]) AC_PREREQ(2.60) AC_CONFIG_SRCDIR(Makefile.in) AC_CONFIG_HEADERS(include/dcmtk/config/osconfig.h) @@ -11,8 +11,8 @@ dnl Additional Package Information dnl ------------------------------------------------------- PACKAGE_VERSION_NUMBER=368 -PACKAGE_VERSION_SUFFIX="" -PACKAGE_DATE="20231219" +PACKAGE_VERSION_SUFFIX="+" +PACKAGE_DATE="DEV" AC_DEFINE_UNQUOTED(PACKAGE_VERSION_NUMBER,${PACKAGE_VERSION_NUMBER},[Define to the version number of this package.]) AC_DEFINE_UNQUOTED(PACKAGE_VERSION_SUFFIX,"${PACKAGE_VERSION_SUFFIX}",[Define to the version suffix of this package.]) AC_DEFINE_UNQUOTED(PACKAGE_DATE,"${PACKAGE_DATE}",[Define to the release date of this package.]) @@ -76,9 +76,6 @@ AH_VERBATIM([ENVIRONMENT_PATH_SEPARATOR], [/* Define the environment variable pa #define ENVIRONMENT_PATH_SEPARATOR ':' #endif]) -AH_VERBATIM([HAVE_EMPTY_ARGC_ARGV], [/* Define if your system cannot pass command line arguments into main() (e.g. Macintosh). */ -/* #undef HAVE_EMPTY_ARGC_ARGV */]) - AH_TOP([#ifndef OSCONFIG_H #define OSCONFIG_H @@ -194,15 +191,11 @@ dnl ------------------------------------------------------- AC_AIX AC_ISC_POSIX -AC_SYS_LONG_FILE_NAMES dnl ---------------------------------------------------------- dnl Perform some tests with the C compiler, needed for dcmjpeg dnl ---------------------------------------------------------- -AC_MY_C_INLINE -AC_MY_C_CONST -AC_MY_C_CHAR_UNSIGNED AC_MY_C_RIGHTSHIFT_UNSIGNED dnl -------------------------------------------------------- @@ -214,8 +207,6 @@ AC_TYPEDEF(uchar, unsigned char) AC_TYPEDEF(ushort, unsigned short) AC_TYPEDEF(uint, unsigned int) AC_TYPEDEF(ulong, unsigned long) -AC_CHECK_TYPES(longlong) -AC_CHECK_TYPES(ulonglong) AC_CHECK_TYPES(long long) AC_CHECK_TYPES(unsigned long long) CHECK_VLA @@ -224,8 +215,7 @@ dnl File access stuff AC_CHECK_TYPES(fpos64_t) AC_CHECK_TYPES(off64_t) -dnl stdbool.h and stdint.h are only defined in ANSI C, not in C++ -AC_CHECK_HEADERS(stdbool.h) +dnl stdint.h is only defined in ANSI C, not in C++ AC_CHECK_HEADERS(stdint.h) AC_CHECK_HEADERS(cstdint) @@ -241,23 +231,20 @@ dnl Check for libc library functions dnl ------------------------------------------------------- AC_FUNC_MEMCMP -AC_FUNC_VPRINTF AC_TYPE_SIGNAL -AC_FUNC_WAIT3 -AC_CHECK_FUNCS(gethostname gethostid socket sysinfo) -AC_CHECK_FUNCS(strchr strstr strtoul itoa atoll) -AC_CHECK_FUNCS(memcpy memset memmove memcmp bcopy bcmp) -AC_CHECK_FUNCS(getpid mktemp tempnam tmpnam getenv mkstemp) +AC_CHECK_FUNCS(gethostid sysinfo) +AC_CHECK_FUNCS(itoa atoll) +AC_CHECK_FUNCS(bcmp) +AC_CHECK_FUNCS(getpid mktemp mkstemp) AC_CHECK_FUNCS(stat) AC_CHECK_FUNCS(malloc_debug) -AC_CHECK_FUNCS(strerror strdup index rindex access) +AC_CHECK_FUNCS(strdup index rindex access) AC_CHECK_FUNCS(uname cuserid getlogin getlogin_r) AC_CHECK_FUNCS(usleep) AC_CHECK_FUNCS(flock lockf) -AC_CHECK_FUNCS(listen connect setsockopt getsockopt select) -AC_CHECK_FUNCS(gethostbyname gethostbyname_r) +AC_CHECK_FUNCS(listen) +AC_CHECK_FUNCS(gethostbyname_r) AC_CHECK_FUNCS(gethostbyaddr_r getgrnam_r getpwnam_r) -AC_CHECK_FUNCS(bind accept getsockname getaddrinfo) AC_CHECK_FUNCS(getrusage) AC_CHECK_FUNCS(gettimeofday) AC_CHECK_FUNCS(waitpid) @@ -266,7 +253,6 @@ AC_CHECK_FUNCS(sleep fork) AC_CHECK_FUNCS(_findfirst) AC_CHECK_FUNCS(strlcpy strlcat) AC_CHECK_FUNCS(vsnprintf) -AC_CHECK_FUNCS(mbstowcs wcstombs) AC_CHECK_FUNCS(popen pclose) AC_CHECK_FUNCS(readdir_r) AC_FUNC_FSEEKO @@ -318,7 +304,7 @@ dnl ------------------------------------------------------- SAVELIBS="$LIBS" LIBS="$LIBS -lm" -AC_CHECK_FUNCS(finite isinf isnan) +AC_CHECK_FUNCS(finite) LIBS="$SAVELIBS" dnl ------------------------------------------------------- @@ -327,10 +313,6 @@ dnl ------------------------------------------------------- AC_LANG(C++) -AC_CXX_CONST_CAST -AC_CXX_DYNAMIC_CAST -AC_CXX_REINTERPRET_CAST -AC_CXX_STATIC_CAST AC_CXX_STD_NOTHROW AC_CXX_NOTHROW_DELETE AC_CXX_STATIC_ASSERT @@ -433,7 +415,7 @@ dnl Check for libraries dnl ------------------------------------------------------- AC_CHECK_GXXLIB -AC_CHECK_LIB(iostream, main) + dnl Some C++ compilers have problems with recursive main calls dnl (e.g. Sun C++ 4.2). In this case we must test another function dnl to link. @@ -488,61 +470,29 @@ dnl ------------------------------------------------------- dnl Check for header files dnl ------------------------------------------------------- -AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_HEADER_DIRENT AC_CHECK_TCP_H AC_CHECK_HEADERS(alloca.h) +AC_CHECK_HEADERS(atomic) AC_CHECK_HEADERS(arpa/inet.h) -AC_CHECK_HEADERS(assert.h) -AC_CHECK_HEADERS(ctype.h) -AC_CHECK_HEADERS(errno.h) AC_CHECK_HEADERS(fcntl.h) -AC_CHECK_HEADERS(float.h) AC_CHECK_HEADERS(fnmatch.h) -AC_CHECK_HEADERS(fstream) -AC_CHECK_HEADERS(fstream.h) AC_CHECK_HEADERS(grp.h) AC_CHECK_HEADERS(ieeefp.h) AC_CHECK_HEADERS(io.h) -AC_CHECK_HEADERS(iomanip) -AC_CHECK_HEADERS(iomanip.h) AC_CHECK_HEADERS(iostream) -AC_CHECK_HEADERS(iostream.h) -AC_CHECK_HEADERS(iso646.h) AC_CHECK_HEADERS(libc.h) -AC_CHECK_HEADERS(limits.h) -AC_CHECK_HEADERS(climits) -AC_CHECK_HEADERS(locale.h) AC_CHECK_HEADERS(malloc.h) -AC_CHECK_HEADERS(math.h) -AC_CHECK_HEADERS(cmath) AC_CHECK_HEADERS(mqueue.h) AC_CHECK_HEADERS(new) -AC_CHECK_HEADERS(new.h) AC_CHECK_HEADERS(netdb.h) AC_CHECK_HEADERS(pthread.h) AC_CHECK_HEADERS(pwd.h) AC_CHECK_HEADERS(semaphore.h) -AC_CHECK_HEADERS(setjmp.h) -AC_CHECK_HEADERS(signal.h) -AC_CHECK_HEADERS(sstream) -AC_CHECK_HEADERS(sstream.h) -AC_CHECK_HEADERS(stat.h) -AC_CHECK_HEADERS(cstdarg) -AC_CHECK_HEADERS(stdarg.h) -AC_CHECK_HEADERS(stddef.h) AC_CHECK_HEADERS(cstddef) -AC_CHECK_HEADERS(cstdio) -AC_CHECK_HEADERS(stdio.h) AC_CHECK_HEADERS(stdint.h) -AC_CHECK_HEADERS(stdlib.h) -AC_CHECK_HEADERS(streambuf.h) -AC_CHECK_HEADERS(string.h) AC_CHECK_HEADERS(strings.h) -AC_CHECK_HEADERS(strstrea.h) -AC_CHECK_HEADERS(strstream) -AC_CHECK_HEADERS(strstream.h) AC_CHECK_HEADERS(synch.h) AC_CHECK_HEADERS(sys/errno.h) AC_CHECK_HEADERS(sys/file.h) @@ -561,25 +511,12 @@ AC_CHECK_HEADERS(sys/un.h) AC_CHECK_HEADERS(sys/utime.h) AC_CHECK_HEADERS(sys/utsname.h) AC_CHECK_HEADERS(thread.h) -AC_CHECK_HEADERS(time.h) AC_CHECK_HEADERS(unistd.h) AC_CHECK_HEADERS(unix.h) AC_CHECK_HEADERS(utime.h) -AC_CHECK_HEADERS(wchar.h) -AC_CHECK_HEADERS(wctype.h) -AC_CHECK_HEADERS(fenv.h) -AC_CHECK_HEADER(iterator, - [AC_DEFINE([HAVE_ITERATOR_HEADER], 1, [Define to 1 if you have the header file.])] -) AC_CHECK_POLL_H -if test $ac_cv_header_libc_h = yes ; then - if test $ac_cv_header_math_h = yes ; then - AC_CXX_LIBC_H_EXTERN_C - fi -fi - dnl -------------------------------------------------------- dnl Tests for pointer vs. integer types dnl These tests REQUIRE as a prerequisite AC_CXX_STATIC_CAST @@ -797,11 +734,9 @@ dnl ------------------------------------------------------------ dnl Check for typedefs, structures, and compiler characteristics dnl ------------------------------------------------------------ -AC_TYPEDEF(size_t, unsigned) AC_TYPEDEF(ssize_t, long) AC_TYPEDEF(pid_t, int) AC_C_CHAR_UNSIGNED -AC_CHECK_SIZEOF(char) AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) @@ -823,88 +758,39 @@ dnl DCMTK project and are not supported by GNU autoheader. AC_CHECK_PROTOTYPE(feenableexcept, fenv.h) AC_CHECK_PROTOTYPE(_stricmp, string.h) -AC_CHECK_PROTOTYPE(accept, sys/types.h sys/socket.h) -if test $ac_cv_prototype_accept = yes ; then AC_CHECK_INTP_ACCEPT(sys/types.h sys/socket.h) -fi -AC_CHECK_PROTOTYPE(bind, sys/types.h sys/socket.h) -AC_CHECK_PROTOTYPE(connect, sys/types.h sys/socket.h) AC_CHECK_PROTOTYPE(finite, math.h) -AC_CHECK_PROTOTYPE(isinf, math.h) -AC_CHECK_PROTOTYPE(isnan, math.h) -AC_CHECK_PROTOTYPE(std::finite, cmath) AC_CHECK_PROTOTYPE(std::isinf, cmath) AC_CHECK_PROTOTYPE(std::isnan, cmath) AC_CHECK_PROTOTYPE(flock, sys/file.h) -AC_CHECK_PROTOTYPE(gethostbyname, libc.h unistd.h stdlib.h netdb.h) AC_CHECK_PROTOTYPE(gethostbyname_r, libc.h unistd.h stdlib.h netdb.h) AC_CHECK_PROTOTYPE(gethostbyaddr_r, libc.h unistd.h stdlib.h netdb.h) AC_CHECK_PROTOTYPE(gethostid, libc.h unistd.h stdlib.h netdb.h) -AC_CHECK_PROTOTYPE(gethostname, unistd.h libc.h stdlib.h netdb.h) -AC_CHECK_PROTOTYPE(getsockname, sys/types.h sys/socket.h) -AC_CHECK_PROTOTYPE(getsockopt, sys/types.h sys/socket.h) AC_CHECK_PROTOTYPE(strerror_r, string.h) if test $ac_cv_prototype_strerror_r = yes ; then AC_CHECK_CHARP_STRERROR_R(string.h) fi -if test $ac_cv_prototype_getsockopt = yes ; then AC_CHECK_INTP_GETSOCKOPT(sys/types.h sys/socket.h) -fi AC_CHECK_PROTOTYPE(gettimeofday, sys/time.h unistd.h) -AC_CHECK_PROTOTYPE(listen, sys/types.h sys/socket.h) AC_CHECK_PROTOTYPE(mktemp, libc.h unistd.h stdlib.h) AC_CHECK_PROTOTYPE(mkstemp, libc.h unistd.h stdlib.h) -AC_CHECK_PROTOTYPE(select, sys/select.h sys/types.h sys/socket.h sys/time.h) -if test $ac_cv_prototype_select = yes ; then -AC_CHECK_INTP_SELECT(sys/select.h sys/types.h sys/socket.h sys/time.h) -fi -AC_CHECK_PROTOTYPE(setsockopt, sys/types.h sys/socket.h) -AC_CHECK_PROTOTYPE(socket, sys/types.h sys/socket.h) AC_CHECK_PROTOTYPE(strcasecmp, string.h) AC_CHECK_PROTOTYPE(strncasecmp, string.h) AC_CHECK_PROTOTYPE(usleep, libc.h unistd.h stdlib.h) AC_CHECK_PROTOTYPE(vsnprintf, stdio.h stdarg.h) -AC_CHECK_PROTOTYPE(wait3, libc.h sys/wait.h sys/time.h sys/resource.h) AC_CHECK_PROTOTYPE(waitpid, sys/wait.h sys/time.h sys/resource.h) -AC_CHECK_DECLARATION(struct utimbuf, sys/types.h utime.h sys/utime.h) -AC_CHECK_DECLARATION(socklen_t, sys/types.h sys/socket.h) -AC_CHECK_OLD_READDIR_R -AC_CHECK_ELLIPSE_SIGNAL_HANDLER(signal.h) -if test $ac_cv_header_math_h = yes ; then -AC_INCLUDE_MATH_H_AS_CXX -fi - dnl ------------------------------------------------------- dnl Check for the usage of standard C++ headers dnl ------------------------------------------------------- AC_CHECK_STD_NAMESPACE -AC_CHECK_DECLARATION(std::ios_base::openmode, , iostream) -AC_CHECK_IOS_NOCREATE(std::ios, fstream) AC_CHECK_COMPILES(std::vfprintf, cstdarg cstdio, [FILE *stream; va_list ap; std::vfprintf(stream, "", ap);]) AC_CHECK_COMPILES(std::vsnprintf, cstdarg cstdio, [char buf[256]; va_list ap; std::vsnprintf(buf, 0, "", ap);]) -AC_CHECK_STD_NAMESPACE -AC_CHECK_DECLARATION(std::ios_base::openmode, , iostream) -AC_CHECK_IOS_NOCREATE(std::ios, fstream) -AC_CHECK_COMPILES(std::vfprintf, cstdarg cstdio, - [FILE *stream; va_list ap; std::vfprintf(stream, "", ap);]) -AC_CHECK_COMPILES(std::vsnprintf, cstdarg cstdio, - [char buf[256]; va_list ap; std::vsnprintf(buf, 0, "", ap);]) - -AC_CHECK_CLASS_TEMPLATE -AC_CHECK_STATIC_TEMPLATE_METHOD -AC_CHECK_FUNCTION_TEMPLATE -AC_CHECK_EXPLICIT_TEMPLATE_SPECIALIZATION -AC_CHECK_CXX_VOLATILE -AC_CXX_TYPENAME -AC_STDIO_NAMESPACE - - dnl ------------------------------------------------------- dnl Check whether to load a default dictionary dnl ------------------------------------------------------- @@ -1005,7 +891,7 @@ AS_HELP_STRING([--without-openssl], [don't include OpenSSL support])], [ case "$withval" in yes) AC_TRY_COMPILE([#include ], [ -#if OPENSSL_VERSION_NUMBER < 0x10001000L +#if OPENSSL_VERSION_NUMBER < 0x10101000L #error OpenSSL too old #endif ], @@ -1013,7 +899,7 @@ AS_HELP_STRING([--without-openssl], [don't include OpenSSL support])], AC_DEFINE(WITH_OPENSSL) OPENSSL_WORKS="yes" OPENSSLLIBS="-lssl -lcrypto $OPENSSLLIBS" ], - [ AC_MSG_RESULT(no - DCMTK requires OpenSSL version 1.0.1 or newer)] ) + [ AC_MSG_RESULT(no - DCMTK requires OpenSSL version 1.1.1 or newer)] ) ;; *) AC_MSG_RESULT(no) @@ -1024,7 +910,7 @@ AS_HELP_STRING([--without-openssl], [don't include OpenSSL support])], AC_TRY_LINK([#include ], [(void) TLSv1_method()], [ AC_TRY_COMPILE([#include ], [ -#if OPENSSL_VERSION_NUMBER < 0x10001000L +#if OPENSSL_VERSION_NUMBER < 0x10101000L #error OpenSSL too old #endif ], @@ -1032,7 +918,7 @@ AS_HELP_STRING([--without-openssl], [don't include OpenSSL support])], AC_DEFINE(WITH_OPENSSL) OPENSSL_WORKS="yes" OPENSSLLIBS="-lssl -lcrypto $OPENSSLLIBS" ], - [ AC_MSG_RESULT(no - DCMTK requires OpenSSL version 1.0.1 or newer)] )], + [ AC_MSG_RESULT(no - DCMTK requires OpenSSL version 1.1.1 or newer)] )], [AC_MSG_RESULT(no)]) LIBS="$SAVELIBS"] ) @@ -1047,51 +933,19 @@ AC_CHECK_HEADERS(openssl/x509.h) AC_CHECK_HEADERS(openssl/provider.h) dnl test presence of functions, constants and macros needed for the dcmtls module -AC_CHECK_EXT_LIB_PROTOTYPE(DH_bits, OpenSSL, openssl/dh.h) -AC_CHECK_EXT_LIB_COMPILES(EVP_PKEY_RSA_PSS, OpenSSL, openssl/evp.h, [EVP_PKEY_RSA_PSS]) -AC_CHECK_EXT_LIB_PROTOTYPE(EVP_PKEY_base_id, OpenSSL, openssl/evp.h) AC_CHECK_EXT_LIB_COMPILES(NID_dsa_with_SHA512, OpenSSL, openssl/obj_mac.h, [NID_dsa_with_SHA512]) AC_CHECK_EXT_LIB_COMPILES(NID_ecdsa_with_SHA3_256, OpenSSL, openssl/obj_mac.h, [NID_ecdsa_with_SHA3_256]) AC_CHECK_EXT_LIB_COMPILES(NID_sha512_256WithRSAEncryption, OpenSSL, openssl/obj_mac.h, [NID_sha512_256WithRSAEncryption]) AC_CHECK_EXT_LIB_PROTOTYPE(RAND_egd, OpenSSL, openssl/rand.h) -AC_CHECK_EXT_LIB_PROTOTYPE(SSL_CTX_get_cert_store, OpenSSL, openssl/ssl.h) -AC_CHECK_EXT_LIB_PROTOTYPE(SSL_CTX_get_ciphers, OpenSSL, openssl/ssl.h) -AC_CHECK_EXT_LIB_PROTOTYPE(SSL_CTX_get0_param, OpenSSL, openssl/ssl.h) AC_CHECK_EXT_LIB_PROTOTYPE(SSL_CTX_set0_tmp_dh_pkey, OpenSSL, openssl/ssl.h) -AC_CHECK_EXT_LIB_COMPILES(SSL_CTX_set1_curves, OpenSSL, openssl/ssl.h, [SSL_CTX_set1_curves(0,0,0)]) -AC_CHECK_EXT_LIB_PROTOTYPE(SSL_CTX_set1_sigalgs, OpenSSL, openssl/ssl.h) -AC_CHECK_EXT_LIB_COMPILES(SSL_CTX_set_ecdh_auto, OpenSSL, openssl/ssl.h, [SSL_CTX_set_ecdh_auto(0,0)]) -AC_CHECK_EXT_LIB_COMPILES(SSL_CTX_set_max_proto_version, OpenSSL, openssl/ssl.h, [SSL_CTX_set_max_proto_version(0,0)]) -AC_CHECK_EXT_LIB_PROTOTYPE(SSL_CTX_set_security_level, OpenSSL, openssl/ssl.h) -AC_CHECK_EXT_LIB_COMPILES(SSL_ERROR_WANT_ASYNC, OpenSSL, openssl/ssl.h, [SSL_ERROR_WANT_ASYNC]) -AC_CHECK_EXT_LIB_COMPILES(SSL_ERROR_WANT_ASYNC_JOB, OpenSSL, openssl/ssl.h, [SSL_ERROR_WANT_ASYNC_JOB]) -AC_CHECK_EXT_LIB_COMPILES(SSL_ERROR_WANT_CLIENT_HELLO_CB, OpenSSL, openssl/ssl.h, [SSL_ERROR_WANT_CLIENT_HELLO_CB]) -AC_CHECK_EXT_LIB_COMPILES(TLS1_3_RFC_AES_128_CCM_8_SHA256, OpenSSL, openssl/ssl.h, [TLS1_3_RFC_AES_128_CCM_8_SHA256]) -AC_CHECK_EXT_LIB_COMPILES(TLS1_3_RFC_AES_256_GCM_SHA384, OpenSSL, openssl/ssl.h, [TLS1_3_RFC_AES_256_GCM_SHA384]) -AC_CHECK_EXT_LIB_COMPILES(TLS1_3_RFC_CHACHA20_POLY1305_SHA256, OpenSSL, openssl/ssl.h, [TLS1_3_RFC_CHACHA20_POLY1305_SHA256]) +AC_CHECK_EXT_LIB_COMPILES(SSL_CTX_set1_sigalgs, OpenSSL, openssl/ssl.h, [SSL_CTX_set1_sigalgs(0,0,0)]) AC_CHECK_EXT_LIB_COMPILES(TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8, OpenSSL, openssl/ssl.h, [TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8]) AC_CHECK_EXT_LIB_COMPILES(TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, OpenSSL, openssl/ssl.h, [TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384]) -AC_CHECK_EXT_LIB_COMPILES(TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305, OpenSSL, openssl/ssl.h, [TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305]) -AC_CHECK_EXT_LIB_PROTOTYPE(TLS_method, OpenSSL, openssl/ssl.h) -AC_CHECK_EXT_LIB_COMPILES(X509_STORE_CTX_get0_cert, OpenSSL, openssl/x509_vfy.h, [X509_STORE_CTX_get0_cert]) -AC_CHECK_EXT_LIB_PROTOTYPE(X509_STORE_get0_param, OpenSSL, openssl/x509.h) -AC_CHECK_EXT_LIB_PROTOTYPE(X509_get_signature_nid, OpenSSL, openssl/x509.h) +AC_CHECK_EXT_LIB_COMPILES(TS_VERIFY_CTX_SET0_STORE, OpenSSL, openssl/ts.h, [TS_VERIFY_CTX_set0_store(0,0)]) dnl test presence of functions, constants and macros needed for the dcmsign module -AC_CHECK_EXT_LIB_PROTOTYPE(ASN1_STRING_get0_data, OpenSSL, openssl/asn1.h) -AC_CHECK_EXT_LIB_PROTOTYPE(EVP_PKEY_get0_EC_KEY, OpenSSL, openssl/evp.h) AC_CHECK_EXT_LIB_PROTOTYPE(EVP_PKEY_get_group_name, OpenSSL, openssl/evp.h) -AC_CHECK_EXT_LIB_PROTOTYPE(EVP_PKEY_id, OpenSSL, openssl/evp.h) AC_CHECK_EXT_LIB_PROTOTYPE(OSSL_PROVIDER_load, OpenSSL, openssl/provider.h) -AC_CHECK_EXT_LIB_PROTOTYPE(TS_STATUS_INFO_get0_failure_info, OpenSSL, openssl/ts.h) -AC_CHECK_EXT_LIB_PROTOTYPE(TS_STATUS_INFO_get0_status, OpenSSL, openssl/ts.h) -AC_CHECK_EXT_LIB_PROTOTYPE(TS_STATUS_INFO_get0_text, OpenSSL, openssl/ts.h) -AC_CHECK_EXT_LIB_COMPILES(TS_VERIFY_CTS_set_certs, OpenSSL, openssl/ts.h, [TS_VERIFY_CTS_set_certs(0,0)]) -AC_CHECK_EXT_LIB_PROTOTYPE(TS_VERIFY_CTX_set_data, OpenSSL, openssl/ts.h) -AC_CHECK_EXT_LIB_PROTOTYPE(TS_VERIFY_CTX_set_flags, OpenSSL, openssl/ts.h) -AC_CHECK_EXT_LIB_PROTOTYPE(TS_VERIFY_CTX_set_store, OpenSSL, openssl/ts.h) -AC_CHECK_EXT_LIB_PROTOTYPE(X509_get0_notAfter, OpenSSL, openssl/x509.h) -AC_CHECK_EXT_LIB_PROTOTYPE(X509_get0_notBefore, OpenSSL, openssl/x509.h) dnl check if type EVP_MD_CTX is defined as typedef for "struct evp_md_ctx_st" (new) or "struct env_md_ctx_st" (old) AC_MSG_CHECKING(whether OpenSSL defines the new typedef of EVP_MD_CTX as struct evp_md_ctx_st) @@ -1101,16 +955,6 @@ AH_TEMPLATE(HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX, [Define if OpenSSL provides [ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX) ], [AC_MSG_RESULT(no)]) - -dnl check if the first parameter passed to X509_ALGOR_get0() should be "const ASN1_OBJECT **" (new) or "ASN1_OBJECT **" (old) -AC_MSG_CHECKING(whether OpenSSL defines the first parameter of function X509_ALGOR_get0() const) -AH_TEMPLATE(HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM, [Define if OpenSSL provides the X509_ALGOR_get0() function that expects a const pointer as first parameter.]) -AC_TRY_COMPILE([#include ], - [const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0)], - [ AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM) ], - [AC_MSG_RESULT(no)]) - fi @@ -1310,10 +1154,8 @@ AS_HELP_STRING([--without-libwrap], [don't include libwrap support])], [#ifdef __cplusplus extern "C" { #endif - #ifdef HAVE_STDIO_H /* on some platforms, tcpd.h needs stdio.h */ #include - #endif #ifdef HAVE_SYS_TYPES_H /* on some platforms, tcpd.h needs sys/types.h */ #include @@ -1449,50 +1291,11 @@ AC_TRY_LINK([#include ], [iconv_t cd=iconv_open("","");iconv(cd,0,0,0,0 AC_MSG_RESULT($WITH_STDLIBC_ICONV) LIBS="$SAVELIBS" -dnl ------------------------------------------------------- -dnl Check for libicu support -dnl ------------------------------------------------------- - -AC_MY_LIB_PATH([libicu]) -AH_TEMPLATE(WITH_LIBICU, [Define if we are compiling with ICU support.]) -WITH_LIBICU=no -AC_ARG_WITH(libicu, -[AS_HELP_STRING([--with-libicu], [include libicu support (default: auto)]) -AS_HELP_STRING([--without-libicu], [don't include libicu support])], -[ AC_MSG_CHECKING(whether to include ICU support) - case "$withval" in - yes) - WITH_LIBICU=yes - AC_DEFINE(WITH_LIBICU) - ICULIBS="-licui18n -licuuc -licudata" - ;; - *) - ;; - esac ], -[ - if test -z "$ICU_CONFIG"; then - AC_PATH_PROG(ICU_CONFIG, icu-config, no) - AC_MSG_CHECKING(whether to include ICU support) - fi - if [[ ! "$ICU_CONFIG" = "no" ]]; then - ICU_VERSION=`$ICU_CONFIG --version` - VERSION_CHECK=`expr $ICU_VERSION \>\= 3.4.1` - if test VERSION_CHECK=1; then - WITH_LIBICU=yes - AC_DEFINE(WITH_LIBICU) - ICUINCLUDES=`$ICU_CONFIG --cppflags` - ICULIBS=`$ICU_CONFIG --ldflags` - fi - fi -]) -AC_MSG_RESULT($WITH_LIBICU) - dnl ------------------------------------------------------- dnl Check for character set conversion support dnl ------------------------------------------------------- AH_VERBATIM([DCMTK_CHARSET_CONVERSION_CONSTANTS], [/* character set conversion constants. */ -#define DCMTK_CHARSET_CONVERSION_ICU 1 #define DCMTK_CHARSET_CONVERSION_ICONV 2 #define DCMTK_CHARSET_CONVERSION_STDLIBC_ICONV 3 #define DCMTK_CHARSET_CONVERSION_OFICONV 4 @@ -1517,14 +1320,6 @@ AC_DEFUN([AC_CHOOSE_CHARSET_LIBICONV], DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_ICONV" ]) -AC_DEFUN([AC_CHOOSE_CHARSET_LIBICU], -[ - AC_MSG_RESULT([yes, type=libicu]) - CHARCONVINCLUDES="$ICUINCLUDES" - CHARCONVLIBS="$ICULIBS" - DCMTK_ENABLE_CHARSET_CONVERSION="DCMTK_CHARSET_CONVERSION_ICU" -]) - AC_DEFUN([AC_CHOOSE_CHARSET_STDLIBC_ICONV], [ AC_MSG_RESULT([yes, type=stdlibc]) @@ -1537,8 +1332,6 @@ dnl disabled automatic detection, now always choose "oficonv" as a default dnl dnl if test "$WITH_LIBICONV" = "yes"; then dnl AC_CHOOSE_CHARSET_LIBICONV() -dnl elif test "$WITH_LIBICU" = "yes"; then -dnl AC_CHOOSE_CHARSET_LIBICU() dnl elif test "$WITH_STDLIBC_ICONV" = "yes"; then dnl AC_CHOOSE_CHARSET_STDLIBC_ICONV() dnl else @@ -1580,7 +1373,7 @@ fi AC_MSG_CHECKING(whether to enable character set conversion support) AC_ARG_ENABLE(charconv, [ --enable-charconv=TYPE enable character set conversion support - (libiconv/libicu/stdlibc/oficonv=default) + (libiconv/stdlibc/oficonv=default) --disable-charconv disable character set conversion support], [ case "$enableval" in yes) @@ -1592,9 +1385,6 @@ AC_ARG_ENABLE(charconv, libiconv) AC_CHOOSE_CHARSET_LIBICONV() ;; - libicu) - AC_CHOOSE_CHARSET_LIBICU() - ;; stdlibc) AC_CHOOSE_CHARSET_STDLIBC_ICONV() ;; @@ -1637,22 +1427,17 @@ AC_ARG_ENABLE(builtin-oficonv, dnl ------------------------------------------------------- -dnl Include config test code from config/tests +dnl Enable/Disable C++11 support dnl ------------------------------------------------------- -ac_enable_cxx11="no" +ac_enable_cxx11="yes" AC_MSG_CHECKING(whether to enable C++11 support) AC_ARG_ENABLE(cxx11, -[ --enable-cxx11 use C++11 - --disable-cxx11 do not use C++11 (default)], +[ --enable-cxx11 use C++11 (default) + --disable-cxx11 do not use C++11], [ case "$enableval" in yes) - AC_MSG_RESULT() - AX_CXX_COMPILE_STDCXX([11], [noext], [optional]) - if test "$HAVE_CXX11 == 1"; then - ac_enable_cxx11="yes" - fi - AC_MSG_CHECKING(whether to enable C++11 support) + ac_enable_cxx11="yes" ;; *) @@ -1660,11 +1445,21 @@ AC_ARG_ENABLE(cxx11, ;; esac ] ) + +if test "$ac_enable_cxx11" = "yes"; then + AC_MSG_RESULT() + AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory]) + if test "$HAVE_CXX11" != 1; then + ac_enable_cxx11="no" + fi + AC_MSG_CHECKING(whether to enable C++11 support) +fi + AC_MSG_RESULT($ac_enable_cxx11) dnl ------------------------------------------------------- -dnl Enable/disable STL support +dnl Enable/Disable STL support dnl ------------------------------------------------------- ac_enable_stl="no" @@ -1730,29 +1525,6 @@ if test "$ac_enable_stl_algorithm" = "yes"; then fi AC_MSG_RESULT($ac_enable_stl_algorithm) -ac_enable_stl_limits="auto" -AC_MSG_CHECKING(whether to enable STL limits support) -AC_ARG_ENABLE(stl-limits, -[ --enable-stl-limits use C++ STL limits - --disable-stl-limits do not use C++ STL limits], -[ case "$enableval" in - yes) - ac_enable_stl_limits="yes" - ;; - - *) - ac_enable_stl_limits="no" - ;; - esac ] -) -if test "$ac_enable_stl_limits" = "auto"; then - ac_enable_stl_limits="$ac_enable_stl" -fi -if test "$ac_enable_stl_limits" = "yes"; then - AC_RUN_IFELSE([AC_LANG_SOURCE([[#include "tests/limits.cc"]])], [AC_DEFINE(HAVE_STL_LIMITS, 1, [Define if STL's limits should be used.])], [ac_enable_stl_limits="unsupported -> no"]) -fi -AC_MSG_RESULT($ac_enable_stl_limits) - ac_enable_stl_list="auto" AC_MSG_CHECKING(whether to enable STL list support) AC_ARG_ENABLE(stl-list, @@ -1941,6 +1713,35 @@ if test "$ac_enable_stl_system_error" = "yes"; then fi AC_MSG_RESULT($ac_enable_stl_system_error) +ac_enable_stl_atomic="auto" +AC_MSG_CHECKING(whether to enable STL atomic support) +AC_ARG_ENABLE(stl-atomic, +[ --enable-stl-atomic + use C++ STL atomic + --disable-stl-atomic + do not use C++ STL atomic], +[ case "$enableval" in + yes) + ac_enable_stl_atomic="yes" + ;; + + *) + ac_enable_stl_atomic="no" + ;; + esac ] +) +if test "$ac_enable_stl_atomic" = "auto"; then + ac_enable_stl_atomic="$ac_enable_stl" +fi +if test "$ac_enable_stl_atomic" = "yes"; then + if test $ac_cv_header_atomic = yes ; then + AC_DEFINE(HAVE_STL_ATOMIC, 1, [Define if STL's atomic should be used.]) + else + ac_enable_stl_atomic="unsupported -> no" + fi +fi +AC_MSG_RESULT($ac_enable_stl_atomic) + dnl ------------------------------------------------------- dnl Test for some additional functions and keywords @@ -1996,11 +1797,6 @@ dnl ------------------------------------------------------- dnl Test for defined iterator categories dnl ------------------------------------------------------- -AC_CHECK_ITERATOR_CATEGORY([input],[HAVE_INPUT_ITERATOR_CATEGORY]) -AC_CHECK_ITERATOR_CATEGORY([output],[HAVE_OUTPUT_ITERATOR_CATEGORY]) -AC_CHECK_ITERATOR_CATEGORY([forward],[HAVE_FORWARD_ITERATOR_CATEGORY]) -AC_CHECK_ITERATOR_CATEGORY([bidirectional],[HAVE_BIDIRECTIONAL_ITERATOR_CATEGORY]) -AC_CHECK_ITERATOR_CATEGORY([random_access],[HAVE_RANDOM_ACCESS_ITERATOR_CATEGORY]) AC_CHECK_ITERATOR_CATEGORY([contiguous],[HAVE_CONTIGUOUS_ITERATOR_CATEGORY]) diff --git a/config/confmod b/config/confmod index 20573129..531d4be7 100755 --- a/config/confmod +++ b/config/confmod @@ -1,10 +1,9 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71. +# Generated by GNU Autoconf 2.69. # # -# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, -# Inc. +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -15,16 +14,14 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -as_nop=: -if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 -then : +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else $as_nop +else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -34,46 +31,46 @@ esac fi - -# Reset variables that may have inherited troublesome values from -# the environment. - -# IFS needs to be set, to space, tab, and newline, in precisely that order. -# (If _AS_PATH_WALK were called with IFS unset, it would have the -# side effect of setting IFS to empty, thus disabling word splitting.) -# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -IFS=" "" $as_nl" - -PS1='$ ' -PS2='> ' -PS4='+ ' - -# Ensure predictable behavior from utilities with locale-dependent output. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# We cannot yet rely on "unset" to work, but we need these variables -# to be unset--not just set to an empty or harmless value--now, to -# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct -# also avoids known problems related to "unset" and subshell syntax -# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). -for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH -do eval test \${$as_var+y} \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done - -# Ensure that fds 0, 1, and 2 are open. -if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi -if (exec 3>&2) ; then :; else exec 2>/dev/null; fi +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi # The user is always right. -if ${PATH_SEPARATOR+false} :; then +if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -82,6 +79,13 @@ if ${PATH_SEPARATOR+false} :; then fi +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -90,12 +94,8 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - test -r "$as_dir$0" && as_myself=$as_dir$0 && break + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS @@ -107,10 +107,30 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. @@ -132,22 +152,20 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="as_nop=: -if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 -then : + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else \$as_nop +else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( @@ -167,52 +185,41 @@ as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ) -then : +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : -else \$as_nop +else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 -blah=\$(echo \$(echo blah)) -test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" - if (eval "$as_required") 2>/dev/null -then : + if (eval "$as_required") 2>/dev/null; then : as_have_required=yes -else $as_nop +else as_have_required=no fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null -then : + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : -else $as_nop +else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac + test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. - as_shell=$as_dir$as_base + as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null -then : + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes - if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null -then : + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi @@ -220,21 +227,14 @@ fi esac as_found=false done -IFS=$as_save_IFS -if $as_found -then : - -else $as_nop - if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null -then : +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes -fi -fi +fi; } +IFS=$as_save_IFS - if test "x$CONFIG_SHELL" != x -then : + if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also @@ -252,19 +252,18 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi - if test x$as_have_required = xno -then : - printf "%s\n" "$0: This script requires a shell more modern than all" - printf "%s\n" "$0: the shells that I found on your system." - if test ${ZSH_VERSION+y} ; then - printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" - printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." else - printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." @@ -291,7 +290,6 @@ as_fn_unset () } as_unset=as_fn_unset - # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -309,14 +307,6 @@ as_fn_exit () as_fn_set_status $1 exit $1 } # as_fn_exit -# as_fn_nop -# --------- -# Do nothing but, unlike ":", preserve the value of $?. -as_fn_nop () -{ - return $? -} -as_nop=as_fn_nop # as_fn_mkdir_p # ------------- @@ -331,7 +321,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -340,7 +330,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$as_dir" | +$as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -379,13 +369,12 @@ as_fn_executable_p () # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null -then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' -else $as_nop +else as_fn_append () { eval $1=\$$1\$2 @@ -397,27 +386,18 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null -then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else $as_nop +else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith -# as_fn_nop -# --------- -# Do nothing but, unlike ":", preserve the value of $?. -as_fn_nop () -{ - return $? -} -as_nop=as_fn_nop # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- @@ -429,9 +409,9 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - printf "%s\n" "$as_me: error: $2" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -458,7 +438,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X/"$0" | +$as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -502,7 +482,7 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall @@ -516,10 +496,6 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits exit } - -# Determine whether it's possible to make 'echo' print without a newline. -# These variables are no longer used directly by Autoconf, but are AC_SUBSTed -# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -533,13 +509,6 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac -# For backward compatibility with old third-party macros, we provide -# the shell variables $as_echo and $as_echo_n. New code should use -# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. -as_echo='printf %s\n' -as_echo_n='printf %s' - - rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -605,12 +574,12 @@ MFLAGS= MAKEFLAGS= # Identity of this package. -PACKAGE_NAME='' -PACKAGE_TARNAME='' -PACKAGE_VERSION='' -PACKAGE_STRING='' -PACKAGE_BUGREPORT='' -PACKAGE_URL='' +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= +PACKAGE_URL= ac_unique_file="Makefile.in" enable_option_checking=no @@ -639,7 +608,6 @@ infodir docdir oldincludedir includedir -runstatedir localstatedir sharedstatedir sysconfdir @@ -700,14 +668,13 @@ bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' -datadir='${datarootdir}/dcmtk-3.6.8' -sysconfdir='${prefix}/etc/dcmtk-3.6.8' +datadir='${datarootdir}/dcmtk-3.6.9' +sysconfdir='${prefix}/etc/dcmtk-3.6.9' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' -docdir='${datarootdir}/doc/dcmtk-3.6.8' +docdir='${datarootdir}/doc/dcmtk-3.6.9' infodir='${datarootdir}/info' htmldir='${docdir}/html' dvidir='${docdir}' @@ -734,6 +701,8 @@ do *) ac_optarg=yes ;; esac + # Accept the important Cygnus configure options, so we can diagnose typos. + case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; @@ -774,9 +743,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: \`$ac_useropt'" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt - ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -800,9 +769,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: \`$ac_useropt'" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt - ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -955,15 +924,6 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1013,9 +973,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: \`$ac_useropt'" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt - ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1029,9 +989,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: \`$ac_useropt'" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt - ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1075,9 +1035,9 @@ Try \`$0 --help' for more information" *) # FIXME: should be removed in autoconf 3.0. - printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; @@ -1093,7 +1053,7 @@ if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1101,7 +1061,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir + libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1157,7 +1117,7 @@ $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$as_myself" | +$as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1251,19 +1211,18 @@ Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc/dcmtk-3.6.8] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc/dcmtk-3.6.9] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only arch.-independent data [DATAROOTDIR/dcmtk-3.6.8] + --datadir=DIR read-only arch.-independent data [DATAROOTDIR/dcmtk-3.6.9] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/dcmtk-3.6.8] + --docdir=DIR documentation root [DATAROOTDIR/doc/dcmtk-3.6.9] --htmldir=DIR html documentation [DOCDIR/html] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1294,9 +1253,9 @@ if test "$ac_init_help" = "recursive"; then case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -1324,8 +1283,7 @@ esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } - # Check for configure.gnu first; this name is used for a wrapper for - # Metaconfig's "Configure" on case-insensitive file systems. + # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive @@ -1333,7 +1291,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix echo && $SHELL "$ac_srcdir/configure" --help=recursive else - printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -1343,9 +1301,9 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.71 +generated by GNU Autoconf 2.69 -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1355,34 +1313,14 @@ fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## -ac_configure_args_raw= -for ac_arg -do - case $ac_arg in - *\'*) - ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append ac_configure_args_raw " '$ac_arg'" -done - -case $ac_configure_args_raw in - *$as_nl*) - ac_safe_unquote= ;; - *) - ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. - ac_unsafe_a="$ac_unsafe_z#~" - ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" - ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; -esac - cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.71. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was - $ $0$ac_configure_args_raw + $ $0 $@ _ACEOF exec 5>>config.log @@ -1415,12 +1353,8 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - printf "%s\n" "PATH: $as_dir" + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" done IFS=$as_save_IFS @@ -1455,7 +1389,7 @@ do | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; @@ -1490,13 +1424,11 @@ done # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? - # Sanitize IFS. - IFS=" "" $as_nl" # Save into config.log some information that might help in debugging. { echo - printf "%s\n" "## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo @@ -1507,8 +1439,8 @@ trap 'exit_status=$? case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -1532,7 +1464,7 @@ printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ) echo - printf "%s\n" "## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo @@ -1540,14 +1472,14 @@ printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - printf "%s\n" "$ac_var='\''$ac_val'\''" + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then - printf "%s\n" "## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo @@ -1555,15 +1487,15 @@ printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - printf "%s\n" "$ac_var='\''$ac_val'\''" + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then - printf "%s\n" "## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo @@ -1571,8 +1503,8 @@ printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} echo fi test "$ac_signal" != 0 && - printf "%s\n" "$as_me: caught signal $ac_signal" - printf "%s\n" "$as_me: exit $exit_status" + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && @@ -1586,48 +1518,63 @@ ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h -printf "%s\n" "/* confdefs.h */" > confdefs.h +$as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. -printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF -printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF -printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF -printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF -printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF -printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_files="$CONFIG_SITE" + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then - ac_site_files="$prefix/share/config.site $prefix/etc/config.site" + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site else - ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site fi - -for ac_site_file in $ac_site_files +for ac_site_file in "$ac_site_file1" "$ac_site_file2" do - case $ac_site_file in #( - */*) : - ;; #( - *) : - ac_site_file=./$ac_site_file ;; -esac - if test -f "$ac_site_file" && test -r "$ac_site_file"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ - || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi @@ -1637,16 +1584,16 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -1660,12 +1607,12 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) @@ -1674,24 +1621,24 @@ printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in - *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in @@ -1701,12 +1648,11 @@ printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} fi done if $ac_cache_corrupted; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' - and start over" "$LINENO" 5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -1740,17 +1686,44 @@ if test "$configdir" = "configdir" ; then exit 1 fi +ac_aux_dir= +for ac_dir in $configdir "$srcdir"/$configdir; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in $configdir \"$srcdir\"/$configdir" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} -ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval test \${ac_cv_prog_make_${ac_make}_set+y} -then : - printf %s "(cached) " >&6 -else $as_nop +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @@ -1766,12 +1739,12 @@ esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } SET_MAKE= else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -1812,8 +1785,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -1843,15 +1816,15 @@ printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} /^ac_cv_env_/b end t clear :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else @@ -1865,8 +1838,8 @@ printf "%s\n" "$as_me: updating cache $cache_file" >&6;} fi fi else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -1919,7 +1892,7 @@ U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" @@ -1935,8 +1908,8 @@ LTLIBOBJS=$ac_ltlibobjs ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL @@ -1959,16 +1932,14 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -as_nop=: -if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 -then : +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else $as_nop +else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -1978,46 +1949,46 @@ esac fi - -# Reset variables that may have inherited troublesome values from -# the environment. - -# IFS needs to be set, to space, tab, and newline, in precisely that order. -# (If _AS_PATH_WALK were called with IFS unset, it would have the -# side effect of setting IFS to empty, thus disabling word splitting.) -# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -IFS=" "" $as_nl" - -PS1='$ ' -PS2='> ' -PS4='+ ' - -# Ensure predictable behavior from utilities with locale-dependent output. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# We cannot yet rely on "unset" to work, but we need these variables -# to be unset--not just set to an empty or harmless value--now, to -# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct -# also avoids known problems related to "unset" and subshell syntax -# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). -for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH -do eval test \${$as_var+y} \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done - -# Ensure that fds 0, 1, and 2 are open. -if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi -if (exec 3>&2) ; then :; else exec 2>/dev/null; fi +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi # The user is always right. -if ${PATH_SEPARATOR+false} :; then +if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -2026,6 +1997,13 @@ if ${PATH_SEPARATOR+false} :; then fi +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -2034,12 +2012,8 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - test -r "$as_dir$0" && as_myself=$as_dir$0 && break + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS @@ -2051,10 +2025,30 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] @@ -2067,14 +2061,13 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - printf "%s\n" "$as_me: error: $2" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error - # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -2101,20 +2094,18 @@ as_fn_unset () { eval $1=; unset $1;} } as_unset=as_fn_unset - # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null -then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' -else $as_nop +else as_fn_append () { eval $1=\$$1\$2 @@ -2126,13 +2117,12 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null -then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else $as_nop +else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` @@ -2163,7 +2153,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X/"$0" | +$as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -2185,10 +2175,6 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits - -# Determine whether it's possible to make 'echo' print without a newline. -# These variables are no longer used directly by Autoconf, but are AC_SUBSTed -# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -2202,12 +2188,6 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac -# For backward compatibility with old third-party macros, we provide -# the shell variables $as_echo and $as_echo_n. New code should use -# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. -as_echo='printf %s\n' -as_echo_n='printf %s' - rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -2249,7 +2229,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -2258,7 +2238,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$as_dir" | +$as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -2321,7 +2301,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.71. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -2370,16 +2350,14 @@ $config_files Report bugs to the package provider." _ACEOF -ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` -ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config='$ac_cs_config_escaped' +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.71, +configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -2416,21 +2394,21 @@ do -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - printf "%s\n" "$ac_cs_version"; exit ;; + $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) - printf "%s\n" "$ac_cs_config"; exit ;; + $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) - printf "%s\n" "$ac_cs_usage"; exit ;; + $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; @@ -2458,7 +2436,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift - \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" @@ -2472,7 +2450,7 @@ exec 5>>config.log sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX - printf "%s\n" "$ac_log" + $as_echo "$ac_log" } >&5 _ACEOF @@ -2497,7 +2475,7 @@ done # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then - test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files fi # Have a temporary directory for convenience. Make it in the build tree @@ -2725,7 +2703,7 @@ do esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac - case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done @@ -2733,17 +2711,17 @@ do # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` - printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -printf "%s\n" "$as_me: creating $ac_file" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) - ac_sed_conf_input=`printf "%s\n" "$configure_input" | + ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac @@ -2760,7 +2738,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$ac_file" | +$as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -2784,9 +2762,9 @@ printf "%s\n" X"$ac_file" | case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -2839,8 +2817,8 @@ ac_sed_dataroot=' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' @@ -2882,9 +2860,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 -printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" @@ -2931,8 +2909,7 @@ if test "$no_create" != yes; then $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi - diff --git a/config/docs/CMakeLists.txt b/config/docs/CMakeLists.txt index 3bbba8f6..c1b2ecd6 100644 --- a/config/docs/CMakeLists.txt +++ b/config/docs/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES config.txt dirstruc.txt envvars.txt macros.txt modules.txt DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}" COMPONENT doc) +install(FILES config.txt dirstruc.txt envvars.txt macros.txt modules.txt DESTINATION "${CMAKE_INSTALL_DOCDIR}" COMPONENT doc) diff --git a/config/docs/config.dox b/config/docs/config.dox index 56102313..c5943cb6 100644 --- a/config/docs/config.dox +++ b/config/docs/config.dox @@ -3,7 +3,7 @@ \page mod_config config: configuration utilities for dcmtk This module contains configuration files for the OFFIS "dcmtk" (DICOM Toolkit). -The configuration mechanism uses GNU autoconf / configure facilities. +The configuration mechanism uses GNU Autoconf / configure facilities. \section Files @@ -14,8 +14,9 @@ The following files provide further documentation: \li \ref file_macros \li \ref file_modules -\section sec_cxx11_support C++11 Support -DCMTK supports some C++11 features. See \ref cxx11_support for details. +\section sec_modern_cxx_support Modern C++ Support +DCMTK supports features only available when compiling using C++11 or later. +See \ref modern_cxx_support for details. */ /*! diff --git a/config/docs/config.txt b/config/docs/config.txt index ca0fed59..60b48d1d 100644 --- a/config/docs/config.txt +++ b/config/docs/config.txt @@ -2,7 +2,7 @@ The config directory ==================== The "config" directory contains configuration files for the OFFIS DCMTK -(DICOM ToolKit) to be used with GNU autoconf / configure. See INSTALL file +(DICOM ToolKit) to be used with GNU Autoconf / configure. See INSTALL file in the root directory for details. @@ -18,7 +18,7 @@ include directory: The "config/include" directory contains OS-specific configuration files. The file "osconfig.h.in" is created by "configure.in" using "autoheader" from the -GNU autoconf system. +GNU Autoconf system. All your source files (*.h, *.c, *.cc) must contain the following #include- statement at the beginning (before everything else is defined): @@ -26,7 +26,7 @@ statement at the beginning (before everything else is defined): #include "dcmtk/config/osconfig.h" The file "osconfig.h" is created during the configuration step using GNU -autoconf. +Autoconf. Programs in config/: @@ -80,8 +80,8 @@ Makefiles of the various modules. These configurations can be found in "confmod.in" (see "modules.txt"). You can change configurations for different operating systems or compilers in -these files. Please consider the autoconf manual. This part describes changes -to the normal autoconf tests: +these files. Please consider the Autoconf manual. This part describes changes +to the normal Autoconf tests: Additional tests are defined in "aclocal.m4": diff --git a/config/docs/cxx11.dox b/config/docs/cxx11.dox index c6df7cee..c5ddcd62 100644 --- a/config/docs/cxx11.dox +++ b/config/docs/cxx11.dox @@ -1,42 +1,72 @@ /*! -\page cxx11_support C++11 support in DCMTK +\page modern_cxx_support Modern C++ Support in DCMTK -You may compile DCMTK with C++11 support enabled. This may increase performance +Per default, DCMTK is compiled with C++11 support enabled (via +CMAKE_CXX_STANDARD set to 11). This usually increases performance since some operations can be performed in a more efficient manner, e.g. -utilizing -move semantics. -To create a C++11 build of DCMTK, you simply need to set the appropriate -compiler-flags while building it (e.g. -std=c++11). This will however not -enable DCMTK to use available C++11 features that aren't implicitly used by -legacy code. This is especially important regarding some C++11 classes DCMTK -directly supports, for example: +utilizing move +semantics. -\li OFunique_ptr (std::unique_ptr) -\li OFshared_ptr (std::shared_ptr) -\li OFnumeric_limits (std::numeric_limits) -\li OFtuple (std::tuple) -\li OFerror_code (std::error_code) +Later C++ standards can be enabled using the CMAKE_CXX_STANDARD +setting. DCMTK's INSTALL file describes the available C++ standard versions that +are known to work for the given DCMTK version. -Since not every compiler supports C++11, legacy implementations for the -respective functionality have been created, which are enabled by default. +DCMTK can still be compiled using a C++98 compiler. However, C++98 support will +be be dropped in the future. -If you use C++11 in your project, you may want to use the native C++11 classes -and features instead, so you don't need to convert your objects to use them -with DCMTK. To do so, you need to configure DCMTK to use the C++11 STL, which -is described below. +

C++11 STL Classes

-

Enabling DCMTK to use C++11

+While some features like move semantics are automatically enabled in legacy code +when compiling with C++11 enabled, modern C++ STL classes like std::unique_ptr +must be used explicitly. -By enabling DCMTK to use C++11, you gain the following advantages: +Since DCMTK does not require a C++11-aware compiler (yet), the toolkit comes +with some wrapper classes for some of these STL features. Each wrapper class +either directly maps to the respective C++11 feature (if made available, see +below) or otherwise implements a C++98 fallback solution. For example, the +following C++11 STL classes are implemented that way: -\li DCMTK will use available C++11 features instead of its only legacy +\li std::unique_ptr (OFunique_ptr in DCMTK) +\li std::shared_ptr (OFshared_ptr in DCMTK) +\li std::numeric_limits (OFnumeric_limits in DCMTK) +\li std::tuple (OFtuple in DCMTK) +\li std::error_code (OFerror_code in DCMTK) + +If you want to ensure that DCMTK uses the STL versions of these classes, there +is an additional flag (besides enabling the related C++ version) to be set +during CMake configuration: + +Enabling the flag DCMTK_ENABLE_STL will ensure that whenever possible +(i.e. supported correctly by the compiler) the STL version of a class is +preferred over the fallback implementation. + +There are several other flags in order to fine-tune this behavior: + +\li DCMTK_ENABLE_STL_MEMORY: Can be used to enable std::unique_ptr and related +classes. +\li DCMTK_ENABLE_STL_MAP: Can be used to enable stl::map. +\li DCMTK_ENABLE_STL_...: There are further flags for specific STL features. +They can be easily identified by their prefix. + +Per default, those flags are set to "INFERRED", meaning that they take over the +setting of DCMTK_ENABLE_STL. However, if you just want to enable or +disable certain features (i.e. deviate from DCMTK_ENABLE_STL), you +can set each of them explicitly to "ON" or "OFF". + +

Using DCMTK with C++11

+ +By compiling with C++11 or later and enabling the STL, you gain the following +advantages: + +\li DCMTK can use available C++11 features instead of its only legacy implementations. These are probably more efficient and complete. \li The enabling of C++11 becomes part of DCMTK's configuration, which allows DCMTK to assist you when checking for API/ABI (in-)compatibility between C++11 and non C++11 builds. -Trying to include a DCMTK build with C++11 enabled from a non C++11 +Trying to include a DCMTK build with C++11-enabled from a non C++11 environment will give you the following error message: @verbatim @@ -45,7 +75,7 @@ not configured to provide them. @endverbatim To reduce DCMTK's implementation complexity, C++11 shall only be used if your -compiler conforms closely to the C++11 Standard. As far as we know, +compiler conforms closely to the C++11 standard. As far as we know, this is currently true for the following compilers: \li GNU C++ Compiler (g++) Version 4.8.1 or later. @@ -55,61 +85,22 @@ Microsoft documentation, Visual Studio 2019 Version 16.8 (or higher) with Windows SDK 10.0.20348.0 Version 2104 (or higher). DCMTK already allows enabling C++11 for VS 2017 which reportedly also works well. -To enable the C++11 STL, different steps are necessary on CMake and GNU -Autoconf, see the appropriate section below: +When compiling with C++11 or later, CMake will then perform basic checks to +ensure the compiler is configured correctly and conforms closely enough to all +modern C++ standards up to the selected standard version. -

CMake

- -Request building with C++11 features by setting the option -DCMTK_ENABLE_CXX11 to On, for example via: - -@verbatim -cmake ... -DDCMTK_ENABLE_CXX11:BOOL=ON ... -@endverbatim - -CMake detects the C++11 compilers and knows how to enable C++11 features on -Clang, GCC and Intel compilers. You can override the assumed compiler flags -(for example to enable C++14 instead) by modifying -DCMTK_CXX11_FLAGS, for example: - -@verbatim -cmake ... -DDCMTK_ENABLE_CXX11:BOOL=ON -DDCMTK_CXX11_FLAGS=-std=c++14 ... -@endverbatim - -CMake will then perform basic checks to ensure the compiler is configured -correctly and conforms closely enough to C++11 standard. If everything -works CMake will print something like this: +Below is a CMake output when (successfully) setting +CMAKE_CXX_STANDARD to 14: @verbatim +... -- Checking whether the compiler supports C++11 -- Checking whether the compiler supports C++11 -- yes --- Info: C++11 features enabled -@endverbatim - -

Unsupported Compilers

- -If our CMake setup does not know how to enable C++11 on your compiler, it will -simply assume that no configuration is required (e.g. for Visual Studio). If -this is not appropriate you have to set DCMTK_CXX11_FLAGS manually -as mentioned above. -If you enable C++11 via DCMTK_ENABLE_CXX11 for an unsupported -compiler, CMake will simply set the flags provided via -DCMTK_CXX11_FLAGS (if any) and still run the C++11 compatibility -test to the compiler conforms closely enough to the C++11 standard for being -able to compile DCMTK. If it doesn't, CMake will give an output similar to -this one: - -@verbatim --- Checking whether the compiler supports C++11 --- Checking whether the compiler supports C++11 -- no --- Info: C++11 features disabled +-- Checking whether the compiler supports C++14 +-- Checking whether the compiler supports C++14 -- yes +... @endverbatim -At this point you will not be able to enable C++11 features for the given -compiler, since building DCMTK would fail if you did. If you are sure that -your compiler supports C++11, you should try setting different flags as -DCMTK_CXX11_FLAGS. -

GNU Autoconf

Our GNU Autoconf setup understands the switches \--enable-cxx11, @@ -141,4 +132,20 @@ checking whether c++ supports C++11 features with -std=c++11... no checking whether to enable C++11 support... no @endverbatim +There are further switches that enable STL features, comparable to the +CMake configuration described above: + +@verbatim +--enable-stl use C++ STL +--disable-stl do not use C++ STL (default) +--enable-stl-vector use C++ STL vector +--disable-stl-vector do not use C++ STL vector +--enable-stl-algorithm use C++ STL algorithm +--disable-stl-algorithm do not use C++ STL algorithm +.... +@endverbatim + +Support for setting C++ versions later than C++11 is not yet available in +DCMTK's Autoconf settings. + */ diff --git a/config/docs/envvars.txt b/config/docs/envvars.txt index b94a69c6..95fc3fca 100644 --- a/config/docs/envvars.txt +++ b/config/docs/envvars.txt @@ -38,16 +38,6 @@ DCMICONVPATH to specify a different data directory containing the "esdb" and "csmapper" subdirectories. -ICONV_MAX_REUSE - Affected: oficonv - Explanation: The Citrus iconv implementation, on which the oficonv library is - based, keeps a cache of currently unused encoder/decoder modules. By - default, the cache size is 5, but this environment variable can be used to - specify another size. Since in the oficonv implementation the - encoder/decoder modules are not loaded dynamically from individual shared - libraries, this has little meaning for oficonv and only minimally affects - memory usage. - TCP_BUFFER_LENGTH Affected: dcmnet Explanation: By default, DCMTK does not modify the TCP send and receive buffer diff --git a/config/docs/macros.txt b/config/docs/macros.txt index ec6d26c7..57fe7e43 100644 --- a/config/docs/macros.txt +++ b/config/docs/macros.txt @@ -49,27 +49,35 @@ DCMTK_BUILD_IN_PROGRESS define this macro yourself since this is done automatically by the build system. -DCMTK_UNDEF_SANITIZER - Affected: all modules - Type of modification: Toolkit customization - Explanation: When compiling with the GCC undefined behavior sanitizer - (-fsanitize=undefined), this macro must be defined to disable certain code - in config/tests/arith.cc that would otherwise trigger a runtime error to be - raised by the sanitizer and thus prevent the CMake configure phase from - completing. - DCMTK_ENABLE_ACR_NEMA_DATASET_PRESENT_COMPATIBILITY Affected: dcmnet Type of modification: Toolkit customization - Explanation: In DCMTK releases before 3.6.8, some tools incorrectly - compare DataSetType for equality with DIMSE_DATASET_PRESENT, - instead of checking whether DataSetType is different from - DIMSE_DATASET_NULL. These tools will fail if a different value - than 0x0001 is used for this constant. See DCMTK issue #1045. - The DICOM standard, on the other hand, recommends the value 0x0102 - if backwards compatibility with ACR-NEMA is desired. If this is + Explanation: In DCMTK releases before 3.6.8, some tools incorrectly compare + DataSetType for equality with DIMSE_DATASET_PRESENT, instead of checking + whether DataSetType is different from DIMSE_DATASET_NULL. These tools will + fail if a different value than 0x0001 is used for this constant. See DCMTK + issue #1045. The DICOM standard, on the other hand, recommends the value + 0x0102 if backwards compatibility with ACR-NEMA is desired. If this is important, compile with this macro enabled. +DCMTK_ENABLE_OUTDATED_DCMTK_WORKAROUND + Affected: dcmnet + Type of modification: Activates feature + Explanation: If compiled with this macro, some workarounds for backwards + compatibility with very old DCMTK releases dating back to 1994-95 + are re-enabled. + +DCMTK_ENABLE_ICONV_PASSTHROUGH + Affected: oficonv + Type of modification: Activates feature + Explanation: If compiled with this macro, the oficonv library will simply + copy input to output during a character set conversion if input and output + encoding are the same. This is more efficient, but means that invalid byte + sequences in the source will remain undetected and copied to the target, + whereas the default behavior would detect this and stop the conversion. It + is also incompatible with the behavior of the GNU iconv library. + In DCMTK 3.6.8, this feature was always enabled. + DCMTK_ENABLE_STRICT_HUFFMAN_TABLE_CHECK Affected: dcmjpeg Type of modification: Activates feature @@ -105,24 +113,6 @@ DCMTK_GUI them to the user or store them in a log file. See comments in ofstd/include/dcmtk/ofstd/ofconsol.h. -DCMTK_IGNORE_BCP195M_CAMELLIA_GCM_REQUIREMENT - Affected: dcmtls - Type of modification: Enables experimental feature - Explanation: Starting with release 3.6.8, DCMTK contains a feature-complete - implementation of the "Modified BCP 195 RFC 8996 TLS Secure Transport - Connection Profile". Unfortunately, this profile cannot be implemented - with any current version of OpenSSL or LibreSSL because the DICOM committee - has declared support for the TLS 1.2 Camellia ciphersuites in GCM mode - mandatory, and these are not supported in either OpenSSL or LibreSSL. - This macro will enable the support for this profile on library and - command line tool level, but in a manner that is not fully DICOM compliant - (i.e. without the Camellia GCM ciphersuites). - Should OpenSSL/LibreSSL add support for these ciphersuites in the - future, support for the TLS profile will automatically be enabled - when compiling DCMTK against such a future release, because there is - a configure test that checks the availability of this feature. - This macro is primarily intended for testing purposes. - DCMTK_LOG4CPLUS_AVOID_WIN32_FLS Affected: oflog Type of modification: Disables feature @@ -147,19 +137,27 @@ DCMTK_MERGE_STDERR_TO_STDOUT compiling with this macro. In this case, DICOM files should never be written to stdout as this will be unreliable. +DCMTK_USE_OFLOG_LOGGER_IN_STUB + Affected: ofstd + Type of modification: Selects implementation variant + Explanation: The command line application stub defined in ofstub.h that calls + another command line tool and forwards the command line option by default + prints error messages and warnings to stderr. When compiling with this + macro defined, the messages are printed to the oflog logger instead, which, + however, increases the executable size and slows down execution a bit. + DCMTK_USE_UNIX_SOCKET_QUEUE Affected: ofstd Type of modification: Selects implementation variant Explanation: The implementation of message queues for inter-process communication in DCMTK can either use Windows mailslots, Posix message - queues, System V message queues, or a solution based on Unix Domain - sockets and a separate thread that handles incoming connections - in the message queue server. When this macro is defined, the implementation - based on Unix Domain sockets is preferred when possible - (i.e. Unix Domain sockets and threads are available). This macro can - be used on platforms where the use of the other IPC mechanisms causes - problems, e.g. because of platform specific limitations to the number - of queues permitted system-wide. + queues, System V message queues, or a solution based on Unix Domain sockets + and a separate thread that handles incoming connections in the message + queue server. When this macro is defined, the implementation based on Unix + Domain sockets is preferred when possible (i.e. Unix Domain sockets and + threads are available). This macro can be used on platforms where the use + of the other IPC mechanisms causes problems, e.g. because of platform + specific limitations to the number of queues permitted system-wide. DICOMDIR_WITHOUT_BACKUP Affected: dcmdata @@ -198,25 +196,6 @@ DISABLE_NAGLE_ALGORITHM TCP_NODELAY accordingly (see config/docs/envvars.txt or /usr/local/share/doc/dcmtk-/envvars.txt). -DISABLE_OFSTD_ATOF - Affected: all modules - Type of modification: Disables feature - Explanation: By default, DCMTK uses its own implementation of atof() to - convert strings to double numbers in a locale-independent manner. - This flag forces DCMTK to use the standard sscanf() function instead, which - is normally much faster and gives a higher precision than DCMTK's built in - code, but is locale dependent, i.e. cannot be used with locales such as - German since DICOM decimal strings always use the Posix locale. - -DISABLE_OFSTD_FTOA - Affected: all modules - Type of modification: Disables feature - Explanation: By default, DCMTK uses its own implementation to convert double - numbers to strings to in a locale-independent manner. - This flag forces DCMTK to use the standard sprintf() function instead, which - is locale dependent, i.e. cannot be used with locales such as German since - DICOM decimal strings always use the Posix locale. - DISABLE_PORT_PERMISSION_CHECK Affected: most/all network server tools Type of modification: Disables feature @@ -282,6 +261,79 @@ ENABLE_DCMJPLS_INTERLEAVE_NONE DCMTK has been ported to CharLS 2.x, another branch of the JPEG-LS library that requires a C++14 compiler, however. +ENABLE_CSTDIO_BASED_ATOF_IMPLEMENTATION + Affected: all modules + Type of modification: Activates feature + Explanation: The implementation of OFStandard::atof() by default uses + iostreams on Posix platforms and cstdio on Windows, because on Windows + this is much faster. This macro can be defined to enable the + cstdio based implementation on all platforms. THIS IS STRONGLY + DISCOURAGED because the cstdio based implementation suffers from a + race condition that may occur if a different thread changes the + locale while OFStandard::atof() is running. In this case, the result + returned by OFStandard::atof() may be incorrect. The Windows version + is NOT affected by this race condition because Windows offers a + propietary version of sscanf where the locale can be passed + explicitly. This macro is mutually exclusive with + ENABLE_OLD_OFSTD_ATOF_IMPLEMENTATION and + ENABLE_IOSTREAM_BASED_ATOF_IMPLEMENTATION. + +ENABLE_CSTDIO_BASED_FTOA_IMPLEMENTATION + Affected: all modules + Type of modification: Activates feature + Explanation: The implementation of OFStandard::ftoa() by default uses + iostreams on Posix platforms and cstdio on Windows, because on Windows + this is much faster. This macro can be defined to enable the + cstdio based implementation on all platforms. The implementation + contains code that addresses changes to the locale, so this is + not an issue in ftoa. This macro is mutually exclusive with + ENABLE_OLD_OFSTD_FTOA_IMPLEMENTATION and + ENABLE_IOSTREAM_BASED_FTOA_IMPLEMENTATION. + +ENABLE_IOSTREAM_BASED_ATOF_IMPLEMENTATION + Affected: all modules + Type of modification: Activates feature + Explanation: The implementation of OFStandard::atof() by default uses + iostreams on Posix platforms and cstdio on Windows, because on Windows + this is much faster. This macro can be defined to enable the + iostream based implementation on all platforms. This macro is mutually + exclusive with ENABLE_OLD_OFSTD_ATOF_IMPLEMENTATION and + ENABLE_CSTDIO_BASED_ATOF_IMPLEMENTATION. + +ENABLE_IOSTREAM_BASED_FTOA_IMPLEMENTATION + Affected: all modules + Type of modification: Activates feature + Explanation: The implementation of OFStandard::ftoa() by default uses + iostreams on Posix platforms and cstdio on Windows, because on Windows + this is much faster. This macro can be defined to enable the + iostream based implementation on all platforms. This macro is mutually + exclusive with ENABLE_OLD_OFSTD_FTOA_IMPLEMENTATION and + ENABLE_CSTDIO_BASED_FTOA_IMPLEMENTATION. + +ENABLE_OLD_OFSTD_ATOF_IMPLEMENTATION + Affected: all modules + Type of modification: Re-activates behavior of earlier DCMTK releases + Explanation: DCMTK provides an implementation of atof() in class OFStandard + that converts strings to double numbers in a locale-independent manner, + whereas std::atof(), std::strtod() etc. depend on the global setting of the + locale for the current process and may expect a decimal point character + other than the period character. + The implementation used in DCMTK 3.5.2 to 3.6.8 was found to produce + rounding errors in certain cases and has thus been replaced by an + iostream-based implementation. This macro re-activates the old version. + +ENABLE_OLD_OFSTD_FTOA_IMPLEMENTATION + Affected: all modules + Type of modification: Re-activates behavior of earlier DCMTK releases + Explanation: DCMTK provides an implementation of ftoa() in class OFStandard + that converts double numbers to strings in a locale-independent manner, + whereas sprintf(), ftoa() etc. depend on the global setting of the + locale for the current process and may expect a decimal point character + other than the period character. + The implementation used in DCMTK 3.5.2 to 3.6.8 was found to produce + rounding errors in certain cases and has thus been replaced by an + iostream-based implementation. This macro re-activates the old version. + EXPERIMENTAL_READ_FROM_FILE Affected: dump2dcm Type of modification: Activates experimental or rarely used feature @@ -357,6 +409,19 @@ PIXELSTACK_MEMORY_LEAK_WORKAROUND DcmDataset::chooseRepresentation(). The work-around activated by this macro should solve this issue. +POISON_DEPRECATED_FEATURE_MACROS + Affected: all modules + Type of modification: Declares deprecated feature macros as "poisoned" + Explanation: The osconfig.h file generated by DCMTK at configure time + contains a number of deprecated feature macros that are neither used + nor tested anymore in DCMTK and will be removed in a future version. + When compiling with gcc or clang, this macro will cause the compilation + of user code that relies on one of these macros to generate an error. + This prevents the use of feature macros that may not be present + anymore and thus unintended behavior. Unfortunately, this functionality + is not available for MSVC users, since MSVC's "#pragma deprecated(NAME)" + does not catch the use of a macro in an #if statement like "#ifdef NAME". + PRINT_REPLACED_DICTIONARY_ENTRIES Affected: dcmdata Type of modification: Activates experimental or rarely used feature diff --git a/config/include/dcmtk/config/osconfig.h.in b/config/include/dcmtk/config/osconfig.h.in index af71fd61..76f8c71e 100644 --- a/config/include/dcmtk/config/osconfig.h.in +++ b/config/include/dcmtk/config/osconfig.h.in @@ -29,18 +29,10 @@ /* Define the canonical host system type as a string constant. */ #undef CANONICAL_HOST_TYPE -/* Define if char is unsigned on the C compiler. */ -#undef C_CHAR_UNSIGNED - -/* Define to the inline keyword supported by the C compiler, if any, or to the - empty string. */ -#undef C_INLINE - /* Define if >> is unsigned on the C compiler. */ #undef C_RIGHTSHIFT_UNSIGNED /* character set conversion constants. */ -#define DCMTK_CHARSET_CONVERSION_ICU 1 #define DCMTK_CHARSET_CONVERSION_ICONV 2 #define DCMTK_CHARSET_CONVERSION_STDLIBC_ICONV 3 #define DCMTK_CHARSET_CONVERSION_OFICONV 4 @@ -96,9 +88,6 @@ #define ENVIRONMENT_PATH_SEPARATOR ':' #endif -/* Define to 1 if you have the `accept' function. */ -#undef HAVE_ACCEPT - /* Define to 1 if you have the `access' function. */ #undef HAVE_ACCESS @@ -108,12 +97,12 @@ /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H -/* Define to 1 if you have the header file. */ -#undef HAVE_ASSERT_H - /* Define to 1 if you have the `atoll' function. */ #undef HAVE_ATOLL +/* Define to 1 if you have the header file. */ +#undef HAVE_ATOMIC + /* Define if __attribute__((aligned)) is available. */ #undef HAVE_ATTRIBUTE_ALIGNED @@ -126,15 +115,6 @@ /* Define to 1 if you have the `bcmp' function. */ #undef HAVE_BCMP -/* Define to 1 if you have the `bcopy' function. */ -#undef HAVE_BCOPY - -/* Define if the bidirectional iterator category is supported. */ -#undef HAVE_BIDIRECTIONAL_ITERATOR_CATEGORY - -/* Define to 1 if you have the `bind' function. */ -#undef HAVE_BIND - /* Define to 1 if the system has the type `char16_t'. */ #undef HAVE_CHAR16_T @@ -142,39 +122,15 @@ instead of int. */ #undef HAVE_CHARP_STRERROR_R -/* Define if your C++ compiler can work with class templates. */ -#undef HAVE_CLASS_TEMPLATE - -/* Define to 1 if you have the header file. */ -#undef HAVE_CLIMITS - -/* Define to 1 if you have the header file. */ -#undef HAVE_CMATH - -/* Define to 1 if you have the `connect' function. */ -#undef HAVE_CONNECT - -/* Define if the compiler supports const_cast<>. */ -#undef HAVE_CONST_CAST - /* Define if the contiguous iterator category is supported. */ #undef HAVE_CONTIGUOUS_ITERATOR_CATEGORY -/* Define to 1 if you have the header file. */ -#undef HAVE_CSTDARG - /* Define to 1 if you have the header file. */ #undef HAVE_CSTDDEF /* Define to 1 if you have the header file. */ #undef HAVE_CSTDINT -/* Define to 1 if you have the header file. */ -#undef HAVE_CSTDIO - -/* Define to 1 if you have the header file. */ -#undef HAVE_CTYPE_H - /* Define to 1 if you have the `cuserid' function. */ #undef HAVE_CUSERID @@ -187,24 +143,6 @@ /* Define if the compiler supports [[deprecated("message")]]. */ #undef HAVE_CXX14_DEPRECATED_ATTRIBUTE_MSG -/* Define if volatile is a known keyword. */ -#undef HAVE_CXX_VOLATILE - -/* Define if "const" is supported by the C compiler. */ -#undef HAVE_C_CONST - -/* Define if your system has a declaration for socklen_t in sys/types.h - sys/socket.h . */ -#undef HAVE_DECLARATION_SOCKLEN_T - -/* Define if your system has a declaration for std::ios_base::openmode in - iostream. */ -#undef HAVE_DECLARATION_STD__IOS_BASE__OPENMODE - -/* Define if your system has a declaration for struct utimbuf in sys/types.h - utime.h sys/utime.h . */ -#undef HAVE_DECLARATION_STRUCT_UTIMBUF - /* Define if the compiler supports __declspec(deprecated). */ #undef HAVE_DECLSPEC_DEPRECATED @@ -219,46 +157,24 @@ */ #undef HAVE_DIRENT_H -/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ -#undef HAVE_DOPRNT - -/* Define if the compiler supports dynamic_cast<>. */ -#undef HAVE_DYNAMIC_CAST - -/* Define if your system cannot pass command line arguments into main() (e.g. Macintosh). */ -/* #undef HAVE_EMPTY_ARGC_ARGV */ - /* Define if your system provides ENAMETOOLONG errno value. */ #undef HAVE_ENAMETOOLONG -/* Define to 1 if you have the header file. */ -#undef HAVE_ERRNO_H - /* Define to 1 if you have the header file. */ #undef HAVE_ERR_H -/* Define if your C++ compiler supports the explicit template specialization - syntax. */ -#undef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION - /* Define to 1 if you have the `fcntl' function. */ #undef HAVE_FCNTL /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H -/* Define to 1 if you have the header file. */ -#undef HAVE_FENV_H - /* Define to 1 if you have the `fgetln' function. */ #undef HAVE_FGETLN /* Define to 1 if you have the `finite' function. */ #undef HAVE_FINITE -/* Define to 1 if you have the header file. */ -#undef HAVE_FLOAT_H - /* Define to 1 if you have the `flock' function. */ #undef HAVE_FLOCK @@ -268,33 +184,15 @@ /* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK -/* Define if the forward iterator category is supported. */ -#undef HAVE_FORWARD_ITERATOR_CATEGORY - /* Define to 1 if the system has the type `fpos64_t'. */ #undef HAVE_FPOS64_T /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #undef HAVE_FSEEKO -/* Define to 1 if you have the header file. */ -#undef HAVE_FSTREAM - -/* Define to 1 if you have the header file. */ -#undef HAVE_FSTREAM_H - /* Define to 1 if you have the `ftime' function. */ #undef HAVE_FTIME -/* Define if your C++ compiler can work with function templates. */ -#undef HAVE_FUNCTION_TEMPLATE - -/* Define to 1 if you have the `getaddrinfo' function. */ -#undef HAVE_GETADDRINFO - -/* Define to 1 if you have the `getenv' function. */ -#undef HAVE_GETENV - /* Define to 1 if you have the `geteuid' function. */ #undef HAVE_GETEUID @@ -307,18 +205,12 @@ /* Define to 1 if you have the `gethostbyaddr_r' function. */ #undef HAVE_GETHOSTBYADDR_R -/* Define to 1 if you have the `gethostbyname' function. */ -#undef HAVE_GETHOSTBYNAME - /* Define to 1 if you have the `gethostbyname_r' function. */ #undef HAVE_GETHOSTBYNAME_R /* Define to 1 if you have the `gethostid' function. */ #undef HAVE_GETHOSTID -/* Define to 1 if you have the `gethostname' function. */ -#undef HAVE_GETHOSTNAME - /* Define to 1 if you have the `getlogin' function. */ #undef HAVE_GETLOGIN @@ -337,12 +229,6 @@ /* Define to 1 if you have the `getrusage' function. */ #undef HAVE_GETRUSAGE -/* Define to 1 if you have the `getsockname' function. */ -#undef HAVE_GETSOCKNAME - -/* Define to 1 if you have the `getsockopt' function. */ -#undef HAVE_GETSOCKOPT - /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY @@ -370,9 +256,6 @@ /* Define to 1 if you have the `index' function. */ #undef HAVE_INDEX -/* Define if the input iterator category is supported. */ -#undef HAVE_INPUT_ITERATOR_CATEGORY - /* Define to 1 if the system has the type `int64_t'. */ #undef HAVE_INT64_T @@ -384,43 +267,15 @@ of size_t * or socklen_t. */ #undef HAVE_INTP_GETSOCKOPT -/* Define if your system declares argument 2-4 of select() as int * instead of - struct fd_set *. */ -#undef HAVE_INTP_SELECT - /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the header file. */ -#undef HAVE_IOMANIP - -/* Define to 1 if you have the header file. */ -#undef HAVE_IOMANIP_H - /* Define to 1 if you have the header file. */ #undef HAVE_IOSTREAM -/* Define to 1 if you have the header file. */ -#undef HAVE_IOSTREAM_H - -/* Define if your system defines ios::nocreate in iostream.h. */ -#undef HAVE_IOS_NOCREATE - /* Define to 1 if you have the header file. */ #undef HAVE_IO_H -/* Define to 1 if you have the `isinf' function. */ -#undef HAVE_ISINF - -/* Define to 1 if you have the `isnan' function. */ -#undef HAVE_ISNAN - -/* Define to 1 if you have the header file. */ -#undef HAVE_ISO646_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_ITERATOR_HEADER - /* Define to 1 if you have the `itoa' function. */ #undef HAVE_ITOA @@ -430,9 +285,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LIBC_H -/* Define to 1 if you have the `iostream' library (-liostream). */ -#undef HAVE_LIBIOSTREAM - /* Define to 1 if you have the `nsl' library (-lnsl). */ #undef HAVE_LIBNSL @@ -442,27 +294,15 @@ /* Define to 1 if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET -/* Define to 1 if you have the header file. */ -#undef HAVE_LIMITS_H - /* Define to 1 if you have the `listen' function. */ #undef HAVE_LISTEN -/* Define to 1 if you have the header file. */ -#undef HAVE_LOCALE_H - /* Define to 1 if you have the `localtime_r' function. */ #undef HAVE_LOCALTIME_R /* Define to 1 if you have the `lockf' function. */ #undef HAVE_LOCKF -/* Define to 1 if the system has the type `longlong'. */ -#undef HAVE_LONGLONG - -/* Define to 1 if you support file names longer than 14 characters. */ -#undef HAVE_LONG_FILE_NAMES - /* Define to 1 if the system has the type `long long'. */ #undef HAVE_LONG_LONG @@ -475,26 +315,8 @@ /* Define to 1 if you have the header file. */ #undef HAVE_MALLOC_H -/* Define to 1 if you have the header file. */ -#undef HAVE_MATH_H - -/* Define to 1 if you have the `mbstowcs' function. */ -#undef HAVE_MBSTOWCS - -/* Define to 1 if you have the `memcmp' function. */ -#undef HAVE_MEMCMP - -/* Define to 1 if you have the `memcpy' function. */ -#undef HAVE_MEMCPY - -/* Define to 1 if you have the `memmove' function. */ -#undef HAVE_MEMMOVE - -/* Define to 1 if you have the `memset' function. */ -#undef HAVE_MEMSET - -/* Define to 1 if you have the header file. */ -#undef HAVE_MINIX_CONFIG_H +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H /* Define to 1 if you have the `mkstemp' function. */ #undef HAVE_MKSTEMP @@ -526,9 +348,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_NEW -/* Define to 1 if you have the header file. */ -#undef HAVE_NEW_H - /* Define if the compiler supports operator delete (std::nothrow). */ #undef HAVE_NOTHROW_DELETE @@ -539,13 +358,6 @@ typedef int pid_t; #endif -/* Define `size_t' to `unsigned' if does not define. */ -#undef HAVE_NO_TYPEDEF_SIZE_T - -#ifdef HAVE_NO_TYPEDEF_SIZE_T -typedef unsigned size_t; -#endif - /* Define `ssize_t' to `long' if does not define. */ #undef HAVE_NO_TYPEDEF_SSIZE_T @@ -590,11 +402,6 @@ typedef unsigned short ushort; /* Define to 1 if the system has the type `off64_t'. */ #undef HAVE_OFF64_T -/* Define if your system supports readdir_r with the obsolete Posix 1.c draft - 6 declaration (2 arguments) instead of the Posix 1.c declaration with 3 - arguments. */ -#undef HAVE_OLD_READDIR_R - /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_ASN1_H @@ -608,33 +415,10 @@ typedef unsigned short ushort; /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_EVP_H -/* Define if OpenSSL provides a prototype for ASN1_STRING_get0_data in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA - -/* Define if OpenSSL provides a prototype for DH_bits in . */ -#undef HAVE_OPENSSL_PROTOTYPE_DH_BITS - -/* Define if OpenSSL provides a prototype for EVP_PKEY_base_id in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID - -/* Define if OpenSSL provides a prototype for EVP_PKEY_get0_EC_KEY in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY - /* Define if OpenSSL provides a prototype for EVP_PKEY_get_group_name in . */ #undef HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME -/* Define if OpenSSL provides a prototype for EVP_PKEY_id in . - */ -#undef HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID - -/* Define if OpenSSL provides a prototype for EVP_PKEY_RSA_PSS in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS - /* Define if OpenSSL provides a prototype for NID_dsa_with_SHA512 in . */ #undef HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512 @@ -654,66 +438,14 @@ typedef unsigned short ushort; /* Define if OpenSSL provides a prototype for RAND_egd in . */ #undef HAVE_OPENSSL_PROTOTYPE_RAND_EGD -/* Define if OpenSSL provides a prototype for SSL_CTX_get0_param in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM - -/* Define if OpenSSL provides a prototype for SSL_CTX_get_cert_store in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE - -/* Define if OpenSSL provides a prototype for SSL_CTX_get_ciphers in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS - /* Define if OpenSSL provides a prototype for SSL_CTX_set0_tmp_dh_pkey in . */ #undef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY -/* Define if OpenSSL provides a prototype for SSL_CTX_set1_curves in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES - /* Define if OpenSSL provides a prototype for SSL_CTX_set1_sigalgs in . */ #undef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS -/* Define if OpenSSL provides a prototype for SSL_CTX_set_ecdh_auto in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO - -/* Define if OpenSSL provides a prototype for SSL_CTX_set_max_proto_version in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION - -/* Define if OpenSSL provides a prototype for SSL_CTX_set_security_level in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL - -/* Define if OpenSSL provides a prototype for SSL_ERROR_WANT_ASYNC in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC - -/* Define if OpenSSL provides a prototype for SSL_ERROR_WANT_ASYNC_JOB in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB - -/* Define if OpenSSL provides a prototype for SSL_ERROR_WANT_CLIENT_HELLO_CB - in . */ -#undef HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB - -/* Define if OpenSSL provides a prototype for TLS1_3_RFC_AES_128_CCM_8_SHA256 - in . */ -#undef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256 - -/* Define if OpenSSL provides a prototype for TLS1_3_RFC_AES_256_GCM_SHA384 in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 - -/* Define if OpenSSL provides a prototype for - TLS1_3_RFC_CHACHA20_POLY1305_SHA256 in . */ -#undef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256 - /* Define if OpenSSL provides a prototype for TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 in . */ #undef HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 @@ -722,61 +454,9 @@ typedef unsigned short ushort; TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 in . */ #undef HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 -/* Define if OpenSSL provides a prototype for - TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 in . */ -#undef HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 - -/* Define if OpenSSL provides a prototype for TLS_method in . - */ -#undef HAVE_OPENSSL_PROTOTYPE_TLS_METHOD - -/* Define if OpenSSL provides a prototype for TS_STATUS_INFO_get0_failure_info - in . */ -#undef HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO - -/* Define if OpenSSL provides a prototype for TS_STATUS_INFO_get0_status in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS - -/* Define if OpenSSL provides a prototype for TS_STATUS_INFO_get0_text in +/* Define if OpenSSL provides a prototype for TS_VERIFY_CTX_SET0_STORE in . */ -#undef HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT - -/* Define if OpenSSL provides a prototype for TS_VERIFY_CTS_set_certs in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS - -/* Define if OpenSSL provides a prototype for TS_VERIFY_CTX_set_data in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA - -/* Define if OpenSSL provides a prototype for TS_VERIFY_CTX_set_flags in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS - -/* Define if OpenSSL provides a prototype for TS_VERIFY_CTX_set_store in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE - -/* Define if OpenSSL provides a prototype for X509_get0_notAfter in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER - -/* Define if OpenSSL provides a prototype for X509_get0_notBefore in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE - -/* Define if OpenSSL provides a prototype for X509_get_signature_nid in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID - -/* Define if OpenSSL provides a prototype for X509_STORE_CTX_get0_cert in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT - -/* Define if OpenSSL provides a prototype for X509_STORE_get0_param in - . */ -#undef HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM +#undef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET0_STORE /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_PROVIDER_H @@ -787,16 +467,9 @@ typedef unsigned short ushort; /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_TS_H -/* Define if OpenSSL provides the X509_ALGOR_get0() function that expects a - const pointer as first parameter. */ -#undef HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM - /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_X509_H -/* Define if the output iterator category is supported. */ -#undef HAVE_OUTPUT_ITERATOR_CATEGORY - /* Define if passwd::pw_gecos is available. */ #undef HAVE_PASSWD_GECOS @@ -809,18 +482,6 @@ typedef unsigned short ushort; /* Define to 1 if you have the `popen' function. */ #undef HAVE_POPEN -/* Define if your system has a prototype for accept in sys/types.h - sys/socket.h. */ -#undef HAVE_PROTOTYPE_ACCEPT - -/* Define if your system has a prototype for bind in sys/types.h sys/socket.h. - */ -#undef HAVE_PROTOTYPE_BIND - -/* Define if your system has a prototype for connect in sys/types.h - sys/socket.h. */ -#undef HAVE_PROTOTYPE_CONNECT - /* Define if your system has a prototype for feenableexcept in fenv.h. */ #undef HAVE_PROTOTYPE_FEENABLEEXCEPT @@ -834,10 +495,6 @@ typedef unsigned short ushort; unistd.h stdlib.h netdb.h. */ #undef HAVE_PROTOTYPE_GETHOSTBYADDR_R -/* Define if your system has a prototype for gethostbyname in libc.h unistd.h - stdlib.h netdb.h. */ -#undef HAVE_PROTOTYPE_GETHOSTBYNAME - /* Define if your system has a prototype for gethostbyname_r in libc.h unistd.h stdlib.h netdb.h. */ #undef HAVE_PROTOTYPE_GETHOSTBYNAME_R @@ -846,32 +503,10 @@ typedef unsigned short ushort; stdlib.h netdb.h. */ #undef HAVE_PROTOTYPE_GETHOSTID -/* Define if your system has a prototype for gethostname in unistd.h libc.h - stdlib.h netdb.h. */ -#undef HAVE_PROTOTYPE_GETHOSTNAME - -/* Define if your system has a prototype for getsockname in sys/types.h - sys/socket.h. */ -#undef HAVE_PROTOTYPE_GETSOCKNAME - -/* Define if your system has a prototype for getsockopt in sys/types.h - sys/socket.h. */ -#undef HAVE_PROTOTYPE_GETSOCKOPT - /* Define if your system has a prototype for gettimeofday in sys/time.h unistd.h. */ #undef HAVE_PROTOTYPE_GETTIMEOFDAY -/* Define if your system has a prototype for isinf in math.h. */ -#undef HAVE_PROTOTYPE_ISINF - -/* Define if your system has a prototype for isnan in math.h. */ -#undef HAVE_PROTOTYPE_ISNAN - -/* Define if your system has a prototype for listen in sys/types.h - sys/socket.h. */ -#undef HAVE_PROTOTYPE_LISTEN - /* Define if your system has a prototype for mkstemp in libc.h unistd.h stdlib.h. */ #undef HAVE_PROTOTYPE_MKSTEMP @@ -880,21 +515,6 @@ typedef unsigned short ushort; stdlib.h. */ #undef HAVE_PROTOTYPE_MKTEMP -/* Define if your system has a prototype for select in sys/select.h - sys/types.h sys/socket.h sys/time.h. */ -#undef HAVE_PROTOTYPE_SELECT - -/* Define if your system has a prototype for setsockopt in sys/types.h - sys/socket.h. */ -#undef HAVE_PROTOTYPE_SETSOCKOPT - -/* Define if your system has a prototype for socket in sys/types.h - sys/socket.h. */ -#undef HAVE_PROTOTYPE_SOCKET - -/* Define if your system has a prototype for std::finite in cmath. */ -#undef HAVE_PROTOTYPE_STD__FINITE - /* Define if your system has a prototype for std::isinf in cmath. */ #undef HAVE_PROTOTYPE_STD__ISINF @@ -928,10 +548,6 @@ typedef unsigned short ushort; /* Define if your system has a prototype for vsnprintf in stdio.h stdarg.h. */ #undef HAVE_PROTOTYPE_VSNPRINTF -/* Define if your system has a prototype for wait3 in libc.h sys/wait.h - sys/time.h sys/resource.h. */ -#undef HAVE_PROTOTYPE_WAIT3 - /* Define if your system has a prototype for waitpid in sys/wait.h sys/time.h sys/resource.h. */ #undef HAVE_PROTOTYPE_WAITPID @@ -948,82 +564,33 @@ typedef unsigned short ushort; /* Define to 1 if you have the header file. */ #undef HAVE_PWD_H -/* Define if the random_access iterator category is supported. */ -#undef HAVE_RANDOM_ACCESS_ITERATOR_CATEGORY - /* Define to 1 if you have the `readdir_r' function. */ #undef HAVE_READDIR_R -/* Define if the compiler supports reinterpret_cast<>. */ -#undef HAVE_REINTERPRET_CAST - /* Define to 1 if you have the `rindex' function. */ #undef HAVE_RINDEX -/* Define to 1 if you have the `select' function. */ -#undef HAVE_SELECT - /* Define to 1 if you have the header file. */ #undef HAVE_SEMAPHORE_H -/* Define to 1 if you have the header file. */ -#undef HAVE_SETJMP_H - -/* Define to 1 if you have the `setsockopt' function. */ -#undef HAVE_SETSOCKOPT - /* Define to 1 if you have the `setuid' function. */ #undef HAVE_SETUID /* Define to 1 if the system has the type `sigjmp_buf'. */ #undef HAVE_SIGJMP_BUF -/* Define to 1 if you have the header file. */ -#undef HAVE_SIGNAL_H - /* Define to 1 if you have the `sleep' function. */ #undef HAVE_SLEEP -/* Define to 1 if you have the `socket' function. */ -#undef HAVE_SOCKET - -/* Define to 1 if you have the header file. */ -#undef HAVE_SSTREAM - -/* Define to 1 if you have the header file. */ -#undef HAVE_SSTREAM_H - /* Define to 1 if you have the `stat' function. */ #undef HAVE_STAT /* Define if the compiler supports static_assert. */ #undef HAVE_STATIC_ASSERT -/* Define if the compiler supports static_cast<>. */ -#undef HAVE_STATIC_CAST - -/* Define if your C++ compiler can work with static methods in class - templates. */ -#undef HAVE_STATIC_TEMPLATE_METHOD - -/* Define to 1 if you have the header file. */ -#undef HAVE_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDARG_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDBOOL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDDEF_H - /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H -/* Define to 1 if you have the header file. */ -#undef HAVE_STDIO_H - /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H @@ -1036,8 +603,8 @@ typedef unsigned short ushort; /* Define if STL's algorithm should be used. */ #undef HAVE_STL_ALGORITHM -/* Define if STL's limits should be used. */ -#undef HAVE_STL_LIMITS +/* Define if STL's atomic should be used. */ +#undef HAVE_STL_ATOMIC /* Define if STL's list should be used. */ #undef HAVE_STL_LIST @@ -1066,18 +633,9 @@ typedef unsigned short ushort; /* Define if STL's vector should be used. */ #undef HAVE_STL_VECTOR -/* Define to 1 if you have the `strchr' function. */ -#undef HAVE_STRCHR - /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP -/* Define to 1 if you have the header file. */ -#undef HAVE_STREAMBUF_H - -/* Define to 1 if you have the `strerror' function. */ -#undef HAVE_STRERROR - /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H @@ -1090,21 +648,6 @@ typedef unsigned short ushort; /* Define to 1 if you have the `strlcpy' function. */ #undef HAVE_STRLCPY -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRSTREAM - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRSTREAM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRSTREA_H - -/* Define to 1 if you have the `strtoul' function. */ -#undef HAVE_STRTOUL - /* Define to 1 if you have the header file. */ #undef HAVE_SYNCH_H @@ -1188,27 +731,12 @@ typedef unsigned short ushort; /* Define to 1 if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H -/* Define to 1 if you have the `tempnam' function. */ -#undef HAVE_TEMPNAM - /* Define to 1 if you have the header file. */ #undef HAVE_THREAD_H -/* Define to 1 if you have the header file. */ -#undef HAVE_TIME_H - -/* Define to 1 if you have the `tmpnam' function. */ -#undef HAVE_TMPNAM - -/* Define if typename is a known keyword. */ -#undef HAVE_TYPENAME - /* Define to 1 if the system has the type `uint64_t'. */ #undef HAVE_UINT64_T -/* Define to 1 if the system has the type `ulonglong'. */ -#undef HAVE_ULONGLONG - /* Define to 1 if you have the `uname' function. */ #undef HAVE_UNAME @@ -1230,28 +758,12 @@ typedef unsigned short ushort; /* Define if variable-length arrays are supported in C. */ #undef HAVE_VLA -/* Define to 1 if you have the `vprintf' function. */ -#undef HAVE_VPRINTF - /* Define to 1 if you have the `vsnprintf' function. */ #undef HAVE_VSNPRINTF -/* Define to 1 if you have the `wait3' system call. Deprecated, you should no - longer depend upon `wait3'. */ -#undef HAVE_WAIT3 - /* Define to 1 if you have the `waitpid' function. */ #undef HAVE_WAITPID -/* Define to 1 if you have the header file. */ -#undef HAVE_WCHAR_H - -/* Define to 1 if you have the `wcstombs' function. */ -#undef HAVE_WCSTOMBS - -/* Define to 1 if you have the header file. */ -#undef HAVE_WCTYPE_H - /* Define to 1 if you have the `_findfirst' function. */ #undef HAVE__FINDFIRST @@ -1264,12 +776,6 @@ typedef unsigned short ushort; /* Define if the compiler supports __func__. */ #undef HAVE___func___MACRO -/* Define if libc.h should be treated as a C++ header. */ -#undef INCLUDE_LIBC_H_AS_CXX - -/* Define if fails if included extern "C". */ -#undef INCLUDE_MATH_H_AS_CXX - /* Define if the second argument to iconv() is const. */ #undef LIBICONV_SECOND_ARGUMENT_CONST @@ -1306,12 +812,6 @@ typedef unsigned short ushort; /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE -/* Define if signal handlers need ellipse (...) parameters. */ -#undef SIGNAL_HANDLER_WITH_ELLIPSE - -/* The size of `char', as computed by sizeof. */ -#undef SIZEOF_CHAR - /* The size of `double', as computed by sizeof. */ #undef SIZEOF_DOUBLE @@ -1330,14 +830,9 @@ typedef unsigned short ushort; /* The size of `void *', as computed by sizeof. */ #undef SIZEOF_VOID_P -/* Define to 1 if all of the C90 standard headers exist (not just the ones - required in a freestanding environment). This macro is provided for - backward compatibility; new code need not use it. */ +/* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS -/* Namespace for ANSI C functions in standard C++ headers. */ -#undef STDIO_NAMESPACE - /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME @@ -1345,96 +840,27 @@ typedef unsigned short ushort; #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif -/* Enable general extensions on macOS. */ -#ifndef _DARWIN_C_SOURCE -# undef _DARWIN_C_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif -/* Enable X/Open compliant socket functions that do not require linking - with -lxnet on HP-UX 11.11. */ -#ifndef _HPUX_ALT_XOPEN_SOCKET_API -# undef _HPUX_ALT_XOPEN_SOCKET_API -#endif -/* Identify the host operating system as Minix. - This macro does not affect the system headers' behavior. - A future release of Autoconf may stop defining this macro. */ -#ifndef _MINIX -# undef _MINIX -#endif -/* Enable general extensions on NetBSD. - Enable NetBSD compatibility extensions on Minix. */ -#ifndef _NETBSD_SOURCE -# undef _NETBSD_SOURCE -#endif -/* Enable OpenBSD compatibility extensions on NetBSD. - Oddly enough, this does nothing on OpenBSD. */ -#ifndef _OPENBSD_SOURCE -# undef _OPENBSD_SOURCE -#endif -/* Define to 1 if needed for POSIX-compatible behavior. */ -#ifndef _POSIX_SOURCE -# undef _POSIX_SOURCE -#endif -/* Define to 2 if needed for POSIX-compatible behavior. */ -#ifndef _POSIX_1_SOURCE -# undef _POSIX_1_SOURCE -#endif -/* Enable POSIX-compatible threading on Solaris. */ +/* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif -/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ -#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ -# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ -#endif -/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ -#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ -# undef __STDC_WANT_IEC_60559_BFP_EXT__ -#endif -/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ -#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ -# undef __STDC_WANT_IEC_60559_DFP_EXT__ -#endif -/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ -#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ -# undef __STDC_WANT_IEC_60559_FUNCS_EXT__ -#endif -/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ -#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ -# undef __STDC_WANT_IEC_60559_TYPES_EXT__ -#endif -/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ -#ifndef __STDC_WANT_LIB_EXT2__ -# undef __STDC_WANT_LIB_EXT2__ -#endif -/* Enable extensions specified by ISO/IEC 24747:2009. */ -#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ -# undef __STDC_WANT_MATH_SPEC_FUNCS__ -#endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif -/* Enable X/Open extensions. Define to 500 only if necessary - to make mbstate_t available. */ -#ifndef _XOPEN_SOURCE -# undef _XOPEN_SOURCE +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ #endif /* Define if we are compiling with libiconv support. */ #undef WITH_LIBICONV -/* Define if we are compiling with ICU support. */ -#undef WITH_LIBICU - /* Define if we are compiling with libpng support. */ #undef WITH_LIBPNG @@ -1477,8 +903,17 @@ typedef unsigned short ushort; /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES -/* Define to 1 if type `char' is unsigned and your compiler does not - predefine this macro. */ +/* Define to 1 if on MINIX. */ +#undef _MINIX + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#undef _POSIX_1_SOURCE + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#undef _POSIX_SOURCE + +/* Define to 1 if type `char' is unsigned and you are not using gcc. */ #ifndef __CHAR_UNSIGNED__ # undef __CHAR_UNSIGNED__ #endif diff --git a/config/math.cc b/config/math.cc index 70192764..cccc5d50 100644 --- a/config/math.cc +++ b/config/math.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2021, OFFIS e.V. + * Copyright (C) 2015-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -42,55 +42,11 @@ #include #endif -/* Some MacOS X versions define isinf() and isnan() in but not in */ -#if defined(__APPLE__) && defined(__MACH__) && !defined (__INTEL_COMPILER) -#undef HAVE_PROTOTYPE_ISINF -#undef HAVE_PROTOTYPE_ISNAN -#endif - - -// some systems don't properly define isnan() -#ifdef HAVE_ISNAN -#ifndef HAVE_PROTOTYPE_ISNAN -extern "C" -{ - int isnan(double value); -} -#endif -#endif - - -// some systems don't properly define finite() -#ifdef HAVE_FINITE -#ifndef HAVE_PROTOTYPE_FINITE -extern "C" -{ - int finite(double value); -} -#endif -#endif - -#if !defined(HAVE_ISINF) && defined(HAVE_PROTOTYPE_ISINF) -# define HAVE_ISINF 1 -#endif - -// some systems don't properly define isinf() -#ifdef HAVE_ISINF -#ifndef HAVE_PROTOTYPE_ISINF -extern "C" -{ - int isinf(double value); -} -#endif -#endif /* HAVE_ISINF */ - struct dcmtk_config_math { static inline OFBool isnan( float f ) { -#ifdef HAVE_WINDOWS_H - return _isnan(f) != 0; -#elif defined(HAVE_PROTOTYPE_STD__ISNAN) +#ifdef HAVE_PROTOTYPE_STD__ISNAN return STD_NAMESPACE isnan(f); #else return ::isnan(f); @@ -99,9 +55,7 @@ struct dcmtk_config_math static inline OFBool isnan( double d ) { -#ifdef HAVE_WINDOWS_H - return _isnan(d) != 0; -#elif defined(HAVE_PROTOTYPE_STD__ISNAN) +#ifdef HAVE_PROTOTYPE_STD__ISNAN return STD_NAMESPACE isnan(d); #else return ::isnan(d); @@ -112,10 +66,8 @@ struct dcmtk_config_math { #ifdef HAVE_PROTOTYPE_STD__ISINF return STD_NAMESPACE isinf( f ); -#elif defined(HAVE_ISINF) - return ::isinf( f ); #else - return dcmtk_config_math::isinf( OFstatic_cast( double, f ) ); + return ::isinf( f ); #endif } @@ -123,15 +75,8 @@ struct dcmtk_config_math { #ifdef HAVE_PROTOTYPE_STD__ISINF return STD_NAMESPACE isinf( d ); -#elif defined(HAVE_ISINF) - return ::isinf( d ); -#else -#ifdef HAVE_WINDOWS_H - return (! _finite(d)) && (! _isnan(d)); #else - // Solaris 2.5.1 has finite() and isnan() but not isinf(). - return (! finite(d)) && (! isnan(d)); -#endif + return ::isinf( d ); #endif } }; diff --git a/config/modules b/config/modules index 467e3337..cd5b4344 100644 --- a/config/modules +++ b/config/modules @@ -1 +1 @@ -oficonv ofstd oflog dcmdata dcmiod dcmfg dcmseg dcmimgle dcmimage dcmjpeg dcmjpls dcmtls dcmnet dcmsr dcmsign dcmwlm dcmqrdb dcmpstat dcmrt dcmtract dcmpmap dcmect +oficonv ofstd oflog dcmdata dcmiod dcmfg dcmseg dcmimgle dcmimage dcmjpeg dcmjpls dcmtls dcmnet dcmsr dcmsign dcmwlm dcmqrdb dcmpstat dcmrt dcmtract dcmpmap dcmect dcmapps diff --git a/config/stdcxx.m4 b/config/stdcxx.m4 index a655f345..3948e376 100644 --- a/config/stdcxx.m4 +++ b/config/stdcxx.m4 @@ -10,13 +10,13 @@ # # Check for baseline language coverage in the compiler for the specified # version of the C++ standard. If necessary, add switches to CXX and -# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) -# or '14' (for the C++14 standard). +# CXXCPP to enable support. VERSION may be '11', '14', '17', or '20' for +# the respective C++ standard version. # # The second argument, if specified, indicates whether you insist on an # extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. # -std=c++11). If neither is specified, you get whatever works, with -# preference for an extended mode. +# preference for no added switch, and then for an extended mode. # # The third argument, if specified 'mandatory' or if left unspecified, # indicates that baseline support for the specified C++ standard is @@ -33,14 +33,17 @@ # Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov # Copyright (c) 2015 Paul Norman # Copyright (c) 2015 Moritz Klammler -# Copyright (c) 2016 Krzesimir Nowak +# Copyright (c) 2016, 2018 Krzesimir Nowak +# Copyright (c) 2019 Enji Cooper +# Copyright (c) 2020 Jason Merrill +# Copyright (c) 2021 Joern Heusipp # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 7 +#serial 18 dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro dnl (serial version number 13). @@ -49,6 +52,7 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], [$1], [14], [ax_cxx_compile_alternatives="14 1y"], [$1], [17], [ax_cxx_compile_alternatives="17 1z"], + [$1], [20], [ax_cxx_compile_alternatives="20"], [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl m4_if([$2], [], [], [$2], [ext], [], @@ -60,14 +64,16 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])]) AC_LANG_PUSH([C++])dnl ac_success=no - AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, - ax_cv_cxx_compile_cxx$1, - [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], - [ax_cv_cxx_compile_cxx$1=yes], - [ax_cv_cxx_compile_cxx$1=no])]) - if test x$ax_cv_cxx_compile_cxx$1 = xyes; then - ac_success=yes - fi + + m4_if([$2], [], [dnl + AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, + ax_cv_cxx_compile_cxx$1, + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [ax_cv_cxx_compile_cxx$1=yes], + [ax_cv_cxx_compile_cxx$1=no])]) + if test x$ax_cv_cxx_compile_cxx$1 = xyes; then + ac_success=yes + fi]) m4_if([$2], [noext], [], [dnl if test x$ac_success = xno; then @@ -98,9 +104,18 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl dnl HP's aCC needs +std=c++11 according to: dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf dnl Cray's crayCC needs "-h std=c++11" + dnl MSVC needs -std:c++NN for C++17 and later (default is C++14) for alternative in ${ax_cxx_compile_alternatives}; do - for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}" MSVC; do + if test x"$switch" = xMSVC; then + dnl AS_TR_SH maps both `:` and `=` to `_` so -std:c++17 would collide + dnl with -std=c++17. We suffix the cache variable name with _MSVC to + dnl avoid this. + switch=-std:c++${alternative} + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_${switch}_MSVC]) + else + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + fi AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, $cachevar, [ac_save_CXX="$CXX" @@ -134,7 +149,7 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl AC_MSG_NOTICE([No compiler with C++$1 support was found]) else HAVE_CXX$1=1 - AC_DEFINE(HAVE_CXX$1, 1, + AC_DEFINE(HAVE_CXX$1,1, [Define if the compiler supports basic C++$1 syntax.]) fi AC_SUBST(HAVE_CXX$1) @@ -147,7 +162,6 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 ) - dnl Test body for checking C++14 support m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], @@ -155,12 +169,24 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 ) +dnl Test body for checking C++17 support + m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 ) +dnl Test body for checking C++20 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_20], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_20 +) + + dnl Tests for new features in C++11 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ @@ -172,7 +198,11 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ #error "This is not a C++ compiler" -#elif __cplusplus < 201103L +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER #error "This is not a C++11 compiler" @@ -197,11 +227,13 @@ namespace cxx11 struct Base { + virtual ~Base() {} virtual void f() {} }; struct Derived : public Base { + virtual ~Derived() override {} virtual void f() override {} }; @@ -461,7 +493,7 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ #error "This is not a C++ compiler" -#elif __cplusplus < 201402L +#elif __cplusplus < 201402L && !defined _MSC_VER #error "This is not a C++14 compiler" @@ -585,20 +617,12 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ #error "This is not a C++ compiler" -#elif __cplusplus <= 201402L +#elif __cplusplus < 201703L && !defined _MSC_VER #error "This is not a C++17 compiler" #else -#if defined(__clang__) - #define REALLY_CLANG -#else - #if defined(__GNUC__) - #define REALLY_GCC - #endif -#endif - #include #include #include @@ -606,16 +630,12 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ namespace cxx17 { -#if !defined(REALLY_CLANG) namespace test_constexpr_lambdas { - // TODO: test it with clang++ from git - constexpr int foo = [](){return 42;}(); } -#endif // !defined(REALLY_CLANG) namespace test::nested_namespace::definitions { @@ -850,12 +870,9 @@ namespace cxx17 } -#if !defined(REALLY_CLANG) namespace test_template_argument_deduction_for_class_templates { - // TODO: test it with clang++ from git - template struct pair { @@ -874,7 +891,6 @@ namespace cxx17 } } -#endif // !defined(REALLY_CLANG) namespace test_non_type_auto_template_parameters { @@ -888,12 +904,9 @@ namespace cxx17 } -#if !defined(REALLY_CLANG) namespace test_structured_bindings { - // TODO: test it with clang++ from git - int arr[2] = { 1, 2 }; std::pair pr = { 1, 2 }; @@ -925,14 +938,10 @@ namespace cxx17 const auto [ x3, y3 ] = f3(); } -#endif // !defined(REALLY_CLANG) -#if !defined(REALLY_CLANG) namespace test_exception_spec_type_system { - // TODO: test it with clang++ from git - struct Good {}; struct Bad {}; @@ -950,7 +959,6 @@ namespace cxx17 static_assert (std::is_same_v); } -#endif // !defined(REALLY_CLANG) namespace test_inline_variables { @@ -975,6 +983,36 @@ namespace cxx17 } // namespace cxx17 -#endif // __cplusplus <= 201402L +#endif // __cplusplus < 201703L && !defined _MSC_VER + +]]) + + +dnl Tests for new features in C++20 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_20], [[ + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202002L && !defined _MSC_VER + +#error "This is not a C++20 compiler" + +#else + +#include + +namespace cxx20 +{ + +// As C++20 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx20 + +#endif // __cplusplus < 202002L && !defined _MSC_VER ]]) diff --git a/config/tests/arith.cc b/config/tests/arith.cc deleted file mode 100644 index d1949366..00000000 --- a/config/tests/arith.cc +++ /dev/null @@ -1,651 +0,0 @@ -/* - * - * Copyright (C) 2014-2021, OFFIS e.V. - * All rights reserved. See COPYRIGHT file for details. - * - * This software and supporting documentation were developed by - * - * OFFIS e.V. - * R&D Division Health - * Escherweg 2 - * D-26121 Oldenburg, Germany - * - * - * Module: config - * - * Author: Jan Schlamelcher - * - * Purpose: Query properties of fundamental arithmetic types - * for being used within oflimits.h. - */ - -// Note: This depends on some files of ofstd and osconfig.h, -// although it is part of configure testing itself. -// Therefore, ensure osconfig.h has already been generated -// before this program is used. -#include "../math.cc" - -#ifdef HAVE_FENV_H -// For controlling floating point exceptions on Unix like systems. -#include -#endif - -#ifdef HAVE_IEEEFP_H -// For controlling floating point exceptions on Unix like systems -// that don't have feenableexcept and fedisableexcept. -#include -#endif - -#if defined(__APPLE__) && !defined(__aarch64__) -// For controlling floating point exceptions on OS X. -#include -#endif - -#ifdef HAVE_SETJMP_H -// For setjmp for the SunPro compiler -#include -#endif - -#ifdef HAVE_SIGNAL_H -// For signal for the SunPro compiler -#include -#endif - -// hackish definition of cout, as we can't depend on -// OFConsole. -#define COUT STD_NAMESPACE cout - -// define sigjmp_buf if it isn't already -#ifndef HAVE_SIGJMP_BUF -typedef jmp_buf sigjmp_buf; -#endif - -// longjmp env (jump destination), ugly global var we -// need to recover from traps. -sigjmp_buf jbuf; - -// signal handler that "jumps back in time" to before -// the error occurred and fixes what has gone wrong -// in 1985. -static void capture( int sig ) -{ -#ifndef _WIN32 - // Unix like systems support this natively - siglongjmp( jbuf, sig ); -#else - // On Windows, we need to employ a workaround that - // only works for floating point exceptions! - _fpreset(); - longjmp( jbuf, sig ); -#endif -} - -static void register_signals() -{ - signal(SIGABRT, &capture); - signal(SIGFPE, &capture); - signal(SIGILL, &capture); - signal(SIGINT, &capture); - signal(SIGSEGV, &capture); - signal(SIGTERM, &capture); -} - -// print to "arith.h" -static void print_define( STD_NAMESPACE ostream& out, - const char* fname, const char* name ) -{ - out << "#define DCMTK_"; - // convert type name to uppercase and replace ' ' by underscore. - for( const char* pch = name; *pch; ++pch ) - out.put( *pch <= 'z' && *pch >= 'a' ? *pch - 'a' + 'A' : *pch == ' ' ? '_' : *pch ); - out << '_' << fname; -} - -// handles output to configure log and to "arith.h" -static int print_flag( STD_NAMESPACE ostream& out, int flag, - const char* fname, const char* name, - int width ) -{ - COUT << STD_NAMESPACE setw(width) << STD_NAMESPACE internal << ( flag ? "yes" : "no" ); - print_define( out, fname, name ); - out << " OF" << ( flag ? "True" : "False" ) << '\n'; - return flag; -} - -static const char all_one[8] = { '\377', '\377', '\377', '\377', '\377', '\377', '\377', '\377' }; - -template -static int test_modulo() -{ - // test if signed, otherwise it is modulo anyway - if( *OFreinterpret_cast( const T*, all_one ) > 0 ) - return 1; - const T max = *OFreinterpret_cast( const T*, all_one ) & ~(T(1) << (sizeof(T) * 8 - 1)); - const T min = T( max + 1 ); - return min < max && min < 0 && max > 0; -} - -template -static int test_trap( const FN& fn ) -{ - register_signals(); -#ifndef _WIN32 - // On Unix like systems, we use the - // longjmp-module specifically designed for - // signals. - if( sigsetjmp( jbuf, 1 ) ) -#else - // On Windows, we use the normal longjmp - // that destroys everything and try to fix - // what is left. - if( setjmp( jbuf ) ) -#endif - { - // if a jump occurred, this means fn() - // caused a trap. - return 1; - } -#ifdef _MSC_VER - // On Visual Studio, we use their built-in - // SEH things, they consider to be C++. - __try -#else - // The rest of the world hopefully only - // has normal exceptions. - try -#endif - { - // Call the function. Did it trap? - fn(); - } -#ifdef _MSC_VER - // On Windows, we return 3 if any SEH exception - // occurred. Shall we consider this a trap, - // although it was really an exception? - // I don't know, for now it's yes. - __except(1){return 3;} -#else - // The rest of the world returns 2, which - // means "normal exception". - catch(...){return 2;} -#endif - // Nothing happened, so we return 0, for - // "nothing happened". Note: since MinGW's - // crazy SEH things are crazy, MinGW will always - // execute what is written in the brackets following - // __except1, and NEVER see this return statement. - return 0; -} - -template -static void divide_by_zero() -{ - // Note: we can't just do 1 / 0, since - // some compilers might optimize that - // away or emit compile-time errors. - volatile T t0 = 1; - volatile T t1 = 0; -#ifndef DCMTK_UNDEF_SANITIZER - // disable this line when compiling with gcc -fsanitize=undefined - // by defining DCMTK_UNDEF_SANITIZER because otherwise this - // program will be aborted with a runtime error, thus preventing - // CMake from creating the makefiles / project files. - t0 /= t1; -#endif -} - -// gathers and prints information for integer types -template -static void inspect( STD_NAMESPACE ostream& out, const char* name ) -{ - COUT << "-- " << STD_NAMESPACE left << STD_NAMESPACE setw(14) << name; - print_flag( out, test_trap( ÷_by_zero ), "TRAPS", name, 7 ); - print_flag( out, test_modulo(), "MODULO", name, 7 ); - COUT << OFendl; -} - -// print a constant's binary representation as a string, so it can be loaded -// instead of being calculated when needed -template -static void print_binary( STD_NAMESPACE ostream& out, const char* pname, const char* name, const T& t ) -{ - print_define( out, pname, name ); - out << " *OFreinterpret_cast( const " << name << "*, \""; - for( unsigned ui = 0; ui < sizeof(T); ++ui ) - out << '\\' << STD_NAMESPACE oct << STD_NAMESPACE setw(3) << STD_NAMESPACE right << STD_NAMESPACE setfill( '0' ) - << unsigned(((unsigned char*)&t)[ui]) << STD_NAMESPACE dec; - out << "\" )\n"; -} - -// try to create an infinite value and use whatever means -// to detect if it really is infinite -template -static int test_inf( STD_NAMESPACE ostream& out, const char* name ) -{ - const T t( HUGE_VAL ); - const int has_inf = print_flag - ( - out, - dcmtk_config_math::isinf(t), - "HAS_INFINITY", - name, - 7 - ); - print_binary( out, "INFINITY", name, t ); - return has_inf; -} - -template -static T guess_qnan() -{ -#ifdef NAN - // use NAN if available - return T( NAN ); -#else - // else do a barrel roll - T t( 0.0 ); - return t / t; -#endif -} - -template -static int test_qnan( STD_NAMESPACE ostream& out, const char* name ) -{ - const T t = guess_qnan(); - const int has_qnan = print_flag - ( - out, - dcmtk_config_math::isnan( t ), - "HAS_QUIET_NAN", - name, - 7 - ); - print_binary( out, "QUIET_NAN", name, t ); - return has_qnan; -} - -template -struct guess; - -template<> -struct guess -{ - // There is no way to create a signaling NaN employing only arithmetic - // operations. So we assume we have IEC-559 floating point types - // and convert the quiet NaNs we created to signaling NaNs by flipping - // the bits that would need to be flipped if it really were IEC-559 floats. - static const float& snan() - { - static float f = guess_qnan(); - ((unsigned char*)&f)[2] &= 0xbf; - ((unsigned char*)&f)[0] |= 0x01; - return f; - } - - static float denorm_min() - { - return float( ldexp( 1.0f, FLT_MIN_EXP - FLT_MANT_DIG ) ); - } - - static float denorm_max() - { - return FLT_MIN / 2; - } - - static float epsilon() - { - return FLT_EPSILON; - } -}; - -template<> -struct guess -{ - // There is no way to create a signaling NaN employing only arithmetic - // operations. So we assume we have IEC-559 floating point types - // and convert the quiet NaNs we created to signaling NaNs by flipping - // the bits that would need to be flipped if it really were IEC-559 floats. - static const double& snan() - { - static double d = guess_qnan(); - ((unsigned char*)&d)[6] &= 0xf7; - ((unsigned char*)&d)[0] |= 0x01; - return d; - } - - static double denorm_min() - { - return double( ldexp( 1.0, DBL_MIN_EXP - DBL_MANT_DIG ) ); - } - - static double denorm_max() - { - return DBL_MIN / 2; - } - - static double epsilon() - { - return DBL_EPSILON; - } -}; - -template -static void provoke_snan() -{ - // Enable floating point exceptions, Windows and Unix version. -#ifdef HAVE_WINDOWS_H - _clearfp(); - _controlfp( _controlfp(0,0) & ~_EM_INVALID, _MCW_EM ); -#elif defined(__APPLE__) && !defined(__aarch64__) - _MM_SET_EXCEPTION_MASK( _MM_GET_EXCEPTION_MASK() & ~_MM_MASK_INVALID ); -#elif defined(HAVE_FENV_H) && defined(HAVE_PROTOTYPE_FEENABLEEXCEPT) - feenableexcept( FE_INVALID ); -#elif defined(HAVE_IEEEFP_H) && !defined(__CYGWIN__) - // Cygwin unfortunately seems to have but no implementation of fgetmask/fpsetmask -#ifdef HAVE_DECLARATION_FP_EXCEPT_T - fp_except_t cw = fpgetmask(); -#else - fp_except cw = fpgetmask(); -#endif - -#ifdef FP_X_DX - // on some systems, the devide-by-zero flag is called FP_X_DX - fpsetmask(cw | FP_X_INV | FP_X_DX | FP_X_OFL); -#else - fpsetmask(cw | FP_X_INV | FP_X_DZ | FP_X_OFL); -#endif -#endif - // Visual Studio will emit an exception the moment - // we assign a signaling NaN to another float variable - // and convert it to a quiet NaN. - volatile T t = guess::snan(); - // Other compilers will trigger only if we use arithmetics. -#ifndef DCMTK_UNDEF_SANITIZER - // disable this line when compiling with gcc -fsanitize=undefined - // by defining DCMTK_UNDEF_SANITIZER because otherwise this - // program will be aborted with a runtime error, thus preventing - // CMake from creating the makefiles / project files. - ++t; -#endif -} - -template -static int test_snan( STD_NAMESPACE ostream& out, const char* name ) -{ - // Create signaling NaNs and test if they really are signaling NaNs - const T& t = guess::snan(); - int flag = dcmtk_config_math::isnan( t ) && test_trap( &provoke_snan ); - // Disable floating point exceptions that have been enabled for the test, - // Windows and Unix version. -#ifdef HAVE_WINDOWS_H - _clearfp(); - _controlfp( _controlfp(0,0) | _EM_INVALID, _MCW_EM ); -#elif defined(HAVE_FENV_H) - feclearexcept( FE_INVALID ); -#if defined(__APPLE__) && !defined(__aarch64__) - _MM_SET_EXCEPTION_MASK( _MM_GET_EXCEPTION_MASK() | _MM_MASK_INVALID ); -#elif defined(HAVE_FENV_H) && defined(HAVE_PROTOTYPE_FEENABLEEXCEPT) - fedisableexcept( FE_INVALID ); -#elif defined(HAVE_IEEEFP_H) && !defined(__CYGWIN__) - // Cygwin unfortunately seems to have but no implementation of fgetmask/fpsetmask -#ifdef HAVE_DECLARATION_FP_EXCEPT_T - fp_except_t cw = fpgetmask(); -#else - fp_except cw = fpgetmask(); -#endif - -#ifdef FP_X_DX - // on some systems, the devide-by-zero flag is called FP_X_DX - fpsetmask(cw & ~(FP_X_INV | FP_X_DX | FP_X_OFL)); -#else - fpsetmask(cw & ~(FP_X_INV | FP_X_DZ | FP_X_OFL)); -#endif - -#endif -#endif - // Print and return the result - print_flag - ( - out, - flag, - "HAS_SIGNALING_NAN", - name, - 7 - ); - print_binary( out, "SIGNALING_NAN", name, t ); - return flag; -} - -template -static void test_iec559( STD_NAMESPACE ostream& out, const char* name, int reqs ) -{ - // Assume we have IEC-559 floats if the appropriate macro was defined, - // or if infinity and both kinds of NaNs are supported and the characteristics - // of double are what we expect them to be. - print_flag - ( - out, -#if defined(__STDC_IEC_559__) || (DBL_DIG == 15 && DBL_MANT_DIG == 53 && DBL_MAX_10_EXP == 308 && DBL_MAX_EXP == 1024 && DBL_MIN_10_EXP == -307 && DBL_MIN_EXP == -1021) - reqs, -#else - 0, -#endif - "IS_IEC559", - name, - 7 - ); -} - -static int is_subnormal( float f ) -{ -// Wine does not implement _fpclassf, so don't use it when cross compiling for Windows -// (Wine would emit an exception at runtime, so it's hard to test for _fpclassf availability) -#if defined(HAVE_PROTOTYPE__FPCLASSF) && !( defined(DCMTK_CROSS_COMPILING) && defined(_WIN32) ) - return ( _fpclassf( f ) & ( _FPCLASS_ND | _FPCLASS_PD ) ) != 0; -#else - return f != 0.0f && ( f < 0.0f ? -f < FLT_MIN : f < FLT_MIN ); -#endif -} - -static int is_subnormal( double d ) -{ -#ifdef _WIN32 - return ( _fpclass( d ) & ( _FPCLASS_ND | _FPCLASS_PD ) ) != 0; -#else - return d != 0.0 && ( d < 0.0 ? -d < DBL_MIN : d < DBL_MIN ); -#endif -} - -template -static void test_subnormal( STD_NAMESPACE ostream& out, const char* name ) -{ -#ifdef HAVE_WINDOWS_H - _clearfp(); - _controlfp( _EM_DENORMAL | _EM_UNDERFLOW | _EM_INEXACT, _MCW_EM ); -#endif - const T denorm = guess::denorm_min(); - const int flag = is_subnormal( denorm ); - COUT << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << ( flag ? "yes" : "no" ); - print_define( out, "HAS_DENORM", name ); - out << " OFdenorm_" << ( flag ? "pre" : "ab" ) << "sent\n"; - print_binary( out, "DENORM_MIN", name, denorm ); -} - -template -static void test_tinyness_before( STD_NAMESPACE ostream& out, const char* name ) -{ - volatile const T denorm_max = guess::denorm_max(); - volatile const T mult = T( 1.0 ) + guess::epsilon(); - -#ifdef HAVE_WINDOWS_H - _clearfp(); -#elif defined(HAVE_FENV_H) - feclearexcept( FE_ALL_EXCEPT ); -#endif - - volatile T result = denorm_max * mult; - (void)result; - - print_flag - ( - out, -#ifdef HAVE_WINDOWS_H - _statusfp() & _EM_UNDERFLOW, -#elif defined(HAVE_FENV_H) - fetestexcept( FE_UNDERFLOW ), -#else - 0, -#endif - "TINYNESS_BEFORE", - name, - 7 - ); -} - -template -static void test_denorm_loss( STD_NAMESPACE ostream& out, const char* name ) -{ - volatile T t = guess::denorm_min() * 3; - -#ifdef HAVE_WINDOWS_H - _clearfp(); -#elif defined(HAVE_FENV_H) - feclearexcept( FE_ALL_EXCEPT ); -#endif - - t /= 2; - - print_flag - ( - out, -#ifdef HAVE_WINDOWS_H - _statusfp() & _EM_UNDERFLOW, -#elif defined(HAVE_FENV_H) - fetestexcept( FE_UNDERFLOW ), -#else - 0, -#endif - "HAS_DENORM_LOSS", - name, - 7 - ); -} - -#ifdef HAVE_WINDOWS_H -// MinGW's crazy SEH stuff doesn't work on all MinGW "distributions" -// This is an even more ugly fallback implementation that seems to -// work for now -LONG WINAPI consume_seh_problems( struct _EXCEPTION_POINTERS* ) -{ - _fpreset(); - _clearfp(); - longjmp( jbuf, 0 ); - return EXCEPTION_CONTINUE_SEARCH; -} -#endif - -int main( int argc, char** argv ) -{ -#ifdef HAVE_WINDOWS_H - // Activate the fallback workaround, it will only be used - // if the SEH exceptions can't be caught "the right way" - SetErrorMode( SEM_FAILCRITICALERRORS ); - SetUnhandledExceptionFilter( consume_seh_problems ); -#endif - - COUT << "Inspecting fundamental arithmetic types... " << OFendl; - if( argc != 2 ) - { - STD_NAMESPACE cerr << "-- " << "Error: missing destination file " - << "to store collected information." << OFendl; - return 1; - } - - STD_NAMESPACE ofstream out( argv[1] ); - - out << "#ifndef CONFIG_ARITH_H" << '\n'; - out << "#define CONFIG_ARITH_H" << '\n'; - out << '\n'; - - // workaround to let digits10 be a compile time constant - out << "#define DCMTK_SIGNED_CHAR_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT - 1 ) * .30102999566398119521373889472449 ) << OFendl; - out << "#define DCMTK_UNSIGNED_CHAR_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * .30102999566398119521373889472449 ) << OFendl; - out << "#define DCMTK_SIGNED_SHORT_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT * sizeof( signed short ) - 1 ) * .30102999566398119521373889472449 ) << OFendl; - out << "#define DCMTK_UNSIGNED_SHORT_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * sizeof( unsigned short ) * .30102999566398119521373889472449 ) << OFendl; - out << "#define DCMTK_SIGNED_INT_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT * sizeof( signed int ) - 1 ) * .30102999566398119521373889472449 ) << OFendl; - out << "#define DCMTK_UNSIGNED_INT_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * sizeof( unsigned int ) * .30102999566398119521373889472449 ) << OFendl; - out << "#define DCMTK_SIGNED_LONG_DIGITS10 " << OFstatic_cast( int, ( CHAR_BIT * sizeof( signed long ) - 1 ) * .30102999566398119521373889472449 ) << OFendl; - out << "#define DCMTK_UNSIGNED_LONG_DIGITS10 " << OFstatic_cast( int, CHAR_BIT * sizeof( unsigned long ) * .30102999566398119521373889472449 ) << OFendl; - out << "#define DCMTK_FLOAT_MAX_DIGITS10 " << OFstatic_cast( int, FLT_MANT_DIG * .30102999566398119521373889472449 + 2 ) << OFendl; - out << "#define DCMTK_DOUBLE_MAX_DIGITS10 " << OFstatic_cast( int, DBL_MANT_DIG * .30102999566398119521373889472449 + 2 ) << OFendl; - - COUT << "--" << OFendl; - - COUT << "-- " << STD_NAMESPACE setfill( ' ' ) << STD_NAMESPACE setw(17) << ' ' - << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "TRAPS" - << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "MODULO" << OFendl; - - inspect( out, "char" ); - inspect( out, "signed char" ); - inspect( out, "unsigned char" ); - inspect( out, "signed short" ); - inspect( out, "unsigned short" ); - inspect( out, "signed int" ); - inspect( out, "unsigned int" ); - inspect( out, "signed long" ); - inspect( out, "unsigned long" ); - - COUT << "--" << OFendl; - - COUT << "-- " << STD_NAMESPACE setfill( ' ' ) << STD_NAMESPACE setw(18) << ' ' - << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "float" - << STD_NAMESPACE setw(7) << STD_NAMESPACE internal << "double" << OFendl; - - COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- TRAPS"; - print_flag( out, test_trap( ÷_by_zero ), "TRAPS", "float", 7 ); - print_flag( out, test_trap( ÷_by_zero ), "TRAPS", "double", 7 ); - COUT << OFendl; - - COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- HAS INFINITY"; - const int finf = test_inf( out, "float" ); - const int dinf = test_inf( out, "double" ); - COUT << OFendl; - - COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- QUIET NAN"; - const int fqnan = test_qnan( out, "float" ); - const int dqnan = test_qnan( out, "double" ); - COUT << OFendl; - - COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- SIGNALING NAN"; - const int fsnan = test_snan( out, "float" ); - const int dsnan = test_snan( out, "double" ); - COUT << OFendl; - - COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- IEC-559"; - test_iec559( out, "float", finf && fqnan && fsnan ); - test_iec559( out, "double", dinf && dqnan && dsnan ); - COUT << OFendl; - - COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- HAS DENORM"; - test_subnormal( out, "float" ); - test_subnormal( out, "double" ); - COUT << OFendl; - - COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- TINYNESS BEFORE"; - test_tinyness_before( out, "float" ); - test_tinyness_before( out, "double" ); - COUT << OFendl; - - COUT << STD_NAMESPACE setw(20) << STD_NAMESPACE left << "-- DENORM LOSS"; - test_denorm_loss( out, "float" ); - test_denorm_loss( out, "double" ); - COUT << OFendl; - - COUT << "--"; - - out << "#define DCMTK_ROUND_STYLE " << FLT_ROUNDS << '\n'; - out << '\n'; - out << "#endif // CONFIG_ARITH_H" << '\n'; - - return 0; -} diff --git a/config/tests/cxx20.cc b/config/tests/cxx20.cc new file mode 100644 index 00000000..120e9fdd --- /dev/null +++ b/config/tests/cxx20.cc @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2024, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: config + * + * Author: Marco Eichelberg + * + * Purpose: Presents constructs that every C++20 compliant + * compiler should be able to compile. + * + * + * This file is based on ax_cxx_compile_stdcxx from the GNU Autoconf project. + * The original license is as follows: + * + * LICENSE + * + * Copyright (c) 2008 Benjamin Kosnik + * Copyright (c) 2012 Zack Weinberg + * Copyright (c) 2013 Roy Stogner + * Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov + * Copyright (c) 2015 Paul Norman + * Copyright (c) 2015 Moritz Klammler + * Copyright (c) 2016 Krzesimir Nowak + * Copyright (c) 2019 Enji Cooper + * Copyright (c) 2020 Jason Merrill + * Copyright (c) 2021 Joern Heusipp + * + * Copying and distribution of this file, with or without modification, are + * permitted in any medium without royalty provided the copyright notice + * and this notice are preserved. This file is offered as-is, without any + * warranty. + */ + +// If the compiler admits that it is not ready for C++20, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202002L + +#error "This is not a C++20 compiler" + +#else + +int main() +{ + return 0; +} + +namespace cxx20 +{ + +// As C++20 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx20 + +#endif // __cplusplus <= 202002L diff --git a/dcmapps/CMakeLists.txt b/dcmapps/CMakeLists.txt new file mode 100644 index 00000000..ee0a7d4b --- /dev/null +++ b/dcmapps/CMakeLists.txt @@ -0,0 +1,34 @@ +# declare project +project(dcmapps) + +# in dcmapps, we permit dependencies on all modules +include_directories( + "${dcmdata_SOURCE_DIR}/include" + "${dcmect_SOURCE_DIR}/include" + "${dcmfg_SOURCE_DIR}/include" + "${dcmimage_SOURCE_DIR}/include" + "${dcmimgle_SOURCE_DIR}/include" + "${dcmiod_SOURCE_DIR}/include" + "${dcmjpeg_SOURCE_DIR}/include" + "${dcmjpls_SOURCE_DIR}/include" + "${dcmnet_SOURCE_DIR}/include" + "${dcmpmap_SOURCE_DIR}/include" + "${dcmpstat_SOURCE_DIR}/include" + "${dcmqrdb_SOURCE_DIR}/include" + "${dcmrt_SOURCE_DIR}/include" + "${dcmseg_SOURCE_DIR}/include" + "${dcmsign_SOURCE_DIR}/include" + "${dcmsr_SOURCE_DIR}/include" + "${dcmtls_SOURCE_DIR}/include" + "${dcmtract_SOURCE_DIR}/include" + "${dcmwlm_SOURCE_DIR}/include" + "${oficonv_SOURCE_DIR}/include" + "${oflog_SOURCE_DIR}/include" + "${ofstd_SOURCE_DIR}/include" + + ${ZLIB_INCDIR} ${OPENSSL_INCDIR}) + +# recurse into subdirectories +foreach(SUBDIR apps) + add_subdirectory(${SUBDIR}) +endforeach() diff --git a/dcmapps/Makefile.in b/dcmapps/Makefile.in new file mode 100644 index 00000000..9bc3a4f6 --- /dev/null +++ b/dcmapps/Makefile.in @@ -0,0 +1,76 @@ +# +# Makefile for dcmapps +# + +@SET_MAKE@ + +SHELL = /bin/sh +VPATH = @srcdir@:@top_srcdir@/include:@top_srcdir@/@configdir@/include +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +configdir = @top_srcdir@/@configdir@ + +include $(configdir)/@common_makefile@ + + +all: include-all libsrc-all apps-all tests-all + +install: install-bin install-doc install-support + +install-bin: apps-install + +install-doc: docs-install + +install-data: data-install + +install-etc: etc-install + +install-include: include-install + +install-lib: libsrc-install install-include + +install-support: install-data install-etc + +include-all: + (cd include && $(MAKE) ARCH="$(ARCH)" all) + +libsrc-all: include-all + +apps-all: libsrc-all + (cd apps && $(MAKE) ARCH="$(ARCH)" all) + +tests-all: libsrc-all + +check: tests-all + +check-exhaustive: tests-all + +include-install: + (cd include && $(MAKE) ARCH="$(ARCH)" install) + +libsrc-install: libsrc-all + +apps-install: apps-all + (cd apps && $(MAKE) ARCH="$(ARCH)" install) + +docs-install: + (cd docs && $(MAKE) install) + +data-install: + +etc-install: + +clean: + (cd include && $(MAKE) clean) + (cd apps && $(MAKE) clean) + (cd docs && $(MAKE) clean) + rm -f $(TRASH) + +distclean: + (cd include && $(MAKE) distclean) + (cd apps && $(MAKE) distclean) + (cd docs && $(MAKE) distclean) + rm -f $(DISTTRASH) + +dependencies: + (cd apps && touch $(DEP) && $(MAKE) dependencies) diff --git a/dcmapps/apps/CMakeLists.txt b/dcmapps/apps/CMakeLists.txt new file mode 100644 index 00000000..88b1ee33 --- /dev/null +++ b/dcmapps/apps/CMakeLists.txt @@ -0,0 +1,7 @@ +# declare executables +foreach(PROGRAM dcm2img) + DCMTK_ADD_EXECUTABLE(${PROGRAM} ${PROGRAM}.cc) +endforeach() + +# make sure executables are linked to the corresponding libraries +DCMTK_TARGET_LINK_MODULES(dcm2img dcmjpeg dcmjpls dcmimage dcmimgle dcmdata oflog oficonv ofstd) diff --git a/dcmapps/apps/Makefile.dep b/dcmapps/apps/Makefile.dep new file mode 100644 index 00000000..8cbb8e2b --- /dev/null +++ b/dcmapps/apps/Makefile.dep @@ -0,0 +1,161 @@ +dcm2img.o: dcm2img.cc ../include/dcmtk/dcmapps/dcm2img.h \ + ../../config/include/dcmtk/config/osconfig.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcrledrg.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ + ../../dcmimage/include/dcmtk/dcmimage/diregist.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diregbas.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ + ../../dcmimage/include/dcmtk/dcmimage/dicdefin.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/dimoimg.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfcache.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diovlay.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diobjcou.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diovdat.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diovpln.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/dimopx.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/dipixel.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/dimomod.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diluptab.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/dibaslut.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/dimoopx.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/didispfn.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diciefn.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/dicielut.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/didislut.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/digsdfn.h \ + ../../dcmjpeg/include/dcmtk/dcmjpeg/dipijpeg.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diplugin.h \ + ../../dcmjpeg/include/dcmtk/dcmjpeg/djutils.h \ + ../../dcmjpeg/include/dcmtk/dcmjpeg/djdefine.h \ + ../../dcmjpeg/include/dcmtk/dcmjpeg/djdecode.h \ + ../../dcmjpls/include/dcmtk/dcmjpls/dipijpls.h \ + ../../dcmjpls/include/dcmtk/dcmjpls/dldefine.h \ + ../../dcmjpls/include/dcmtk/dcmjpls/djdecode.h \ + ../../dcmjpls/include/dcmtk/dcmjpls/djlsutil.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmimage/include/dcmtk/dcmimage/dipitiff.h \ + ../../dcmimage/include/dcmtk/dcmimage/dipipng.h diff --git a/dcmapps/apps/Makefile.in b/dcmapps/apps/Makefile.in new file mode 100644 index 00000000..8d193f57 --- /dev/null +++ b/dcmapps/apps/Makefile.in @@ -0,0 +1,132 @@ +# +# Makefile for dcmapps/apps +# + +@SET_MAKE@ + +SHELL = /bin/sh +VPATH = @srcdir@:@top_srcdir@/include:@top_srcdir@/@configdir@/include +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +configdir = @top_srcdir@/@configdir@ + +include $(configdir)/@common_makefile@ + +oficonvdir = $(top_srcdir)/../oficonv +oficonvinc = -I$(oficonvdir)/include +oficonvlibdir = -L$(oficonvdir)/libsrc +oficonvlib = -loficonv + +ofstddir = $(top_srcdir)/../ofstd +ofstdinc = -I$(ofstddir)/include +ofstdlibdir = -L$(ofstddir)/libsrc +ofstdlib = -lofstd + +oflogdir = $(top_srcdir)/../oflog +ofloginc = -I$(oflogdir)/include +ofloglibdir = -L$(oflogdir)/libsrc +ofloglib = -loflog + +dcmdatadir = $(top_srcdir)/../dcmdata +dcmdatainc = -I$(dcmdatadir)/include +dcmdatalibdir = -L$(dcmdatadir)/libsrc +dcmdatalib = -ldcmdata + +dcmioddir = $(top_srcdir)/../dcmiod +dcmiodinc = -I$(dcmioddir)/include +dcmiodlibdir = -L$(dcmioddir)/libsrc +dcmiodlib = -ldcmiod + +dcmnetdir = $(top_srcdir)/../dcmnet +dcmnetinc = -I$(dcmnetdir)/include +dcmnetlibdir = -L$(dcmnetdir)/libsrc +dcmnetlib = -ldcmnet + +dcmimgledir = $(top_srcdir)/../dcmimgle +dcmimgleinc = -I$(dcmimgledir)/include +dcmimglelibdir = -L$(dcmimgledir)/libsrc +dcmimglelib = -ldcmimgle + +dcmimagedir = $(top_srcdir)/../dcmimage +dcmimageinc = -I$(dcmimagedir)/include +dcmimagelibdir = -L$(dcmimagedir)/libsrc +dcmimagelib = -ldcmimage + +dcmpstatdir = $(top_srcdir)/../dcmpstat +dcmpstatinc = -I$(dcmpstatdir)/include +dcmpstatlibdir = -L$(dcmpstatdir)/libsrc +dcmpstatlib = -ldcmpstat + +dcmqrdbdir = $(top_srcdir)/../dcmqrdb +dcmqrdbinc = -I$(dcmqrdbdir)/include +dcmqrdblibdir = -L$(dcmqrdbdir)/libsrc +dcmqrdblib = -ldcmqrdb + +dcmtlsdir = $(top_srcdir)/../dcmtls +dcmtlsinc = -I$(dcmtlsdir)/include +dcmtlslibdir = -L$(dcmtlsdir)/libsrc +dcmtlslib = -ldcmtls + +dcmsigndir = $(top_srcdir)/../dcmsign +dcmsigninc = -I$(dcmsigndir)/include +dcmsignlibdir = -L$(dcmsigndir)/libsrc +dcmsignlib = -ldcmdsig + +dcmsrdir = $(top_srcdir)/../dcmsr +dcmsrinc = -I$(dcmsrdir)/include +dcmsrlibdir = -L$(dcmsrdir)/libsrc +dcmsrlib = -ldcmsr + +dcmjpegdir = $(top_srcdir)/../dcmjpeg +dcmjpeginc = -I$(dcmjpegdir)/include +dcmjpeglibdir = -L$(dcmjpegdir)/libsrc -L$(dcmjpegdir)/libijg8 -L$(dcmjpegdir)/libijg12 -L$(dcmjpegdir)/libijg16 +dcmjpeglib = -ldcmjpeg -lijg8 -lijg12 -lijg16 + +dcmjplsdir = $(top_srcdir)/../dcmjpls +dcmjplsinc = -I$(dcmjplsdir)/include +dcmjplslibdir = -L$(dcmjplsdir)/libsrc +dcmjplslib = -ldcmjpls + +libcharlsdir = $(dcmjplsdir) +libcharlslibdir = -L$(dcmjplsdir)/libcharls +libcharlslib = -ldcmtkcharls + +LOCALINCLUDES = $(dcmpstatinc) $(ofstdinc) $(ofloginc) $(dcmnetinc) $(dcmdatainc) \ + $(dcmiodinc) $(dcmimgleinc) $(dcmimageinc) $(dcmqrdbinc) $(dcmtlsinc) \ + $(dcmsigninc) $(dcmsrinc) $(dcmjpeginc) $(dcmjplsinc) + +LIBDIRS = -L$(top_srcdir)/libsrc $(dcmpstatlibdir) $(dcmqrdblibdir) $(dcmnetlibdir) \ + $(dcmtlslibdir) $(dcmsignlibdir) $(dcmsrlibdir) $(dcmdatalibdir) \ + $(ofstdlibdir) $(ofloglibdir) $(dcmiodlibdir) $(dcmimglelibdir) \ + $(dcmimagelibdir) $(oficonvlibdir) $(dcmjpeglibdir) $(dcmjplslibdir) \ + $(libcharlslibdir) + +DCM2IMG_LIBS = $(dcmjpeglib) $(dcmjplslib) $(libcharlslib) $(dcmimagelib) \ + $(dcmimglelib) $(dcmdatalib) $(ofloglib) $(ofstdlib) $(oficonvlib) \ + $(TIFFLIBS) $(PNGLIBS) $(XMLLIBS) $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS) + +objs = dcm2img.o +progs = dcm2img + +all: $(progs) + +dcm2img: dcm2img.o + $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcm2img.o $(DCM2IMG_LIBS) $(LIBS) + +install: all + $(configdir)/mkinstalldirs $(DESTDIR)$(bindir) + for prog in $(progs); do \ + $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\ + done + +clean: + rm -f $(objs) $(progs) $(TRASH) + +distclean: + rm -f $(objs) $(progs) $(DISTTRASH) + + +dependencies: + $(CXX) -MM $(defines) $(includes) $(CPPFLAGS) $(CXXFLAGS) *.cc > $(DEP) + +include $(DEP) diff --git a/dcmapps/apps/dcm2img.cc b/dcmapps/apps/dcm2img.cc new file mode 100644 index 00000000..786d2b00 --- /dev/null +++ b/dcmapps/apps/dcm2img.cc @@ -0,0 +1,23 @@ +/* + * + * Copyright (C) 1996-2024, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmapps + * + * Authors: Marco Eichelberg, Joerg Riesmeier + * + * Purpose: Convert DICOM image to standard image format + * + */ + +// include full implementation of "dcm2img" +#include "dcmtk/dcmapps/dcm2img.h" diff --git a/dcmapps/configure b/dcmapps/configure new file mode 100755 index 00000000..396668ee --- /dev/null +++ b/dcmapps/configure @@ -0,0 +1,56 @@ +#! /bin/sh + +parentdir=`pwd` +thisdir=$parentdir + +# The following test constructs relative path from the module +# directory to the configuration directory. If you know this path +# you can substitute this with +# configdir= +# It is very important that the configdir path is relative. + +configdir="configdir" + +while test "$parentdir" != "/" -a "$configdir" = "configdir"; do + if test -d "$parentdir/config" ; then + configdir=$parentdir/config + else + parentdir=`echo $parentdir | sed 's/\/[^\/]*$//'` + fi +done + +if test "$configdir" = "configdir" ; then + echo "Cannot find configure directory" + exit 1 +fi + +if test $# != 0; then + case $1 in + -a) + shift + cd "$configdir" + echo "running configure in config-directory" + ./configure $* + cd $thisdir + echo "running configure for this module" + sh "$configdir/confmod" --srcdir=. $* + ;; + -c) + shift + cd "$configdir" + echo "running configure in config-directory" + ./configure $* + ;; + *) + echo "running configure for this module" + sh "$configdir/confmod" --srcdir=. $* + ;; + esac +else + echo "running configure for this module" + sh "$configdir/confmod" --srcdir=. $* +fi + + + + diff --git a/dcmapps/docs/Makefile.in b/dcmapps/docs/Makefile.in new file mode 100644 index 00000000..b4a1380f --- /dev/null +++ b/dcmapps/docs/Makefile.in @@ -0,0 +1,23 @@ +# +# Makefile for dcmapps/docs +# + +@SET_MAKE@ + +SHELL = /bin/sh +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +configdir = @top_srcdir@/@configdir@ + +include $(configdir)/@common_makefile@ + + +all: + +install: + +clean: + rm -f $(TRASH) + +distclean: + rm -f $(DISTTRASH) diff --git a/dcmapps/docs/dcm2img.man b/dcmapps/docs/dcm2img.man new file mode 100644 index 00000000..aee64c3c --- /dev/null +++ b/dcmapps/docs/dcm2img.man @@ -0,0 +1,603 @@ +/*! + +\if MANPAGES +\page dcm2img Convert DICOM image to standard image format +\else +\page dcm2img dcm2img: Convert DICOM image to standard image format +\endif + +\section dcm2img_synopsis SYNOPSIS + +\verbatim +dcm2img [options] dcmfile-in [bitmap-out] +\endverbatim + +\section dcm2img_description DESCRIPTION + +The \b dcm2img utility reads a DICOM image, converts the pixel data according +to the selected image processing options and writes back an image in one the +following general purpose image formats: BMP, PGM/PPM, PNG, TIFF, JPEG, or +JPEG-LS. This utility supports uncompressed as well as JPEG, JPEG-LS and RLE +compressed DICOM images. + +\section dcm2img_parameters PARAMETERS + +\verbatim +dcmfile-in DICOM input filename to be converted ("-" for stdin) + +bitmap-out output filename to be written (default: stdout) +\endverbatim + +\section dcm2img_options OPTIONS + +\subsection dcm2img_general_options general options +\verbatim + -h --help + print this help text and exit + + --version + print version information and exit + + --arguments + print expanded command line arguments + + -q --quiet + quiet mode, print no warnings and errors + + -v --verbose + verbose mode, print processing details + + -d --debug + debug mode, print debug information + + -ll --log-level [l]evel: string constant + (fatal, error, warn, info, debug, trace) + use level l for the logger + + -lc --log-config [f]ilename: string + use config file f for the logger +\endverbatim + +\subsection dcm2img_input_options input options +\verbatim +input file format: + + +f --read-file + read file format or data set (default) + + +fo --read-file-only + read file format only + + -f --read-dataset + read data set without file meta information + +input transfer syntax: + + -t= --read-xfer-auto + use TS recognition (default) + + -td --read-xfer-detect + ignore TS specified in the file meta header + + -te --read-xfer-little + read with explicit VR little endian TS + + -tb --read-xfer-big + read with explicit VR big endian TS + + -ti --read-xfer-implicit + read with implicit VR little endian TS +\endverbatim + +\subsection dcm2img_image_processing_options image processing options +\verbatim +frame selection: + + +F --frame [n]umber: integer + select specified frame (default: 1) + + +Fr --frame-range [n]umber [c]ount: integer + select c frames beginning with frame n + + +Fa --all-frames + select all frames + +rotation: + + +Rl --rotate-left + rotate image left (-90 degrees) + + +Rr --rotate-right + rotate image right (+90 degrees) + + +Rtd --rotate-top-down + rotate image top-down (180 degrees) + +flipping: + + +Lh --flip-horizontally + flip image horizontally + + +Lv --flip-vertically + flip image vertically + + +Lhv --flip-both-axes + flip image horizontally and vertically + +scaling: + + +a --recognize-aspect + recognize pixel aspect ratio when scaling (default) + + -a --ignore-aspect + ignore pixel aspect ratio when scaling + + +i --interpolate [n]umber of algorithm: integer + use interpolation when scaling (1..4, default: 1) + + -i --no-interpolation + no interpolation when scaling + + -S --no-scaling + no scaling, ignore pixel aspect ratio (default) + + +Sxf --scale-x-factor [f]actor: float + scale x axis by factor, auto-compute y axis + + +Syf --scale-y-factor [f]actor: float + scale y axis by factor, auto-compute x axis + + +Sxv --scale-x-size [n]umber: integer + scale x axis to n pixels, auto-compute y axis + + +Syv --scale-y-size [n]umber: integer + scale y axis to n pixels, auto-compute x axis + +color space conversion (JPEG compressed images only): + + +cp --conv-photometric + convert if YCbCr photometric interpretation (default) + + +cl --conv-lossy + convert YCbCr to RGB if lossy JPEG + + +cg --conv-guess + convert to RGB if YCbCr is guessed by library + + +cgl --conv-guess-lossy + convert to RGB if lossy JPEG and YCbCr is + guessed by the underlying JPEG library + + +ca --conv-always + always convert YCbCr to RGB + + +cn --conv-never + never convert color space + +workaround options for incorrect encodings (JPEG compressed images only): + + +w6 --workaround-pred6 + enable workaround for JPEG lossless images + with overflow in predictor 6 + + # DICOM images with 16 bits/pixel have been observed "in the wild" + # that are compressed with lossless JPEG and need special handling + # because the encoder produced an 16-bit integer overflow in predictor + # 6, which needs to be compensated (reproduced) during decompression. + # This flag enables a correct decompression of such faulty images, but + # at the same time will cause an incorrect decompression of correctly + # compressed images. Use with care. + + +wi --workaround-incpl + enable workaround for incomplete JPEG data + + # This option causes dcm2img to ignore incomplete JPEG data + # at the end of a compressed fragment and to start decompressing + # the next frame from the next fragment (if any). This permits + # images with incomplete JPEG data to be decoded. + + +wc --workaround-cornell + enable workaround for 16-bit JPEG lossless + Cornell images with Huffman table overflow + + # One of the first open-source implementations of lossless JPEG + # compression, the "Cornell" library, has a well-known bug that leads + # to invalid values in the Huffmann table when images with 16 bit/sample + # are compressed. This flag enables a workaround that permits such + # images to be decoded correctly. + +modality LUT transformation: + + -M --no-modality + ignore stored modality LUT transformation + + +M --use-modality + use modality LUT transformation (default) + +VOI LUT transformation: + + -W --no-windowing + no VOI windowing (default) + + +Wi --use-window [n]umber: integer + use the n-th VOI window from image file + + +Wl --use-voi-lut [n]umber: integer + use the n-th VOI look up table from image file + + +Wm --min-max-window + compute VOI window using min-max algorithm + + +Wn --min-max-window-n + compute VOI window using min-max algorithm, + ignoring extreme values + + +Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer + compute ROI window using min-max algorithm, + region of interest is specified by l,t,w,h + + +Wh --histogram-window [n]umber: integer + compute VOI window using Histogram algorithm, + ignoring n percent + + +Ww --set-window [c]enter [w]idth: float + compute VOI window using center c and width w + + +Wfl --linear-function + set VOI LUT function to LINEAR + + +Wfs --sigmoid-function + set VOI LUT function to SIGMOID + +presentation LUT transformation: + + +Pid --identity-shape + set presentation LUT shape to IDENTITY + + +Piv --inverse-shape + set presentation LUT shape to INVERSE + + +Pod --lin-od-shape + set presentation LUT shape to LIN OD + +overlay: + + -O --no-overlays + do not display overlays + + +O --display-overlay [n]umber: integer + display overlay n (0..16, 0=all, default: +O 0) + + +Omr --ovl-replace + use overlay mode "Replace" + (default for Graphic overlays) + + +Omt --ovl-threshold + use overlay mode "Threshold Replace" + + +Omc --ovl-complement + use overlay mode "Complement" + + +Omv --ovl-invert + use overlay mode "Invert Bitmap" + + +Omi --ovl-roi + use overlay mode "Region of Interest" + (default for ROI overlays) + + +Osf --set-foreground [d]ensity: float + set overlay foreground density (0..1, default: 1) + + +Ost --set-threshold [d]ensity: float + set overlay threshold density (0..1, default: 0.5) + +display LUT transformation: + + +Dm --monitor-file [f]ilename: string + calibrate output according to monitor characteristics + defined in f + + +Dp --printer-file [f]ilename: string + calibrate output according to printer characteristics + defined in f + + +Da --ambient-light [a]mbient light: float + ambient light value (cd/m^2, default: file f) + + +Di --illumination [i]llumination: float + illumination value (cd/m^2, default: file f) + + +Dn --min-density [m]inimum optical density: float + Dmin value (default: off, only with +Dp) + + +Dx --max-density [m]aximum optical density: float + Dmax value (default: off, only with +Dp) + + +Dg --gsd-function + use GSDF for calibration (default for +Dm/+Dp) + + +Dc --cielab-function + use CIELAB function for calibration + +compatibility: + + +Ma --accept-acr-nema + accept ACR-NEMA images without photometric + interpretation + + +Mp --accept-palettes + accept incorrect palette attribute tags + (0028,111x) and (0028,121x) + + +Mc --check-lut-depth + check 3rd value of the LUT descriptor, compare + with expected bit depth based on LUT data + + +Mm --ignore-mlut-depth + ignore 3rd value of the modality LUT descriptor, + determine bits per table entry automatically + + +Mv --ignore-vlut-depth + ignore 3rd value of the VOI LUT descriptor, + determine bits per table entry automatically + +TIFF format: + + +Tl --compr-lzw + LZW compression (default) + + +Tr --compr-rle + RLE compression + + +Tn --compr-none + uncompressed + + +Pd --predictor-default + no LZW predictor (default) + + +Pn --predictor-none + LZW predictor 1 (no prediction) + + +Ph --predictor-horz + LZW predictor 2 (horizontal differencing) + + +Rs --rows-per-strip [r]ows: integer (default: 0) + rows per strip, default 8K per strip + +PNG format: + + +il --interlace + create interlaced file (default) + + -il --nointerlace + create non-interlaced file + + +mf --meta-file + create PNG file meta information (default) + + -mf --meta-none + no PNG file meta information + +JPEG format: + + +Jq --compr-quality [q]uality: integer (0..100, default: 90) + quality value for compression (in percent) + + +Js4 --sample-444 + 4:4:4 sampling (no subsampling) + + +Js2 --sample-422 + 4:2:2 subsampling (horizontal subsampling of + chroma components, default) + + +Js1 --sample-411 + 4:1:1 subsampling (horizontal and vertical + subsampling of chroma components) + +JPEG-LS format: + + +Trl --rendered-lossless + lossless compression of rendered image (default) + + +Tll --true-lossless + lossless compression of raw image + + +f8 --force-8-bit + force output bit depth to 8 bits + (not with --true-lossless) + +other transformations: + + +G --grayscale + convert color image to grayscale (monochrome) + + +P --change-polarity + change polarity (invert pixel output) + + +C --clip-region [l]eft [t]op [w]idth [h]eight: integer + clip image region (l, t, w, h) +\endverbatim + +\subsection dcm2img_output_options output options +\verbatim +general: + + -im --image-info + print image details (requires verbose mode) + + -o --no-output + do not create any output (useful with -im) + +filename generation (only with --frame-range or --all-frames): + + +Fc --use-frame-counter + use 0-based counter for filenames (default) + + +Fn --use-frame-number + use absolute frame number for filenames + +image format: + + +oa --write-auto + determine file format from filename extension + (default for files) + + # If the output filename contains no extension or an + # unknown/unsupported one, a warning is printed and a BMP file + # is written (see --write-bmp). + + +op --write-raw-pnm + write 8-bit binary PGM/PPM + + +opb --write-8-bit-pnm + write 8-bit ASCII PGM/PPM (default for stdout) + + +opw --write-16-bit-pnm + write 16-bit ASCII PGM/PPM + + +opn --write-n-bit-pnm [n]umber: integer + write n-bit ASCII PGM/PPM (1..32) + + +ob --write-bmp + write 8-bit (monochrome) or 24-bit (color) BMP + + +obp --write-8-bit-bmp + write 8-bit palette BMP (monochrome only) + + +obt --write-24-bit-bmp + write 24-bit truecolor BMP + + +obr --write-32-bit-bmp + write 32-bit truecolor BMP + + +ot --write-tiff + write 8-bit (monochrome) or 24-bit (color) TIFF + + +on --write-png + write 8-bit (monochrome) or 24-bit (color) PNG + + +on2 --write-16-bit-png + write 16-bit (monochrome) or 48-bit (color) PNG + + +oj --write-jpeg + write 8-bit lossy JPEG (baseline) + + +ol --write-jpls + write JPEG-LS +\endverbatim + +\section dcm2img_notes NOTES + +The following preferred interpolation algorithms can be selected using the +\e --interpolate option: + +- 1 = free scaling algorithm with interpolation from pbmplus toolkit +- 2 = free scaling algorithm with interpolation from c't magazine +- 3 = magnification algorithm with bilinear interpolation from Eduard Stanescu +- 4 = magnification algorithm with bicubic interpolation from Eduard Stanescu + +The \e --write-tiff option is only available when DCMTK has been configured +and compiled with support for the external \b libtiff TIFF library. The +availability of the TIFF compression options depends on the \b libtiff +configuration. + +The \e --write-png option is only available when DCMTK has been configured +and compiled with support for the external \b libpng PNG library. Option +\e --interlace enables progressive image view while loading the PNG file. +Only a few applications take care of the meta info (TEXT) in a PNG file. + +\section dcm2img_transfer_syntaxes TRANSFER SYNTAXES + +\b dcm2img supports the following transfer syntaxes for input (\e dcmfile-in): + +\verbatim +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 +JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80 +JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81 +JPEGProcess10_12TransferSyntax 1.2.840.10008.1.2.4.55 +JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70 +JPEGProcess14TransferSyntax 1.2.840.10008.1.2.4.57 +JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 +JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 +JPEGProcess6_8TransferSyntax 1.2.840.10008.1.2.4.53 +RLELosslessTransferSyntax 1.2.840.10008.1.2.5 +\endverbatim + +(*) if compiled with zlib support enabled + +\section dcm2img_logging LOGGING + +The level of logging output of the various command line tools and underlying +libraries can be specified by the user. By default, only errors and warnings +are written to the standard error stream. Using option \e --verbose also +informational messages like processing details are reported. Option +\e --debug can be used to get more details on the internal activity, e.g. for +debugging purposes. Other logging levels can be selected using option +\e --log-level. In \e --quiet mode only fatal errors are reported. In such +very severe error events, the application will usually terminate. For more +details on the different logging levels, see documentation of module "oflog". + +In case the logging output should be written to file (optionally with logfile +rotation), to syslog (Unix) or the event log (Windows) option \e --log-config +can be used. This configuration file also allows for directing only certain +messages to a particular output stream and for filtering certain messages +based on the module or application where they are generated. An example +configuration file is provided in \/logger.cfg. + +\section dcm2img_command_line COMMAND LINE + +All command line tools use the following notation for parameters: square +brackets enclose optional values (0-1), three trailing dots indicate that +multiple values are allowed (1-n), a combination of both means 0 to n values. + +Command line options are distinguished from parameters by a leading '+' or '-' +sign, respectively. Usually, order and position of command line options are +arbitrary (i.e. they can appear anywhere). However, if options are mutually +exclusive the rightmost appearance is used. This behavior conforms to the +standard evaluation rules of common Unix shells. + +In addition, one or more command files can be specified using an '@' sign as a +prefix to the filename (e.g. \@command.txt). Such a command argument +is replaced by the content of the corresponding text file (multiple +whitespaces are treated as a single separator unless they appear between two +quotation marks) prior to any further evaluation. Please note that a command +file cannot contain another command file. This simple but effective approach +allows one to summarize common combinations of options/parameters and avoids +longish and confusing command lines (an example is provided in file +\/dumppat.txt). + +\section dcm2img_environment ENVIRONMENT + +The \b dcm2img utility will attempt to load DICOM data dictionaries specified +in the \e DCMDICTPATH environment variable. By default, i.e. if the +\e DCMDICTPATH environment variable is not set, the file +\/dicom.dic will be loaded unless the dictionary is built +into the application (default for Windows). + +The default behavior should be preferred and the \e DCMDICTPATH environment +variable only used when alternative data dictionaries are required. The +\e DCMDICTPATH environment variable has the same format as the Unix shell +\e PATH variable in that a colon (":") separates entries. On Windows systems, +a semicolon (";") is used as a separator. The data dictionary code will +attempt to load each file specified in the \e DCMDICTPATH environment variable. +It is an error if no data dictionary can be loaded. + +\section dcm2img_files FILES + +\/camera.lut - sample characteristics file of a camera +\n\/monitor.lut - sample characteristics file of a monitor +\n\/printer.lut - sample characteristics file of a printer +\n\/scanner.lut - sample characteristics file of a scanner + +\section dcm2img_see_also SEE ALSO + +img2dcm(1) + +\section dcm2img_copyright COPYRIGHT + +Copyright (C) 2001-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. + +*/ diff --git a/dcmapps/docs/dcmapps.dox b/dcmapps/docs/dcmapps.dox new file mode 100644 index 00000000..ba69226f --- /dev/null +++ b/dcmapps/docs/dcmapps.dox @@ -0,0 +1,13 @@ +/*! + +\page mod_dcmapps dcmapps: a collection of cross-module command line tools + +This module contains command line tools that depend on (almost) all other +DCMTK modules. + +\section Tools + +This module contains the following command line tools: +\li \ref dcm2img + +*/ diff --git a/dcmapps/include/Makefile.in b/dcmapps/include/Makefile.in new file mode 100644 index 00000000..0eec30ce --- /dev/null +++ b/dcmapps/include/Makefile.in @@ -0,0 +1,27 @@ +# +# Makefile for dcmapps/include +# + +@SET_MAKE@ + +SHELL = /bin/sh +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +configdir = @top_srcdir@/@configdir@ + +include $(configdir)/@common_makefile@ + + +all: + +install: + $(configdir)/mkinstalldirs $(DESTDIR)$(includedir)/dcmtk/dcmapps + for file in dcmtk/dcmdata/*.h ; do \ + $(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/dcmtk/dcmapps ;\ + done + +clean: + rm -f $(TRASH) + +distclean: + rm -f $(DISTTRASH) diff --git a/dcmapps/include/dcmtk/dcmapps/dcm2img.h b/dcmapps/include/dcmtk/dcmapps/dcm2img.h new file mode 100644 index 00000000..eae28c89 --- /dev/null +++ b/dcmapps/include/dcmtk/dcmapps/dcm2img.h @@ -0,0 +1,2030 @@ +/* + * + * Copyright (C) 1996-2024, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmapps + * + * Authors: Marco Eichelberg, Joerg Riesmeier + * + * Purpose: Convert DICOM image to standard image format + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmdata/cmdlnarg.h" /* for prepareCmdLineArgs */ +#include "dcmtk/dcmdata/dcrledrg.h" /* for DcmRLEDecoderRegistration */ +#include "dcmtk/dcmdata/dctk.h" /* for various dcmdata headers */ +#include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */ +#include "dcmtk/dcmimage/diregist.h" /* include to support color images */ +#include "dcmtk/dcmimgle/dcmimage.h" /* for DicomImage */ +#include "dcmtk/dcmimgle/diciefn.h" /* for DiCIELABFunction */ +#include "dcmtk/dcmimgle/digsdfn.h" /* for DiGSDFunction */ +#include "dcmtk/dcmjpeg/dipijpeg.h" /* for dcmimage JPEG plugin */ +#include "dcmtk/dcmjpeg/djdecode.h" /* for dcmjpeg decoders */ +#include "dcmtk/dcmjpls/dipijpls.h" /* for dcmimage JPEG-LS plugin */ +#include "dcmtk/dcmjpls/djdecode.h" /* for dcmjpls decoders */ +#include "dcmtk/oflog/oflog.h" /* for the logger */ +#include "dcmtk/ofstd/ofcmdln.h" /* for OFCommandLine */ +#include "dcmtk/ofstd/ofconapp.h" /* for OFConsoleApplication */ +#include "dcmtk/ofstd/ofstd.h" /* for OFStandard */ +#include "dcmtk/ofstd/ofstream.h" + +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG +#include "dcmtk/dcmjp2k/dipijp2k.h" /* for dcmimage JPEG 2000 plugin */ +#include "dcmtk/dcmjp2k/d2decode.h" /* for JasPer based JPEG 2000 decoder */ +#include "dcmtk/dcmjp2k/o2decode.h" /* for OpenJPEG based JPEG 2000 decoder */ +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ + +#ifdef WITH_LIBTIFF +#include "dcmtk/dcmimage/dipitiff.h" /* for dcmimage TIFF plugin */ +#endif + +#ifdef WITH_LIBPNG +#include "dcmtk/dcmimage/dipipng.h" /* for dcmimage PNG plugin */ +#endif + +#ifdef WITH_ZLIB +#include /* for zlibVersion() */ +#endif + +BEGIN_EXTERN_C +#ifdef HAVE_FCNTL_H +#include /* for O_BINARY */ +#endif +#ifdef HAVE_IO_H +#include /* for setmode() on Windows */ +#endif +END_EXTERN_C + +#define OFFIS_OUTFILE_DESCRIPTION "output filename to be written (default: stdout)" + +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG +# define OFFIS_CONSOLE_APPLICATION "dcm2kimg" +#else /* BUILD_DCM2IMG_AS_DCM2KIMG */ +# define OFFIS_CONSOLE_APPLICATION "dcm2img" +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ + +static OFLogger dcm2imgLogger = OFLog::getLogger("dcmtk.apps." OFFIS_CONSOLE_APPLICATION); + +static const char *consoleDescription = "Convert DICOM image to standard image format"; + +static char rcsid[] = "$dcmtk: " OFFIS_CONSOLE_APPLICATION " v" + OFFIS_DCMTK_VERSION " " OFFIS_DCMTK_RELEASEDATE " $"; + +#define SHORTCOL 4 +#define LONGCOL 20 + +/* output file types */ +enum E_FileType +{ + EFT_default, + EFT_RawPNM, + EFT_8bitPNM, + EFT_16bitPNM, + EFT_NbitPNM, + EFT_BMP, + EFT_8bitBMP, + EFT_24bitBMP, + EFT_32bitBMP, + EFT_JPEG, + EFT_TIFF, + EFT_PNG, + EFT_16bitPNG, + EFT_JPLS +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG + , EFT_JP2K_CS +#ifdef WITH_OPENJPEG + , EFT_JP2K_FILE +#endif /* WITH_OPENJPEG */ +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ +#ifdef PASTEL_COLOR_OUTPUT + , EFT_PastelPNM +#endif +}; + + +// ******************************************** + +static void dumpImageParameters( + E_TransferSyntax xfer, + DicomImage *di, + DcmDataset *dataset, + const char *ifname) +{ + if ((di == NULL) || (dataset == NULL) || (ifname == NULL)) return; + + /* dump image parameters */ + OFLOG_INFO(dcm2imgLogger, "dumping image parameters"); + + double minVal = 0.0; + double maxVal = 0.0; + const char *colorModel; + const char *SOPClassUID = NULL; + const char *SOPInstanceUID = NULL; + const char *SOPClassText = NULL; + const char *XferText = DcmXfer(xfer).getXferName(); + + int minmaxValid = di->getMinMaxValues(minVal, maxVal); + colorModel = di->getString(di->getPhotometricInterpretation()); + if (colorModel == NULL) + colorModel = "unknown"; + + dataset->findAndGetString(DCM_SOPClassUID, SOPClassUID); + dataset->findAndGetString(DCM_SOPInstanceUID, SOPInstanceUID); + + if (SOPInstanceUID == NULL) + SOPInstanceUID = "not present"; + if (SOPClassUID == NULL) + SOPClassText = "not present"; + else + SOPClassText = dcmFindNameOfUID(SOPClassUID); + if (SOPClassText == NULL) + SOPClassText = SOPClassUID; + + char aspectRatio[30]; + OFStandard::ftoa(aspectRatio, sizeof(aspectRatio), di->getHeightWidthRatio(), OFStandard::ftoa_format_f, 0, 2); + + /* dump some general information */ + OFLOG_INFO(dcm2imgLogger, " filename : " << ifname << OFendl + << " transfer syntax : " << XferText << OFendl + << " SOP class : " << SOPClassText << OFendl + << " SOP instance UID : " << SOPInstanceUID << OFendl + << " columns x rows : " << di->getWidth() << " x " << di->getHeight() << OFendl + << " bits per sample : " << di->getDepth() << OFendl + << " color model : " << colorModel << OFendl + << " pixel aspect ratio : " << aspectRatio << OFendl + << " number of frames : " << di->getNumberOfFrames() << " (" << di->getFrameCount() << " processed)"); + if (di->getFrameTime() > 0) + OFLOG_INFO(dcm2imgLogger, " frame time (in ms) : " << di->getFrameTime()); + + /* dump VOI windows */ + unsigned long count; + OFString explStr, funcStr; + count = di->getWindowCount(); + switch (di->getVoiLutFunction()) + { + case EFV_Default: + funcStr = ""; + break; + case EFV_Linear: + funcStr = "LINEAR"; + break; + case EFV_Sigmoid: + funcStr = "SIGMOID"; + break; + } + OFLOG_INFO(dcm2imgLogger, " VOI LUT function : " << funcStr); + OFLOG_INFO(dcm2imgLogger, " VOI windows in file : " << di->getWindowCount()); + unsigned long i; + for (i = 0; i < count; i++) + { + if (di->getVoiWindowExplanation(i, explStr) == NULL) + OFLOG_INFO(dcm2imgLogger, " - "); + else + OFLOG_INFO(dcm2imgLogger, " - " << explStr); + } + + /* dump VOI LUTs */ + count = di->getVoiLutCount(); + OFLOG_INFO(dcm2imgLogger, " VOI LUTs in file : " << count); + for (i = 0; i < count; i++) + { + if (di->getVoiLutExplanation(i, explStr) == NULL) + OFLOG_INFO(dcm2imgLogger, " - "); + else + OFLOG_INFO(dcm2imgLogger, " - " << explStr); + } + + /* dump presentation LUT shape */ + OFString shapeStr; + switch (di->getPresentationLutShape()) + { + case ESP_Default: + shapeStr = ""; + break; + case ESP_Identity: + shapeStr = "IDENTITY"; + break; + case ESP_Inverse: + shapeStr = "INVERSE"; + break; + case ESP_LinOD: + shapeStr = "LIN OD"; + break; + } + OFLOG_INFO(dcm2imgLogger, " presentation shape : " << shapeStr); + + /* dump overlays */ + OFLOG_INFO(dcm2imgLogger, " overlays in file : " << di->getOverlayCount()); + + if (minmaxValid) + { + char minmaxText[30]; + OFStandard::ftoa(minmaxText, sizeof(minmaxText), maxVal, OFStandard::ftoa_format_f, 0, 0); + OFLOG_INFO(dcm2imgLogger, " maximum pixel value : " << minmaxText); + OFStandard::ftoa(minmaxText, sizeof(minmaxText), minVal, OFStandard::ftoa_format_f, 0, 0); + OFLOG_INFO(dcm2imgLogger, " minimum pixel value : " << minmaxText); + } +} + +static DicomImage *convertToGrayscale(DicomImage *di) +{ + if (di == NULL) return NULL; + OFLOG_INFO(dcm2imgLogger, "converting image to grayscale"); + DicomImage *newimage = di->createMonochromeImage(); + if (newimage == NULL) + { + OFLOG_FATAL(dcm2imgLogger, "Out of memory or cannot convert to monochrome image"); + return NULL; + } + else if (newimage->getStatus() != EIS_Normal) + { + OFLOG_FATAL(dcm2imgLogger, DicomImage::getString(newimage->getStatus())); + return NULL; + } + else + { + delete di; + return newimage; + } +} + +static void processOverlayParameters( + DicomImage *di, + int *overlayArray, + EM_Overlay overlayMode, + OFCmdFloat foregroundDensity, + OFCmdFloat thresholdDensity) +{ + if ((di == NULL)||(overlayArray == NULL)) return; + + di->hideAllOverlays(); + for (unsigned int k = 0; k < 16; k++) + { + if (overlayArray[k]) + { + if ((overlayArray[k] == 1) || (k < di->getOverlayCount())) + { + OFLOG_INFO(dcm2imgLogger, "activating overlay plane " << k + 1); + if (overlayMode != EMO_Default) + { + if (!di->showOverlay(k, overlayMode, foregroundDensity, thresholdDensity)) + OFLOG_WARN(dcm2imgLogger, "cannot display overlay plane " << k + 1); + } else { + if (!di->showOverlay(k)) /* use default values */ + OFLOG_WARN(dcm2imgLogger, "cannot display overlay plane " << k + 1); + } + } + } + } +} + + +static int processVOIParameters( + DicomImage *di, + int windowType, + OFCmdUnsignedInt windowParameter, + OFCmdFloat windowCenter, + OFCmdFloat windowWidth, + EF_VoiLutFunction voiFunction, + OFBool ignoreVoiLutDepth, + OFCmdUnsignedInt roiLeft, + OFCmdUnsignedInt roiTop, + OFCmdUnsignedInt roiWidth, + OFCmdUnsignedInt roiHeight) +{ + if (di == NULL) return 1; + + switch (windowType) + { + case 1: /* use the n-th VOI window from the image file */ + if ((windowParameter < 1) || (windowParameter > di->getWindowCount())) + { + OFLOG_FATAL(dcm2imgLogger, "cannot select VOI window " << windowParameter << ", only " + << di->getWindowCount() << " window(s) in file"); + return 1; + } + OFLOG_INFO(dcm2imgLogger, "activating VOI window " << windowParameter); + if (!di->setWindow(windowParameter - 1)) + OFLOG_WARN(dcm2imgLogger, "cannot select VOI window " << windowParameter); + break; + case 2: /* use the n-th VOI look up table from the image file */ + if ((windowParameter < 1) || (windowParameter > di->getVoiLutCount())) + { + OFLOG_FATAL(dcm2imgLogger, "cannot select VOI LUT " << windowParameter << ", only " + << di->getVoiLutCount() << " LUT(s) in file"); + return 1; + } + OFLOG_INFO(dcm2imgLogger, "activating VOI LUT " << windowParameter); + if (!di->setVoiLut(windowParameter - 1, ignoreVoiLutDepth ? ELM_IgnoreValue : ELM_UseValue)) + OFLOG_WARN(dcm2imgLogger, "cannot select VOI LUT " << windowParameter); + break; + case 3: /* Compute VOI window using min-max algorithm */ + OFLOG_INFO(dcm2imgLogger, "activating VOI window min-max algorithm"); + if (!di->setMinMaxWindow(0)) + OFLOG_WARN(dcm2imgLogger, "cannot compute min/max VOI window"); + break; + case 4: /* Compute VOI window using Histogram algorithm, ignoring n percent */ + OFLOG_INFO(dcm2imgLogger, "activating VOI window histogram algorithm, ignoring " << windowParameter << "%"); + if (!di->setHistogramWindow(OFstatic_cast(double, windowParameter)/100.0)) + OFLOG_WARN(dcm2imgLogger, "cannot compute histogram VOI window"); + break; + case 5: /* Compute VOI window using center and width */ + OFLOG_INFO(dcm2imgLogger, "activating VOI window center=" << windowCenter << ", width=" << windowWidth); + if (!di->setWindow(windowCenter, windowWidth)) + OFLOG_WARN(dcm2imgLogger, "cannot set VOI window to specified values"); + break; + case 6: /* Compute VOI window using min-max algorithm ignoring extremes */ + OFLOG_INFO(dcm2imgLogger, "activating VOI window min-max algorithm, ignoring extreme values"); + if (!di->setMinMaxWindow(1)) + OFLOG_WARN(dcm2imgLogger, "cannot compute min/max VOI window"); + break; + case 7: /* Compute region of interest VOI window */ + OFLOG_INFO(dcm2imgLogger, "activating region of interest VOI window"); + if (!di->setRoiWindow(roiLeft, roiTop, roiWidth, roiHeight)) + OFLOG_WARN(dcm2imgLogger, "cannot compute region of interest VOI window"); + break; + default: /* no VOI windowing */ + if (di->isMonochrome()) + { + OFLOG_INFO(dcm2imgLogger, "disabling VOI window computation"); + if (!di->setNoVoiTransformation()) + OFLOG_WARN(dcm2imgLogger, "cannot ignore VOI window"); + } + break; + } + /* VOI LUT function */ + if (voiFunction != EFV_Default) + { + if (voiFunction == EFV_Linear) + OFLOG_INFO(dcm2imgLogger, "setting VOI LUT function to LINEAR"); + else if (voiFunction == EFV_Sigmoid) + OFLOG_INFO(dcm2imgLogger, "setting VOI LUT function to SIGMOID"); + if (!di->setVoiLutFunction(voiFunction)) + OFLOG_WARN(dcm2imgLogger, "cannot set VOI LUT function"); + } + return 0; +} + + +static void processPLUTParameters( + DicomImage *di, + ES_PresentationLut presShape) +{ + if (di == NULL) return; + if (presShape != ESP_Default) + { + if (presShape == ESP_Identity) + OFLOG_INFO(dcm2imgLogger, "setting presentation LUT shape to IDENTITY"); + else if (presShape == ESP_Inverse) + OFLOG_INFO(dcm2imgLogger, "setting presentation LUT shape to INVERSE"); + else if (presShape == ESP_LinOD) + OFLOG_INFO(dcm2imgLogger, "setting presentation LUT shape to LIN OD"); + if (!di->setPresentationLutShape(presShape)) + OFLOG_WARN(dcm2imgLogger, "cannot set presentation LUT shape"); + } +} + +static DicomImage *performClipping( + DicomImage *di, + int useClip, + int scaleType, + OFCmdSignedInt left, + OFCmdSignedInt top, + OFCmdUnsignedInt width, + OFCmdUnsignedInt height) +{ + if (di == NULL) return NULL; + + if (useClip && (scaleType == 0)) + { + OFLOG_INFO(dcm2imgLogger, "clipping image to (" << left << "," << top << "," << width + << "," << height << ")"); + DicomImage *newimage = di->createClippedImage(left, top, width, height); + if (newimage == NULL) + { + OFLOG_FATAL(dcm2imgLogger, "clipping to (" << left << "," << top << "," << width + << "," << height << ") failed"); + return NULL; + } else if (newimage->getStatus() != EIS_Normal) + { + OFLOG_FATAL(dcm2imgLogger, DicomImage::getString(newimage->getStatus())); + return NULL; + } + else + { + delete di; + return newimage; + } + } + return di; +} + +static void performRotation( + DicomImage *di, + int rotateDegree) +{ + if (di == NULL) return; + if (rotateDegree > 0) + { + OFLOG_INFO(dcm2imgLogger, "rotating image by " << rotateDegree << " degrees"); + if (!di->rotateImage(rotateDegree)) + OFLOG_WARN(dcm2imgLogger, "cannot rotate image"); + } +} + +static void performFlip( + DicomImage *di, + int flipType) +{ + if (di == NULL) return; + if (flipType > 0) + { + switch (flipType) + { + case 1: + OFLOG_INFO(dcm2imgLogger, "flipping image horizontally"); + if (!di->flipImage(1, 0)) + OFLOG_WARN(dcm2imgLogger, "cannot flip image"); + break; + case 2: + OFLOG_INFO(dcm2imgLogger, "flipping image vertically"); + if (!di->flipImage(0, 1)) + OFLOG_WARN(dcm2imgLogger, "cannot flip image"); + break; + case 3: + OFLOG_INFO(dcm2imgLogger, "flipping image horizontally and vertically"); + if (!di->flipImage(1, 1)) + OFLOG_WARN(dcm2imgLogger, "cannot flip image"); + break; + default: + break; + } + } +} + +static DicomImage *performScaling( + DicomImage *di, + int useClip, + int scaleType, + OFCmdSignedInt left, + OFCmdSignedInt top, + OFCmdUnsignedInt width, + OFCmdUnsignedInt height, + OFCmdFloat scale_factor, + OFCmdUnsignedInt scale_size, + OFCmdUnsignedInt useInterpolation, + int useAspectRatio) +{ + if (scaleType > 0) + { + DicomImage *newimage; + if (useClip) + OFLOG_INFO(dcm2imgLogger, "clipping image to (" << left << "," << top << "," << width << "," << height << ")"); + switch (scaleType) + { + case 1: + OFLOG_INFO(dcm2imgLogger, "scaling image, X factor=" << scale_factor + << ", Interpolation=" << OFstatic_cast(int, useInterpolation) + << ", Aspect Ratio=" << (useAspectRatio ? "yes" : "no")); + if (useClip) + newimage = di->createScaledImage(left, top, width, height, scale_factor, 0.0, + OFstatic_cast(int, useInterpolation), useAspectRatio); + else + newimage = di->createScaledImage(scale_factor, 0.0, OFstatic_cast(int, useInterpolation), + useAspectRatio); + break; + case 2: + OFLOG_INFO(dcm2imgLogger, "scaling image, Y factor=" << scale_factor + << ", Interpolation=" << OFstatic_cast(int, useInterpolation) + << ", Aspect Ratio=" << (useAspectRatio ? "yes" : "no")); + if (useClip) + newimage = di->createScaledImage(left, top, width, height, 0.0, scale_factor, + OFstatic_cast(int, useInterpolation), useAspectRatio); + else + newimage = di->createScaledImage(0.0, scale_factor, OFstatic_cast(int, useInterpolation), + useAspectRatio); + break; + case 3: + OFLOG_INFO(dcm2imgLogger, "scaling image, X size=" << scale_size + << ", Interpolation=" << OFstatic_cast(int, useInterpolation) + << ", Aspect Ratio=" << (useAspectRatio ? "yes" : "no")); + if (useClip) + newimage = di->createScaledImage(left, top, width, height, scale_size, 0, + OFstatic_cast(int, useInterpolation), useAspectRatio); + else + newimage = di->createScaledImage(scale_size, 0, OFstatic_cast(int, useInterpolation), + useAspectRatio); + break; + case 4: + OFLOG_INFO(dcm2imgLogger, "scaling image, Y size=" << scale_size + << ", Interpolation=" << OFstatic_cast(int, useInterpolation) + << ", Aspect Ratio=" << (useAspectRatio ? "yes" : "no")); + if (useClip) + newimage = di->createScaledImage(left, top, width, height, 0, scale_size, + OFstatic_cast(int, useInterpolation), useAspectRatio); + else + newimage = di->createScaledImage(0, scale_size, OFstatic_cast(int, useInterpolation), + useAspectRatio); + break; + default: + OFLOG_INFO(dcm2imgLogger, "internal error: unknown scaling type"); + newimage = NULL; + break; + } + if (newimage == NULL) + { + OFLOG_FATAL(dcm2imgLogger, "Out of memory or cannot scale image"); + return NULL; + } + else if (newimage->getStatus() != EIS_Normal) + { + OFLOG_FATAL(dcm2imgLogger, DicomImage::getString(newimage->getStatus())); + delete newimage; + return NULL; + } + else + { + delete di; + return newimage; + } + } + return di; +} + +static const char *getDefaultExtension( + DicomImage *di, + E_FileType fileType) +{ + if (di == NULL) return ""; + + const char *result = NULL; + /* determine default file extension */ + switch (fileType) + { + case EFT_BMP: + case EFT_8bitBMP: + case EFT_24bitBMP: + case EFT_32bitBMP: + result = "bmp"; + break; + case EFT_JPEG: + result = "jpg"; + break; + case EFT_JPLS: + result = "jls"; + break; +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG + case EFT_JP2K_CS: + result = "jpc"; + break; +#ifdef WITH_OPENJPEG + case EFT_JP2K_FILE: + result = "jp2"; + break; +#endif /* WITH_OPENJPEG */ +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ + case EFT_TIFF: + result = "tif"; + break; + case EFT_PNG: + case EFT_16bitPNG: + result = "png"; + break; + default: + if (di->isMonochrome()) result = "pgm"; else result = "ppm"; + break; + } + return result; +} + +// case insensitive string comparison +static OFBool ci_compare(const OFString& str1, const OFString& str2) +{ + size_t l = str1.length(); + if (l != str2.length()) return OFFalse; + + for (size_t i = 0; i < l; ++i) { + if (tolower(str1[i]) != tolower(str2[i])) + return OFFalse; + } + return OFTrue; +} + +static E_FileType getFileTypeByExtension(const char *fname) +{ + // no filename, return 8-bit ASCII PNM as the default for stdout + if (fname == NULL) return EFT_8bitPNM; + + // remove path from filename + OFString filename(fname); + size_t pos = filename.find_last_of('/'); + if (pos != OFString_npos) filename = filename.substr(pos + 1); + pos = filename.find_last_of('\\'); + if (pos != OFString_npos) filename = filename.substr(pos + 1); + + // determine filename extension + pos = filename.find_last_of('.'); + + // no filename extension, return BMP as the default for files + if (pos == OFString_npos) + { + OFLOG_WARN(dcm2imgLogger, "no filename extension specified, writing BMP file."); + return EFT_BMP; + } + + // copy the extension into a separate string + OFString extension = filename.substr(pos + 1); + OFString ext; + if (ci_compare(extension, OFString("bmp"))) return EFT_BMP; + if (ci_compare(extension, OFString("jpg"))) return EFT_JPEG; + if (ci_compare(extension, OFString("jpeg"))) return EFT_JPEG; + if (ci_compare(extension, OFString("pnm"))) return EFT_RawPNM; + if (ci_compare(extension, OFString("pgm"))) return EFT_RawPNM; + if (ci_compare(extension, OFString("ppm"))) return EFT_RawPNM; + if (ci_compare(extension, OFString("tif"))) return EFT_TIFF; + if (ci_compare(extension, OFString("tiff"))) return EFT_TIFF; + if (ci_compare(extension, OFString("png"))) return EFT_PNG; + if (ci_compare(extension, OFString("jls"))) return EFT_JPLS; + if (ci_compare(extension, OFString("jpls"))) return EFT_JPLS; +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG + if (ci_compare(extension, OFString("jpc"))) return EFT_JP2K_CS; + if (ci_compare(extension, OFString("j2c"))) return EFT_JP2K_CS; +#ifdef WITH_OPENJPEG + if (ci_compare(extension, OFString("jp2"))) return EFT_JP2K_FILE; + if (ci_compare(extension, OFString("j2k"))) return EFT_JP2K_FILE; + if (ci_compare(extension, OFString("jpf"))) return EFT_JP2K_FILE; + if (ci_compare(extension, OFString("jpg2"))) return EFT_JP2K_FILE; +#endif /* WITH_OPENJPEG */ +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ + + OFLOG_WARN(dcm2imgLogger, "unsupported filename extension '" << extension << "', writing BMP file."); + return EFT_BMP; +} + +int main(int argc, char *argv[]) +{ + OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION, consoleDescription, rcsid); + OFCommandLine cmd; + + E_FileReadMode opt_readMode = ERM_autoDetect; /* default: fileformat or dataset */ + E_TransferSyntax opt_transferSyntax = EXS_Unknown; /* default: xfer syntax recognition */ + + unsigned long opt_compatibilityMode = CIF_MayDetachPixelData | CIF_TakeOverExternalDataset; + OFBool opt_ignoreVoiLutDepth = OFFalse; /* default: do not ignore VOI LUT bit depth */ + OFCmdUnsignedInt opt_frame = 1; /* default: first frame */ + OFCmdUnsignedInt opt_frameCount = 1; /* default: one frame */ + OFBool opt_useFrameNumber = OFFalse; /* default: use frame counter */ + OFBool opt_multiFrame = OFFalse; /* default: no multiframes */ + int opt_convertToGrayscale = 0; /* default: no conversion */ + int opt_changePolarity = 0; /* default: normal polarity */ + int opt_useAspectRatio = 1; /* default: use aspect ratio for scaling */ + OFCmdUnsignedInt opt_useInterpolation = 1; /* default: use interpolation method '1' for scaling */ + int opt_useClip = 0; /* default: don't clip */ + OFCmdSignedInt opt_left = 0, opt_top = 0; /* clip region (origin) */ + OFCmdUnsignedInt opt_width = 0, opt_height = 0; /* clip region (extension) */ + int opt_rotateDegree = 0; /* default: no rotation */ + int opt_flipType = 0; /* default: no flipping */ + int opt_scaleType = 0; /* default: no scaling */ + /* 1 = X-factor, 2 = Y-factor, 3=X-size, 4=Y-size */ + OFCmdFloat opt_scale_factor = 1.0; + OFCmdUnsignedInt opt_scale_size = 1; + int opt_windowType = 0; /* default: no windowing */ + /* 1=Wi, 2=Wl, 3=Wm, 4=Wh, 5=Ww, 6=Wn, 7=Wr */ + OFCmdUnsignedInt opt_windowParameter = 0; + OFCmdUnsignedInt opt_roiLeft = 0, opt_roiTop = 0, opt_roiWidth = 0, opt_roiHeight = 0; + OFCmdFloat opt_windowCenter = 0.0, opt_windowWidth = 0.0; + + EF_VoiLutFunction opt_voiFunction = EFV_Default; + ES_PresentationLut opt_presShape = ESP_Default; + OFString opt_displayFile; + int opt_displayFunction = 0; /* default: GSDF */ + /* 0=GSDF, 1=CIELAB */ + OFCmdFloat opt_ambientLight = -1; /* default: not set */ + OFCmdFloat opt_illumination = -1; /* default: not set */ + OFCmdFloat opt_minDensity = -1; /* default: not set */ + OFCmdFloat opt_maxDensity = -1; /* default: not set */ + DiDisplayFunction::E_DeviceType deviceType = DiDisplayFunction::EDT_Monitor; + +#ifdef WITH_LIBTIFF + // TIFF parameters + DiTIFFCompression opt_tiffCompression = E_tiffLZWCompression; + DiTIFFLZWPredictor opt_lzwPredictor = E_tiffLZWPredictorDefault; + OFCmdUnsignedInt opt_rowsPerStrip = 0; +#endif + +#ifdef WITH_LIBPNG + // PNG parameters + DiPNGInterlace opt_interlace = E_pngInterlaceAdam7; + DiPNGMetainfo opt_metainfo = E_pngFileMetainfo; +#endif + + // JPEG parameters + OFCmdUnsignedInt opt_quality = 90; /* default: 90% JPEG quality */ + E_SubSampling opt_sampling = ESS_422; /* default: 4:2:2 sub-sampling */ + E_DecompressionColorSpaceConversion opt_decompCSconversion = EDC_photometricInterpretation; + OFBool opt_predictor6WorkaroundEnable = OFFalse; + OFBool opt_cornellWorkaroundEnable = OFFalse; + OFBool opt_forceSingleFragmentPerFrame = OFFalse; + + // JPEG-LS parameters + OFBool opt_true_lossless = OFFalse; + OFBool opt_force_8_bit = OFFalse; + +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG + // JPEG 2000 parameters + OFBool opt_lossy_jp2k = OFFalse; + OFCmdFloat opt_compression_ratio = 0.2; + OFCmdUnsignedInt opt_compressed_size = 0; + OFCmdUnsignedInt opt_tile_size_x = 0; + OFCmdUnsignedInt opt_tile_size_y = 0; + OFCmdUnsignedInt opt_levels = 6; + J2K_Progression opt_progression = EJ2O_progression_lrcp; +#ifdef WITH_OPENJPEG + OFBool opt_use_openjpeg = OFTrue; + OFCmdUnsignedInt openJPEGNumThreads = 0; +#endif /* WITH_OPENJPEG */ +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ + + // other parameters + int opt_Overlay[16]; + int opt_O_used = 0; /* flag for +O parameter */ + EM_Overlay opt_OverlayMode = EMO_Default; /* default: Replace or ROI */ + + OFCmdFloat opt_foregroundDensity = 1.0; + OFCmdFloat opt_thresholdDensity = 0.5; + + int opt_imageInfo = 0; /* default: no info */ + int opt_suppressOutput = 0; /* default: create output */ + E_FileType opt_fileType = EFT_default; + /* (binary for file output and ASCII for stdout) */ + OFCmdUnsignedInt opt_fileBits = 0; /* default: 0 */ + const char * opt_ifname = NULL; + const char * opt_ofname = NULL; + + unsigned long i; + for (i = 0; i < 16; i++) + opt_Overlay[i] = 2; /* default: display all overlays if present */ + + prepareCmdLineArgs(argc, argv, OFFIS_CONSOLE_APPLICATION); + cmd.setOptionColumns(LONGCOL, SHORTCOL); + cmd.setParamColumn(LONGCOL + SHORTCOL + 4); + + cmd.addParam("dcmfile-in", "DICOM input filename to be converted\n(\"-\" for stdin)"); + cmd.addParam("bitmap-out", OFFIS_OUTFILE_DESCRIPTION, OFCmdParam::PM_Optional); + + cmd.addGroup("general options:", LONGCOL, SHORTCOL + 2); + cmd.addOption("--help", "-h", "print this help text and exit", OFCommandLine::AF_Exclusive); + cmd.addOption("--version", "print version information and exit", OFCommandLine::AF_Exclusive); + OFLog::addOptions(cmd); + + cmd.addGroup("input options:"); + + cmd.addSubGroup("input file format:"); + cmd.addOption("--read-file", "+f", "read file format or data set (default)"); + cmd.addOption("--read-file-only", "+fo", "read file format only"); + cmd.addOption("--read-dataset", "-f", "read data set without file meta information"); + + cmd.addSubGroup("input transfer syntax:"); + cmd.addOption("--read-xfer-auto", "-t=", "use TS recognition (default)"); + cmd.addOption("--read-xfer-detect", "-td", "ignore TS specified in the file meta header"); + cmd.addOption("--read-xfer-little", "-te", "read with explicit VR little endian TS"); + cmd.addOption("--read-xfer-big", "-tb", "read with explicit VR big endian TS"); + cmd.addOption("--read-xfer-implicit", "-ti", "read with implicit VR little endian TS"); + + cmd.addGroup("image processing options:"); + + cmd.addSubGroup("frame selection:"); + cmd.addOption("--frame", "+F", 1, "[n]umber: integer", + "select specified frame (default: 1)"); + cmd.addOption("--frame-range", "+Fr", 2, "[n]umber [c]ount: integer", + "select c frames beginning with frame n"); + cmd.addOption("--all-frames", "+Fa", "select all frames"); + + cmd.addSubGroup("rotation:"); + cmd.addOption("--rotate-left", "+Rl", "rotate image left (-90 degrees)"); + cmd.addOption("--rotate-right", "+Rr", "rotate image right (+90 degrees)"); + cmd.addOption("--rotate-top-down", "+Rtd", "rotate image top-down (180 degrees)"); + + cmd.addSubGroup("flipping:"); + cmd.addOption("--flip-horizontally", "+Lh", "flip image horizontally"); + cmd.addOption("--flip-vertically", "+Lv", "flip image vertically"); + cmd.addOption("--flip-both-axes", "+Lhv", "flip image horizontally and vertically"); + + cmd.addSubGroup("scaling:"); + cmd.addOption("--recognize-aspect", "+a", "recognize pixel aspect ratio when scaling (def.)"); + cmd.addOption("--ignore-aspect", "-a", "ignore pixel aspect ratio when scaling"); + cmd.addOption("--interpolate", "+i", 1, "[n]umber of algorithm: integer", + "use interpolation when scaling (1..4, def: 1)"); + cmd.addOption("--no-interpolation", "-i", "no interpolation when scaling"); + cmd.addOption("--no-scaling", "-S", "no scaling, ignore pixel aspect ratio (default)"); + cmd.addOption("--scale-x-factor", "+Sxf", 1, "[f]actor: float", + "scale x axis by factor, auto-compute y axis"); + cmd.addOption("--scale-y-factor", "+Syf", 1, "[f]actor: float", + "scale y axis by factor, auto-compute x axis"); + cmd.addOption("--scale-x-size", "+Sxv", 1, "[n]umber: integer", + "scale x axis to n pixels, auto-compute y axis"); + cmd.addOption("--scale-y-size", "+Syv", 1, "[n]umber: integer", + "scale y axis to n pixels, auto-compute x axis"); + + cmd.addSubGroup("color space conversion (JPEG compressed images only):"); + cmd.addOption("--conv-photometric", "+cp", "convert if YCbCr photometric interpr. (default)"); + cmd.addOption("--conv-lossy", "+cl", "convert YCbCr to RGB if lossy JPEG"); + cmd.addOption("--conv-guess", "+cg", "convert to RGB if YCbCr is guessed by library"); + cmd.addOption("--conv-guess-lossy", "+cgl", "convert to RGB if lossy JPEG and YCbCr is\nguessed by the underlying JPEG library"); + cmd.addOption("--conv-always", "+ca", "always convert YCbCr to RGB"); + cmd.addOption("--conv-never", "+cn", "never convert color space"); + + cmd.addSubGroup("workaround options for incorrect encodings (JPEG compressed images only):"); + cmd.addOption("--workaround-pred6", "+w6", "enable workaround for JPEG lossless images\nwith overflow in predictor 6"); + cmd.addOption("--workaround-incpl", "+wi", "enable workaround for incomplete JPEG data"); + cmd.addOption("--workaround-cornell", "+wc", "enable workaround for 16-bit JPEG lossless\nCornell images with Huffman table overflow"); + + cmd.addSubGroup("modality LUT transformation:"); + cmd.addOption("--no-modality", "-M", "ignore stored modality LUT transformation"); + cmd.addOption("--use-modality", "+M", "use modality LUT transformation (default)"); + + cmd.addSubGroup("VOI LUT transformation:"); + cmd.addOption("--no-windowing", "-W", "no VOI windowing (default)"); + cmd.addOption("--use-window", "+Wi", 1, "[n]umber: integer", + "use the n-th VOI window from image file"); + cmd.addOption("--use-voi-lut", "+Wl", 1, "[n]umber: integer", + "use the n-th VOI look up table from image file"); + cmd.addOption("--min-max-window", "+Wm", "compute VOI window using min-max algorithm"); + cmd.addOption("--min-max-window-n", "+Wn", "compute VOI window using min-max algorithm,\nignoring extreme values"); + cmd.addOption("--roi-min-max-window", "+Wr", 4, "[l]eft [t]op [w]idth [h]eight: integer", + "compute ROI window using min-max algorithm,\nregion of interest is specified by l,t,w,h"); + cmd.addOption("--histogram-window", "+Wh", 1, "[n]umber: integer", + "compute VOI window using Histogram algorithm,\nignoring n percent"); + cmd.addOption("--set-window", "+Ww", 2, "[c]enter [w]idth: float", + "compute VOI window using center c and width w"); + cmd.addOption("--linear-function", "+Wfl", "set VOI LUT function to LINEAR"); + cmd.addOption("--sigmoid-function", "+Wfs", "set VOI LUT function to SIGMOID"); + + cmd.addSubGroup("presentation LUT transformation:"); + cmd.addOption("--identity-shape", "+Pid", "set presentation LUT shape to IDENTITY"); + cmd.addOption("--inverse-shape", "+Piv", "set presentation LUT shape to INVERSE"); + cmd.addOption("--lin-od-shape", "+Pod", "set presentation LUT shape to LIN OD"); + + cmd.addSubGroup("overlay:"); + cmd.addOption("--no-overlays", "-O", "do not display overlays"); + cmd.addOption("--display-overlay", "+O" , 1, "[n]umber: integer", + "display overlay n (0..16, 0=all, default: +O 0)"); + cmd.addOption("--ovl-replace", "+Omr", "use overlay mode \"Replace\"\n(default for Graphic overlays)"); + cmd.addOption("--ovl-threshold", "+Omt", "use overlay mode \"Threshold Replace\""); + cmd.addOption("--ovl-complement", "+Omc", "use overlay mode \"Complement\""); + cmd.addOption("--ovl-invert", "+Omv", "use overlay mode \"Invert Bitmap\""); + cmd.addOption("--ovl-roi", "+Omi", "use overlay mode \"Region of Interest\"\n(default for ROI overlays)"); + cmd.addOption("--set-foreground", "+Osf", 1, "[d]ensity: float", + "set overlay foreground density (0..1, def: 1)"); + cmd.addOption("--set-threshold", "+Ost", 1, "[d]ensity: float", + "set overlay threshold density (0..1, def: 0.5)"); + + cmd.addSubGroup("display LUT transformation:"); + cmd.addOption("--monitor-file", "+Dm", 1, "[f]ilename: string", + "calibrate output according to monitor\ncharacteristics defined in f"); + cmd.addOption("--printer-file", "+Dp", 1, "[f]ilename: string", + "calibrate output according to printer\ncharacteristics defined in f"); + cmd.addOption("--ambient-light", "+Da", 1, "[a]mbient light: float", + "ambient light value (cd/m^2, default: file f)"); + cmd.addOption("--illumination", "+Di", 1, "[i]llumination: float", + "illumination value (cd/m^2, default: file f)"); + cmd.addOption("--min-density", "+Dn", 1, "[m]inimum optical density: float", + "Dmin value (default: off, only with +Dp)"); + cmd.addOption("--max-density", "+Dx", 1, "[m]aximum optical density: float", + "Dmax value (default: off, only with +Dp)"); + cmd.addOption("--gsd-function", "+Dg", "use GSDF for calibration (default for +Dm/+Dp)"); + cmd.addOption("--cielab-function", "+Dc", "use CIELAB function for calibration "); + + cmd.addSubGroup("compatibility:"); + cmd.addOption("--accept-acr-nema", "+Ma", "accept ACR-NEMA images without photometric\ninterpretation"); + cmd.addOption("--accept-palettes", "+Mp", "accept incorrect palette attribute tags\n(0028,111x) and (0028,121x)"); + cmd.addOption("--check-lut-depth", "+Mc", "check 3rd value of the LUT descriptor, compare\nwith expected bit depth based on LUT data"); + cmd.addOption("--ignore-mlut-depth", "+Mm", "ignore 3rd value of the modality LUT descriptor,\ndetermine bits per table entry automatically"); + cmd.addOption("--ignore-vlut-depth", "+Mv", "ignore 3rd value of the VOI LUT descriptor,\ndetermine bits per table entry automatically"); + +#ifdef WITH_LIBTIFF + cmd.addSubGroup("TIFF format:"); + cmd.addOption("--compr-lzw", "+Tl", "LZW compression (default)"); + cmd.addOption("--compr-rle", "+Tr", "RLE compression"); + cmd.addOption("--compr-none", "+Tn", "uncompressed"); + cmd.addOption("--predictor-default", "+Pd", "no LZW predictor (default)"); + cmd.addOption("--predictor-none", "+Pn", "LZW predictor 1 (no prediction)"); + cmd.addOption("--predictor-horz", "+Ph", "LZW predictor 2 (horizontal differencing)"); + cmd.addOption("--rows-per-strip", "+Rs", 1, "[r]ows: integer (default: 0)", + "rows per strip, default 8K per strip"); +#endif + +#ifdef WITH_LIBPNG + cmd.addSubGroup("PNG format:"); + cmd.addOption("--interlace", "+il", "create interlaced file (default)"); + cmd.addOption("--nointerlace", "-il", "create non-interlaced file"); + cmd.addOption("--meta-file", "+mf", "create PNG file meta information (default)"); + cmd.addOption("--meta-none", "-mf", "no PNG file meta information"); +#endif + + cmd.addSubGroup("JPEG format:"); + cmd.addOption("--compr-quality", "+Jq", 1, "[q]uality: integer (0..100, default: 90)", + "quality value for compression (in percent)"); + cmd.addOption("--sample-444", "+Js4", "4:4:4 sampling (no subsampling)"); + cmd.addOption("--sample-422", "+Js2", "4:2:2 subsampling (horizontal subsampling of\nchroma components, default)"); + cmd.addOption("--sample-411", "+Js1", "4:1:1 subsampling (horizontal and vertical\nsubsampling of chroma components)"); + +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG + cmd.addSubGroup("JPEG-LS and JPEG 2000 format:"); +#else + cmd.addSubGroup("JPEG-LS format:"); +#endif + cmd.addOption("--rendered-lossless", "+Trl", "lossless compression of rendered image (default)"); + cmd.addOption("--true-lossless", "+Tll", "lossless compression of raw image"); + cmd.addOption("--force-8-bit", "+f8", "force output bit depth to 8 bits\n(not with --true-lossless)"); + +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG + cmd.addSubGroup("JPEG 2000 format:"); + cmd.addOption("--rendered-lossy", "+Try", "lossy compression of rendered image"); + cmd.addOption("--compression-ratio", "-r", 1, "[r]atio: double, 0 < r < 1.0 (default: 0.2)", + "compress with compression ratio r"); + cmd.addOption("--compressed-size", "-s", 1, "[s]ize: integer", + "compress each frame to approx. s bytes"); + cmd.addOption("--tile-size-x", 1, "[s]ize: integer (default: image width)", + "nominal tile width"); + cmd.addOption("--tile-size-y", 1, "[s]ize: integer (default: image height)", + "nominal tile height"); + cmd.addOption("--levels", "-l", 1, "[l]evels: integer (default: 6)", + "number of wavelet resolution levels"); + cmd.addOption("--progression", "-po", 1, "LRCP/RLCP/RPCL/PCRL/CPRL (default: LRCP)", + "progression order for layer, resolution,\ncomponent and position"); +#ifdef WITH_OPENJPEG + cmd.addSubGroup("JPEG 2000 codec:"); + cmd.addOption("--openjpeg", "+co", "use OpenJPEG codec (default)"); + + cmd.addOption("--jasper", "+cj", "use JasPer codec"); + cmd.addOption("--threads", "+t", 1, "[t]hreads: integer (default: 1)", + "use t threads in the decoder (not with --jasper)"); +#endif /* WITH_OPENJPEG */ +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ + + cmd.addSubGroup("other transformations:"); + cmd.addOption("--grayscale", "+G", "convert color image to grayscale (monochrome)"); + cmd.addOption("--change-polarity", "+P", "change polarity (invert pixel output)"); + cmd.addOption("--clip-region", "+C", 4, "[l]eft [t]op [w]idth [h]eight: integer", + "clip image region (l, t, w, h)"); + + cmd.addGroup("output options:"); + cmd.addSubGroup("general:"); + cmd.addOption("--image-info", "-im", "print image details (requires verbose mode)"); + cmd.addOption("--no-output", "-o", "do not create any output (useful with -im)"); + cmd.addSubGroup("filename generation (only with --frame-range or --all-frames):"); + cmd.addOption("--use-frame-counter", "+Fc", "use 0-based counter for filenames (default)"); + cmd.addOption("--use-frame-number", "+Fn", "use absolute frame number for filenames"); + cmd.addSubGroup("image format:"); + cmd.addOption("--write-auto", "+oa", "determine file format from filename extension\n(default for files)"); + cmd.addOption("--write-raw-pnm", "+op", "write 8-bit binary PGM/PPM"); + cmd.addOption("--write-8-bit-pnm", "+opb", "write 8-bit ASCII PGM/PPM (default for stdout)"); + cmd.addOption("--write-16-bit-pnm", "+opw", "write 16-bit ASCII PGM/PPM"); + cmd.addOption("--write-n-bit-pnm", "+opn", 1, "[n]umber: integer", + "write n-bit ASCII PGM/PPM (1..32)"); + cmd.addOption("--write-bmp", "+ob", "write 8-bit (monochrome) or 24-bit (color) BMP"); + cmd.addOption("--write-8-bit-bmp", "+obp", "write 8-bit palette BMP (monochrome only)"); + cmd.addOption("--write-24-bit-bmp", "+obt", "write 24-bit truecolor BMP"); + cmd.addOption("--write-32-bit-bmp", "+obr", "write 32-bit truecolor BMP"); +#ifdef WITH_LIBTIFF + cmd.addOption("--write-tiff", "+ot", "write 8-bit (monochrome) or 24-bit (color) TIFF"); +#endif +#ifdef WITH_LIBPNG + cmd.addOption("--write-png", "+on", "write 8-bit (monochrome) or 24-bit (color) PNG"); + cmd.addOption("--write-16-bit-png", "+on2", "write 16-bit (monochrome) or 48-bit (color) PNG"); +#endif + cmd.addOption("--write-jpeg", "+oj", "write 8-bit lossy JPEG (baseline)"); + cmd.addOption("--write-jpls", "+ol", "write JPEG-LS"); + +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG + cmd.addOption("--write-jp2k-cs", "+ok", "write JPEG 2000 code stream"); +#ifdef WITH_OPENJPEG + cmd.addOption("--write-jp2k", "+o2", "write JPEG 2000 file"); +#endif /* WITH_OPENJPEG */ +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ + +#ifdef PASTEL_COLOR_OUTPUT + cmd.addOption("--write-pastel-pnm", "+op", "write 8-bit binary PPM with pastel colors\n(early experimental version)"); +#endif + + if (app.parseCommandLine(cmd, argc, argv)) + { + /* check exclusive options first */ + if (cmd.hasExclusiveOption()) + { + if (cmd.findOption("--version")) + { + app.printHeader(OFTrue /*print host identifier*/); + COUT << OFendl << "External libraries used:" << OFendl; +#ifdef WITH_ZLIB + COUT << "- ZLIB, Version " << zlibVersion() << OFendl; +#endif + COUT << "- " << DiJPEGPlugin::getLibraryVersionString() << OFendl; + COUT << "- " << DJLSDecoderRegistration::getLibraryVersionString() << OFendl; +#ifdef WITH_LIBTIFF + COUT << "- " << DiTIFFPlugin::getLibraryVersionString() << OFendl; +#endif +#ifdef WITH_LIBPNG + COUT << "- " << DiPNGPlugin::getLibraryVersionString() << OFendl; +#endif + return 0; + } + } + + /* command line parameters */ + + cmd.getParam(1, opt_ifname); + cmd.getParam(2, opt_ofname); + + /* general options */ + + OFLog::configureFromCommandLine(cmd, app); + + /* input options: input file format */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--read-file")) opt_readMode = ERM_autoDetect; + if (cmd.findOption("--read-file-only")) opt_readMode = ERM_fileOnly; + if (cmd.findOption("--read-dataset")) opt_readMode = ERM_dataset; + cmd.endOptionBlock(); + + /* input options: input transfer syntax */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--read-xfer-auto")) + opt_transferSyntax = EXS_Unknown; + if (cmd.findOption("--read-xfer-detect")) + dcmAutoDetectDatasetXfer.set(OFTrue); + if (cmd.findOption("--read-xfer-little")) + { + app.checkDependence("--read-xfer-little", "--read-dataset", opt_readMode == ERM_dataset); + opt_transferSyntax = EXS_LittleEndianExplicit; + } + if (cmd.findOption("--read-xfer-big")) + { + app.checkDependence("--read-xfer-big", "--read-dataset", opt_readMode == ERM_dataset); + opt_transferSyntax = EXS_BigEndianExplicit; + } + if (cmd.findOption("--read-xfer-implicit")) + { + app.checkDependence("--read-xfer-implicit", "--read-dataset", opt_readMode == ERM_dataset); + opt_transferSyntax = EXS_LittleEndianImplicit; + } + cmd.endOptionBlock(); + + /* image processing options: compatibility options */ + + if (cmd.findOption("--accept-acr-nema")) + opt_compatibilityMode |= CIF_AcrNemaCompatibility; + if (cmd.findOption("--accept-palettes")) + opt_compatibilityMode |= CIF_WrongPaletteAttributeTags; + if (cmd.findOption("--check-lut-depth")) + opt_compatibilityMode |= CIF_CheckLutBitDepth; + if (cmd.findOption("--ignore-mlut-depth")) + opt_compatibilityMode |= CIF_IgnoreModalityLutBitDepth; + if (cmd.findOption("--ignore-vlut-depth")) + opt_ignoreVoiLutDepth = OFTrue; + + /* image processing options: frame selection */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--frame")) + app.checkValue(cmd.getValueAndCheckMin(opt_frame, 1)); + if (cmd.findOption("--frame-range")) + { + app.checkValue(cmd.getValueAndCheckMin(opt_frame, 1)); + app.checkValue(cmd.getValueAndCheckMin(opt_frameCount, 1)); + opt_multiFrame = OFTrue; + } + if (cmd.findOption("--all-frames")) + { + opt_frameCount = 0; + opt_multiFrame = OFTrue; + } + cmd.endOptionBlock(); + + /* image processing options: other transformations */ + + if (cmd.findOption("--grayscale")) + opt_convertToGrayscale = 1; + if (cmd.findOption("--change-polarity")) + opt_changePolarity = 1; + + if (cmd.findOption("--clip-region")) + { + app.checkValue(cmd.getValue(opt_left)); + app.checkValue(cmd.getValue(opt_top)); + app.checkValue(cmd.getValue(opt_width)); + app.checkValue(cmd.getValue(opt_height)); + opt_useClip = 1; + } + + /* image processing options: rotation */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--rotate-left")) + opt_rotateDegree = 270; + if (cmd.findOption("--rotate-right")) + opt_rotateDegree = 90; + if (cmd.findOption("--rotate-top-down")) + opt_rotateDegree = 180; + cmd.endOptionBlock(); + + /* image processing options: flipping */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--flip-horizontally")) + opt_flipType = 1; + if (cmd.findOption("--flip-vertically")) + opt_flipType = 2; + if (cmd.findOption("--flip-both-axes")) + opt_flipType = 3; + cmd.endOptionBlock(); + + /* image processing options: scaling */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--recognize-aspect")) + opt_useAspectRatio = 1; + if (cmd.findOption("--ignore-aspect")) + opt_useAspectRatio = 0; + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--interpolate")) + app.checkValue(cmd.getValueAndCheckMinMax(opt_useInterpolation, 1, 4)); + if (cmd.findOption("--no-interpolation")) + opt_useInterpolation = 0; + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--no-scaling")) + opt_scaleType = 0; + if (cmd.findOption("--scale-x-factor")) + { + opt_scaleType = 1; + app.checkValue(cmd.getValueAndCheckMin(opt_scale_factor, 0.0, OFFalse)); + } + if (cmd.findOption("--scale-y-factor")) + { + opt_scaleType = 2; + app.checkValue(cmd.getValueAndCheckMin(opt_scale_factor, 0.0, OFFalse)); + } + if (cmd.findOption("--scale-x-size")) + { + opt_scaleType = 3; + app.checkValue(cmd.getValueAndCheckMin(opt_scale_size, 1)); + } + if (cmd.findOption("--scale-y-size")) + { + opt_scaleType = 4; + app.checkValue(cmd.getValueAndCheckMin(opt_scale_size, 1)); + } + cmd.endOptionBlock(); + + /* image processing options: color space conversion */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--conv-photometric")) + opt_decompCSconversion = EDC_photometricInterpretation; + if (cmd.findOption("--conv-lossy")) + opt_decompCSconversion = EDC_lossyOnly; + if (cmd.findOption("--conv-guess")) + opt_decompCSconversion = EDC_guess; + if (cmd.findOption("--conv-guess-lossy")) + opt_decompCSconversion = EDC_guessLossyOnly; + if (cmd.findOption("--conv-always")) + opt_decompCSconversion = EDC_always; + if (cmd.findOption("--conv-never")) + opt_decompCSconversion = EDC_never; + cmd.endOptionBlock(); + + if (cmd.findOption("--workaround-pred6")) opt_predictor6WorkaroundEnable = OFTrue; + if (cmd.findOption("--workaround-incpl")) opt_forceSingleFragmentPerFrame = OFTrue; + if (cmd.findOption("--workaround-cornell")) opt_cornellWorkaroundEnable = OFTrue; + + /* image processing options: modality LUT transformation */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--no-modality")) + opt_compatibilityMode |= CIF_IgnoreModalityTransformation; + if (cmd.findOption("--use-modality")) + opt_compatibilityMode &= ~CIF_IgnoreModalityTransformation; + cmd.endOptionBlock(); + + /* image processing options: VOI LUT transformation */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--no-windowing")) + opt_windowType = 0; + if (cmd.findOption("--use-window")) + { + opt_windowType = 1; + app.checkValue(cmd.getValueAndCheckMin(opt_windowParameter, 1)); + } + if (cmd.findOption("--use-voi-lut")) + { + opt_windowType = 2; + app.checkValue(cmd.getValueAndCheckMin(opt_windowParameter, 1)); + } + if (cmd.findOption("--min-max-window")) + opt_windowType = 3; + if (cmd.findOption("--min-max-window-n")) + opt_windowType = 6; + if (cmd.findOption("--roi-min-max-window")) + { + opt_windowType = 7; + app.checkValue(cmd.getValue(opt_roiLeft)); + app.checkValue(cmd.getValue(opt_roiTop)); + app.checkValue(cmd.getValueAndCheckMin(opt_roiWidth, 1)); + app.checkValue(cmd.getValueAndCheckMin(opt_roiHeight, 1)); + } + if (cmd.findOption("--histogram-window")) + { + opt_windowType = 4; + app.checkValue(cmd.getValueAndCheckMinMax(opt_windowParameter, 0, 100)); + } + if (cmd.findOption("--set-window")) + { + opt_windowType = 5; + app.checkValue(cmd.getValue(opt_windowCenter)); + app.checkValue(cmd.getValueAndCheckMin(opt_windowWidth, 1.0)); + } + cmd.endOptionBlock(); + cmd.beginOptionBlock(); + if (cmd.findOption("--linear-function")) + opt_voiFunction = EFV_Linear; + if (cmd.findOption("--sigmoid-function")) + opt_voiFunction = EFV_Sigmoid; + cmd.endOptionBlock(); + + /* image processing options: presentation LUT transformation */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--identity-shape")) + opt_presShape = ESP_Identity; + if (cmd.findOption("--inverse-shape")) + opt_presShape = ESP_Inverse; + if (cmd.findOption("--lin-od-shape")) + opt_presShape = ESP_LinOD; + cmd.endOptionBlock(); + + /* image processing options: display LUT transformation */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--monitor-file")) + { + app.checkValue(cmd.getValue(opt_displayFile)); + deviceType = DiDisplayFunction::EDT_Monitor; + } + if (cmd.findOption("--printer-file")) + { + app.checkValue(cmd.getValue(opt_displayFile)); + deviceType = DiDisplayFunction::EDT_Printer; + } + cmd.endOptionBlock(); + + if (cmd.findOption("--ambient-light")) + app.checkValue(cmd.getValueAndCheckMin(opt_ambientLight, 0)); + if (cmd.findOption("--illumination")) + app.checkValue(cmd.getValueAndCheckMin(opt_illumination, 0)); + if (cmd.findOption("--min-density")) + { + app.checkDependence("--min-density", "--printer-file", deviceType == DiDisplayFunction::EDT_Printer); + app.checkValue(cmd.getValueAndCheckMin(opt_minDensity, 0)); + } + if (cmd.findOption("--max-density")) + { + app.checkDependence("--max-density", "--printer-file", deviceType == DiDisplayFunction::EDT_Printer); + app.checkValue(cmd.getValueAndCheckMin(opt_maxDensity, (opt_minDensity < 0) ? 0.0 : opt_minDensity, OFFalse /*incl*/)); + } + + cmd.beginOptionBlock(); + if (cmd.findOption("--gsd-function")) + opt_displayFunction = 0; + if (cmd.findOption("--cielab-function")) + opt_displayFunction = 1; + cmd.endOptionBlock(); + + /* image processing options: overlay */ + + cmd.beginOptionBlock(); + if (cmd.findOption("--no-overlays")) + { + opt_O_used = 1; + for (i = 0; i < 16; i++) + opt_Overlay[i] = 0; + } + if (cmd.findOption("--display-overlay", 0, OFCommandLine::FOM_First)) + { + do { + unsigned long l; + app.checkValue(cmd.getValueAndCheckMinMax(l, 0, 16)); + if (!opt_O_used) + { + for (i = 0; i < 16; i++) opt_Overlay[i] = 0; + opt_O_used = 1; + } + if (l > 0) + opt_Overlay[l - 1] = 1; + else + { + for (i = 0; i < 16; i++) + opt_Overlay[i] = 2; + } + } while (cmd.findOption("--display-overlay", 0, OFCommandLine::FOM_Next)); + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--ovl-replace")) + opt_OverlayMode = EMO_Replace; + if (cmd.findOption("--ovl-threshold")) + opt_OverlayMode = EMO_ThresholdReplace; + if (cmd.findOption("--ovl-complement")) + opt_OverlayMode = EMO_Complement; + if (cmd.findOption("--ovl-invert")) + opt_OverlayMode = EMO_InvertBitmap; + if (cmd.findOption("--ovl-roi")) + opt_OverlayMode = EMO_RegionOfInterest; + cmd.endOptionBlock(); + + if (cmd.findOption("--set-foreground")) + app.checkValue(cmd.getValueAndCheckMinMax(opt_foregroundDensity, 0.0, 1.0)); + if (cmd.findOption("--set-threshold")) + app.checkValue(cmd.getValueAndCheckMinMax(opt_thresholdDensity, 0.0, 1.0)); + + /* image processing options: TIFF options */ + +#ifdef WITH_LIBTIFF + cmd.beginOptionBlock(); + if (cmd.findOption("--compr-lzw")) opt_tiffCompression = E_tiffLZWCompression; + if (cmd.findOption("--compr-rle")) opt_tiffCompression = E_tiffPackBitsCompression; + if (cmd.findOption("--compr-none")) opt_tiffCompression = E_tiffNoCompression; + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--predictor-default")) opt_lzwPredictor = E_tiffLZWPredictorDefault; + if (cmd.findOption("--predictor-none")) opt_lzwPredictor = E_tiffLZWPredictorNoPrediction; + if (cmd.findOption("--predictor-horz")) opt_lzwPredictor = E_tiffLZWPredictorHDifferencing; + cmd.endOptionBlock(); + + if (cmd.findOption("--rows-per-strip")) + app.checkValue(cmd.getValueAndCheckMinMax(opt_rowsPerStrip, 0, 65535)); +#endif + + /* image processing options: PNG options */ + +#ifdef WITH_LIBPNG + cmd.beginOptionBlock(); + if (cmd.findOption("--interlace")) opt_interlace = E_pngInterlaceAdam7; + if (cmd.findOption("--nointerlace")) opt_interlace = E_pngInterlaceNone; + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--meta-none")) opt_metainfo = E_pngNoMetainfo; + if (cmd.findOption("--meta-file")) opt_metainfo = E_pngFileMetainfo; + cmd.endOptionBlock(); +#endif + + /* image processing options: JPEG options */ + + if (cmd.findOption("--compr-quality")) + app.checkValue(cmd.getValueAndCheckMinMax(opt_quality, 0, 100)); + cmd.beginOptionBlock(); + if (cmd.findOption("--sample-444")) + opt_sampling = ESS_444; + if (cmd.findOption("--sample-422")) + opt_sampling = ESS_422; + if (cmd.findOption("--sample-411")) + opt_sampling = ESS_411; + cmd.endOptionBlock(); + + /* JPEG-LS options */ + + if (cmd.findOption("--force-8-bit")) + opt_force_8_bit = OFTrue; + + cmd.beginOptionBlock(); + if (cmd.findOption("--rendered-lossless")) + opt_true_lossless = OFFalse; + if (cmd.findOption("--true-lossless")) + { + app.checkConflict("--force-8-bit", "--true-lossless", opt_force_8_bit); + app.checkConflict("--grayscale", "--true-lossless", opt_convertToGrayscale); + app.checkConflict("--change-polarity", "--true-lossless", opt_changePolarity); + app.checkConflict("--clip-region", "--true-lossless", opt_useClip); + app.checkConflict("--rotate-left", "--true-lossless", opt_rotateDegree == 270); + app.checkConflict("--rotate-right", "--true-lossless", opt_rotateDegree == 90); + app.checkConflict("--rotate-top-down", "--true-lossless", opt_rotateDegree == 180); + app.checkConflict("--flip-horizontally", "--true-lossless", opt_flipType == 1); + app.checkConflict("--flip-vertically", "--true-lossless", opt_flipType == 2); + app.checkConflict("--flip-both-axes", "--true-lossless", opt_flipType == 3); + app.checkConflict("--recognize-aspect", "--true-lossless", cmd.findOption("--recognize-aspect")); + app.checkConflict("--ignore-aspect", "--true-lossless", cmd.findOption("--ignore-aspect")); + app.checkConflict("--interpolate", "--true-lossless", cmd.findOption("--interpolate")); + app.checkConflict("--scale-x-factor", "--true-lossless", opt_scaleType == 1); + app.checkConflict("--scale-y-factor", "--true-lossless", opt_scaleType == 2); + app.checkConflict("--scale-x-size", "--true-lossless", opt_scaleType == 3); + app.checkConflict("--scale-y-size", "--true-lossless", opt_scaleType == 4); + app.checkConflict("--use-window", "--true-lossless", opt_windowType == 1); + app.checkConflict("--use-voi-lut", "--true-lossless", opt_windowType == 2); + app.checkConflict("--min-max-window", "--true-lossless", opt_windowType == 3); + app.checkConflict("--histogram-window", "--true-lossless", opt_windowType == 4); + app.checkConflict("--set-window", "--true-lossless", opt_windowType == 5); + app.checkConflict("--min-max-window-n", "--true-lossless", opt_windowType == 6); + app.checkConflict("--roi-min-max-window", "--true-lossless", opt_windowType == 7); + app.checkConflict("--use-window", "--true-lossless", opt_windowType == 1); + app.checkConflict("--use-window", "--true-lossless", opt_windowType == 1); + app.checkConflict("--use-window", "--true-lossless", opt_windowType == 1); + app.checkConflict("--linear-function", "--true-lossless", opt_voiFunction == EFV_Linear); + app.checkConflict("--sigmoid-function", "--true-lossless", opt_voiFunction == EFV_Sigmoid); + app.checkConflict("--identity-shape", "--true-lossless", opt_presShape == ESP_Identity); + app.checkConflict("--inverse-shape", "--true-lossless", opt_presShape == ESP_Inverse); + app.checkConflict("--lin-od-shape", "--true-lossless", opt_presShape == ESP_LinOD); + app.checkConflict("--monitor-file", "--true-lossless", deviceType == DiDisplayFunction::EDT_Monitor && opt_displayFile.length() > 0); + app.checkConflict("--printer-file", "--true-lossless", deviceType == DiDisplayFunction::EDT_Printer && opt_displayFile.length() > 0); + app.checkConflict("--ambient-light", "--true-lossless", opt_ambientLight != -1); + app.checkConflict("--illumination", "--true-lossless", opt_illumination != -1); + app.checkConflict("--min-density", "--true-lossless", opt_minDensity != -1); + app.checkConflict("--max-density", "--true-lossless", opt_maxDensity != -1); + app.checkConflict("--gsd-function", "--true-lossless", cmd.findOption("--gsd-function")); + app.checkConflict("--cielab-function", "--true-lossless", opt_displayFunction == 1); + app.checkConflict("--display-overlay", "--true-lossless", cmd.findOption("--display-overlay", 0, OFCommandLine::FOM_First)); + app.checkConflict("--ovl-replace", "--true-lossless", opt_OverlayMode == EMO_Replace); + app.checkConflict("--ovl-threshold", "--true-lossless", opt_OverlayMode == EMO_ThresholdReplace); + app.checkConflict("--ovl-complement", "--true-lossless", opt_OverlayMode == EMO_Complement); + app.checkConflict("--ovl-invert", "--true-lossless", opt_OverlayMode == EMO_InvertBitmap); + app.checkConflict("--ovl-roi", "--true-lossless", opt_OverlayMode == EMO_RegionOfInterest); + app.checkConflict("--set-foreground", "--true-lossless", cmd.findOption("--set-foreground")); + app.checkConflict("--set-threshold", "--true-lossless", cmd.findOption("--set-threshold")); + opt_true_lossless = OFTrue; + } + cmd.endOptionBlock(); + +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG +#ifdef WITH_OPENJPEG + cmd.beginOptionBlock(); + if (cmd.findOption("--openjpeg")) opt_use_openjpeg = OFTrue; + if (cmd.findOption("--jasper")) opt_use_openjpeg = OFFalse; + cmd.endOptionBlock(); + + if (cmd.findOption("--threads")) + { + app.checkConflict("--threads", "--jasper", !opt_use_openjpeg); + // we limit the number of threads for decoding a single JPEG 2000 frame to 1024, which should be more than enough. + app.checkValue(cmd.getValueAndCheckMinMax(openJPEGNumThreads, 1, 1024)); + } +#endif /* WITH_OPENJPEG */ + + if (cmd.findOption("--rendered-lossy")) + { + app.checkConflict("--rendered-lossless", "--rendered-lossy", cmd.findOption("--rendered-lossless")); + app.checkConflict("--true-lossless", "--rendered-lossy", opt_true_lossless); + opt_lossy_jp2k = OFTrue; + } + + cmd.beginOptionBlock(); + if (cmd.findOption("--compression-ratio")) + { + app.checkConflict("--compression-ratio", "--rendered-lossless", cmd.findOption("--rendered-lossless")); + app.checkConflict("--compression-ratio", "--true-lossless", opt_true_lossless); + app.checkValue(cmd.getValueAndCheckMin(opt_compression_ratio, 0.0, OFFalse)); + if (opt_compression_ratio >= 1.0) app.checkValue(OFCommandLine::VS_Overflow); + } + if (cmd.findOption("--compressed-size")) + { + app.checkConflict("--compressed-size", "--rendered-lossless", cmd.findOption("--rendered-lossless")); + app.checkConflict("--compressed-size", "--true-lossless", opt_true_lossless); + app.checkValue(cmd.getValueAndCheckMin(opt_compressed_size, 1)); + } + cmd.endOptionBlock(); + + if (cmd.findOption("--tile-size-x")) + { + app.checkValue(cmd.getValue(opt_tile_size_x)); + } + if (cmd.findOption("--tile-size-y")) + { + app.checkValue(cmd.getValue(opt_tile_size_y)); + } + + if (cmd.findOption("--levels")) + { + app.checkValue(cmd.getValueAndCheckMinMax(opt_levels, 1, 255)); + } + if (cmd.findOption("--progression")) + { + OFCmdString progressionMode; + app.checkValue(cmd.getValue(progressionMode)); + if ((progressionMode == "lrcp") || (progressionMode == "LRCP")) opt_progression = EJ2O_progression_lrcp; + else if ((progressionMode == "rlcp") || (progressionMode == "RLCP")) opt_progression = EJ2O_progression_rlcp; + else if ((progressionMode == "rpcl") || (progressionMode == "RPCL")) opt_progression = EJ2O_progression_rpcl; + else if ((progressionMode == "pcrl") || (progressionMode == "PCRL")) opt_progression = EJ2O_progression_pcrl; + else if ((progressionMode == "cprl") || (progressionMode == "CPRL")) opt_progression = EJ2O_progression_cprl; + else + { + app.printError("known --progression modes are LRCP, RLCP, RPCL, PCRL or CPRL"); + } + } + +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ + + /* output options */ + + if (cmd.findOption("--image-info")) + { + app.checkDependence("--image-info", "verbose mode", dcm2imgLogger.isEnabledFor(OFLogger::INFO_LOG_LEVEL)); + opt_imageInfo = 1; + } + + cmd.beginOptionBlock(); + if (cmd.findOption("--use-frame-counter")) + { + app.checkDependence("--use-frame-counter", "--frame-range or --all-frames", opt_multiFrame); + opt_useFrameNumber = OFFalse; + } + if (cmd.findOption("--use-frame-number")) + { + app.checkDependence("--use-frame-number", "--frame-range or --all-frames", opt_multiFrame); + opt_useFrameNumber = OFTrue; + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--no-output")) + opt_suppressOutput = 1; + if (cmd.findOption("--write-raw-pnm")) + opt_fileType = EFT_RawPNM; + if (cmd.findOption("--write-8-bit-pnm")) + opt_fileType = EFT_8bitPNM; + if (cmd.findOption("--write-16-bit-pnm")) + opt_fileType = EFT_16bitPNM; + if (cmd.findOption("--write-n-bit-pnm")) + { + opt_fileType = EFT_NbitPNM; + app.checkValue(cmd.getValueAndCheckMinMax(opt_fileBits, 1, 32)); + } + if (cmd.findOption("--write-bmp")) + opt_fileType = EFT_BMP; + if (cmd.findOption("--write-8-bit-bmp")) + opt_fileType = EFT_8bitBMP; + if (cmd.findOption("--write-24-bit-bmp")) + opt_fileType = EFT_24bitBMP; + if (cmd.findOption("--write-32-bit-bmp")) + opt_fileType = EFT_32bitBMP; + if (cmd.findOption("--write-jpeg")) + opt_fileType = EFT_JPEG; + if (cmd.findOption("--write-jpls")) + opt_fileType = EFT_JPLS; +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG + if (cmd.findOption("--write-jp2k-cs")) + { + opt_fileType = EFT_JP2K_CS; + } +#ifdef WITH_OPENJPEG + if (cmd.findOption("--write-jp2k")) + { + app.checkConflict("--write-jp2k", "--jasper", !opt_use_openjpeg); + opt_fileType = EFT_JP2K_FILE; + } +#endif /* WITH_OPENJPEG */ +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ +#ifdef WITH_LIBTIFF + if (cmd.findOption("--write-tiff")) + opt_fileType = EFT_TIFF; +#endif +#ifdef WITH_LIBPNG + if (cmd.findOption("--write-png")) + opt_fileType = EFT_PNG; + if (cmd.findOption("--write-16-bit-png")) + opt_fileType = EFT_16bitPNG; +#endif +#ifdef PASTEL_COLOR_OUTPUT + if (cmd.findOption("--write-pastel-pnm")) + opt_fileType = EFT_PastelPNM; +#endif + if (opt_ofname && (opt_fileType == EFT_default|| cmd.findOption("--write-auto"))) + opt_fileType = getFileTypeByExtension(opt_ofname); + cmd.endOptionBlock(); + } + + /* print resource identifier */ + OFLOG_DEBUG(dcm2imgLogger, rcsid << OFendl); + + /* make sure data dictionary is loaded */ + if (!dcmDataDict.isDictionaryLoaded()) + { + OFLOG_WARN(dcm2imgLogger, "no data dictionary loaded, check environment variable: " + << DCM_DICT_ENVIRONMENT_VARIABLE); + } + + if (opt_suppressOutput && opt_ofname) + OFLOG_WARN(dcm2imgLogger, "ignoring parameter bitmap-out because of option --no-output"); + + OFLOG_INFO(dcm2imgLogger, "reading DICOM file: " << opt_ifname); + + // register RLE decompression codec + DcmRLEDecoderRegistration::registerCodecs(); + + // register JPEG decompression codecs + DJDecoderRegistration::registerCodecs(opt_decompCSconversion, EUC_default, + EPC_default, opt_predictor6WorkaroundEnable, opt_cornellWorkaroundEnable, + opt_forceSingleFragmentPerFrame); + + // register JPEG-LS decompression codecs + DJLSDecoderRegistration::registerCodecs(); + +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG +#ifdef WITH_OPENJPEG + if (opt_use_openjpeg) + { + // register global OpenJPEG decompression codecs + O2DecoderRegistration::registerCodecs(EJ2UC_default, EJ2PC_restore, OFstatic_cast(int, openJPEGNumThreads), 0 /* decoder flags */, OFTrue, OFTrue); + } + else + { + // register global JasPer decompression codecs + D2DecoderRegistration::registerCodecs(); + } +#else /* WITH_OPENJPEG */ + // register global JasPer decompression codecs + D2DecoderRegistration::registerCodecs(); +#endif /* WITH_OPENJPEG */ +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ + + DcmFileFormat *dfile = new DcmFileFormat(); + OFCondition cond = dfile->loadFile(opt_ifname, opt_transferSyntax, EGL_withoutGL, DCM_MaxReadLength, opt_readMode); + + if (cond.bad()) + { + OFLOG_FATAL(dcm2imgLogger, cond.text() << ": reading file: " << opt_ifname); + return 1; + } + + OFLOG_INFO(dcm2imgLogger, "preparing pixel data"); + + DcmDataset *dataset = dfile->getDataset(); + E_TransferSyntax xfer = dataset->getOriginalXfer(); + + Sint32 frameCount; + if (dataset->findAndGetSint32(DCM_NumberOfFrames, frameCount).bad()) + frameCount = 1; + if ((opt_frameCount == 0) || ((opt_frame == 1) && (opt_frameCount == OFstatic_cast(Uint32, frameCount)))) + { + // since we process all frames anyway, decompress the complete pixel data (if required) + opt_compatibilityMode |= CIF_DecompressCompletePixelData; + } + if ((frameCount > 1) && !(opt_compatibilityMode & CIF_DecompressCompletePixelData)) + { + // use partial read access to pixel data (only in case of multiple frames, but not for all frames) + opt_compatibilityMode |= CIF_UsePartialAccessToPixelData; + } + + DicomImage *di = new DicomImage(dfile, xfer, opt_compatibilityMode, opt_frame - 1, opt_frameCount); + if (di == NULL) + { + OFLOG_FATAL(dcm2imgLogger, "Out of memory"); + return 1; + } + + if (di->getStatus() != EIS_Normal) + { + OFLOG_FATAL(dcm2imgLogger, DicomImage::getString(di->getStatus())); + return 1; + } + + /* create & set display function */ + DiDisplayFunction *disp = NULL; + if (!opt_displayFile.empty()) + { + if (opt_displayFunction == 1) + disp = new DiCIELABFunction(opt_displayFile.c_str(), deviceType); + else + disp = new DiGSDFunction(opt_displayFile.c_str(), deviceType); + if (disp != NULL) + { + if (opt_ambientLight >= 0) + disp->setAmbientLightValue(opt_ambientLight); + if (opt_illumination >= 0) + disp->setIlluminationValue(opt_illumination); + if (opt_minDensity >= 0) + disp->setMinDensityValue(opt_minDensity); + if (opt_maxDensity >= 0) + disp->setMaxDensityValue(opt_maxDensity); + if ((di != NULL) && (disp->isValid())) + { + OFLOG_INFO(dcm2imgLogger, "activating " + << ((opt_displayFunction == 1) ? "CIELAB" : "GSDF") + << " display function for " + << ((deviceType == DiDisplayFunction::EDT_Monitor) ? "softcopy" : "hardcopy") + << " devices"); + if (!di->setDisplayFunction(disp)) + OFLOG_WARN(dcm2imgLogger, "cannot select display function"); + } + } + } + + if (opt_imageInfo) + { + dumpImageParameters(xfer, di, dataset, opt_ifname); + } + + if (!opt_suppressOutput) + { + /* try to select frame */ + if (opt_frame != di->getFirstFrame() + 1) + { + OFLOG_FATAL(dcm2imgLogger, "cannot select frame " << opt_frame << ", invalid frame number"); + return 1; + } + + /* convert to grayscale if image is not monochrome */ + if ((opt_convertToGrayscale) && (!di->isMonochrome())) + { + di = convertToGrayscale(di); + if (di == NULL) return 1; + } + + /* process overlay parameters */ + processOverlayParameters(di, opt_Overlay, opt_OverlayMode, opt_foregroundDensity, opt_thresholdDensity); + + /* process VOI parameters */ + int result = processVOIParameters(di, opt_windowType, opt_windowParameter, + opt_windowCenter, opt_windowWidth, opt_voiFunction, opt_ignoreVoiLutDepth, + opt_roiLeft, opt_roiTop, opt_roiWidth, opt_roiHeight); + if (result) return result; + + /* process presentation LUT parameters */ + processPLUTParameters(di, opt_presShape); + + /* change polarity */ + if (opt_changePolarity) + { + OFLOG_INFO(dcm2imgLogger, "setting polarity to REVERSE"); + if (!di->setPolarity(EPP_Reverse)) + OFLOG_WARN(dcm2imgLogger, "cannot set polarity"); + } + + /* perform clipping */ + di = performClipping(di, opt_useClip, opt_scaleType, opt_left, + opt_top, opt_width, opt_height); + if (di == NULL) return 1; + + /* perform rotation */ + performRotation(di, opt_rotateDegree); + + /* perform flipping */ + performFlip(di, opt_flipType); + + /* perform scaling */ + di = performScaling(di, opt_useClip, opt_scaleType, opt_left, opt_top, + opt_width, opt_height, opt_scale_factor, opt_scale_size, + opt_useInterpolation, opt_useAspectRatio); + if (di == NULL) return 1; + + /* write selected frame(s) to file */ + + FILE *ofile = NULL; + OFString ofname; + + /* determine default file extension */ + const char *ofext = getDefaultExtension(di, opt_fileType); + + unsigned int fcount = OFstatic_cast(unsigned int, ((opt_frameCount > 0) && (opt_frameCount <= di->getFrameCount())) ? opt_frameCount : di->getFrameCount()); + if (fcount < opt_frameCount) + { + OFLOG_WARN(dcm2imgLogger, "cannot select " << opt_frameCount << " frames, limiting to " + << fcount << " frames"); + } + + for (unsigned int frame = 0; frame < fcount; frame++) + { + if (opt_ofname) + { + /* output to file */ + if (opt_multiFrame) + { + OFOStringStream stream; + /* generate output filename */ + stream << opt_ofname << "."; + if (opt_useFrameNumber) + stream << "f" << (opt_frame + frame); + else + stream << frame; + stream << "." << ofext << OFStringStream_ends; + /* convert string stream into a character string */ + OFSTRINGSTREAM_GETSTR(stream, buffer_str) + ofname.assign(buffer_str); + OFSTRINGSTREAM_FREESTR(buffer_str) + } + else + { + ofname.assign(opt_ofname); + } + + OFLOG_INFO(dcm2imgLogger, "writing frame " << (opt_frame + frame) << " to " << ofname); + ofile = fopen(ofname.c_str(), "wb"); + if (ofile == NULL) + { + OFLOG_FATAL(dcm2imgLogger, "cannot create file " << ofname); + return 1; + } + } else { + /* output to stdout */ + ofile = stdout; +#ifdef _WIN32 + /* switch stdout to binary mode to prevent LF to CR/LF conversion */ + setmode(fileno(stdout), O_BINARY); +#endif + OFLOG_INFO(dcm2imgLogger, "writing frame " << (opt_frame + frame) << " to stdout"); + } + + /* finally create output image file */ + + switch (opt_fileType) + { + case EFT_RawPNM: + OFLOG_INFO(dcm2imgLogger, "writing 8-bit binary PGM/PPM"); + result = di->writeRawPPM(ofile, 8, frame); + break; + case EFT_8bitPNM: + OFLOG_INFO(dcm2imgLogger, "writing 8-bit ASCII PGM/PPM"); + result = di->writePPM(ofile, 8, frame); + break; + case EFT_16bitPNM: + OFLOG_INFO(dcm2imgLogger, "writing 16-bit ASCII PGM/PPM"); + result = di->writePPM(ofile, 16, frame); + break; + case EFT_NbitPNM: + OFLOG_INFO(dcm2imgLogger, "writing " << opt_fileBits << "-bit ASCII PGM/PPM"); + result = di->writePPM(ofile, OFstatic_cast(int, opt_fileBits), frame); + break; + case EFT_BMP: + OFLOG_INFO(dcm2imgLogger, (di->isMonochrome() ? "writing 8-bit monochrome BMP" : "writing 24-bit color BMP")); + result = di->writeBMP(ofile, 0, frame); + break; + case EFT_8bitBMP: + OFLOG_INFO(dcm2imgLogger, "writing 8-bit palette BMP"); + result = di->writeBMP(ofile, 8, frame); + break; + case EFT_24bitBMP: + OFLOG_INFO(dcm2imgLogger, "writing 24-bit truecolor BMP"); + result = di->writeBMP(ofile, 24, frame); + break; + case EFT_32bitBMP: + OFLOG_INFO(dcm2imgLogger, "writing 32-bit truecolor BMP"); + result = di->writeBMP(ofile, 32, frame); + break; + case EFT_JPEG: + { + OFLOG_INFO(dcm2imgLogger, "writing 8-bit lossy JPEG (baseline)"); + /* initialize JPEG plugin */ + DiJPEGPlugin plugin; + plugin.setQuality(OFstatic_cast(unsigned int, opt_quality)); + plugin.setSampling(opt_sampling); + result = di->writePluginFormat(&plugin, ofile, frame); + } + break; + case EFT_JPLS: + { + OFLOG_INFO(dcm2imgLogger, (opt_true_lossless ? "writing JPEG-LS (raw)" : "writing JPEG-LS (rendered)")); + /* initialize JPEG-LS plugin */ + DiJPLSPlugin plugin; + plugin.setTrueLosslessMode(opt_true_lossless); + plugin.setForce8BitMode(opt_force_8_bit); + result = di->writePluginFormat(&plugin, ofile, frame); + } + break; +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG + case EFT_JP2K_CS: +#ifdef WITH_OPENJPEG + case EFT_JP2K_FILE: + if (opt_fileType == EFT_JP2K_FILE) OFLOG_INFO(dcm2imgLogger, (opt_true_lossless ? "writing JPEG 2000 file (raw)" : "writing JPEG 2000 file (rendered)")); + else OFLOG_INFO(dcm2imgLogger, (opt_true_lossless ? "writing JPEG 2000 code stream (raw)" : "writing JPEG 2000 code stream (rendered)")); +#else /* WITH_OPENJPEG */ + OFLOG_INFO(dcm2imgLogger, (opt_true_lossless ? "writing JPEG 2000 code stream (raw)" : "writing JPEG 2000 code stream (rendered)")); +#endif /* WITH_OPENJPEG */ + { + /* initialize JPEG 2000 plugin */ + DiJP2000Plugin plugin; + plugin.setLossyMode(opt_lossy_jp2k); + plugin.setTrueLosslessMode(opt_true_lossless); + plugin.setForce8BitMode(opt_force_8_bit); + plugin.setCompressionRatio(opt_compression_ratio); + plugin.setCompressedSize(opt_compressed_size); + plugin.setTileSizeX(opt_tile_size_x); + plugin.setTileSizeY(opt_tile_size_y); + plugin.setLevels(opt_levels); + plugin.setProgressionOrder(opt_progression); +#ifdef WITH_OPENJPEG + plugin.useFileFormat(opt_fileType == EFT_JP2K_FILE); + plugin.useOpenJPEG(opt_use_openjpeg); +#endif /* WITH_OPENJPEG */ + result = di->writePluginFormat(&plugin, ofile, frame); + } + break; +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ +#ifdef WITH_LIBTIFF + case EFT_TIFF: + { + OFLOG_INFO(dcm2imgLogger, (di->isMonochrome() ? "writing 8-bit monochrome TIFF" : "writing 24-bit color TIFF")); + /* initialize TIFF plugin */ + DiTIFFPlugin tiffPlugin; + tiffPlugin.setCompressionType(opt_tiffCompression); + tiffPlugin.setLZWPredictor(opt_lzwPredictor); + tiffPlugin.setRowsPerStrip(OFstatic_cast(unsigned long, opt_rowsPerStrip)); + result = di->writePluginFormat(&tiffPlugin, ofile, frame); + } + break; +#endif +#ifdef WITH_LIBPNG + case EFT_PNG: + case EFT_16bitPNG: + { + if (opt_fileType == EFT_PNG) OFLOG_INFO(dcm2imgLogger, (di->isMonochrome() ? "writing 8-bit monochrome PNG" : "writing 24-bit color PNG")); + else OFLOG_INFO(dcm2imgLogger, (di->isMonochrome() ? "writing 16-bit monochrome PNG" : "writing 48-bit color PNG")); + /* initialize PNG plugin */ + DiPNGPlugin pngPlugin; + pngPlugin.setInterlaceType(opt_interlace); + pngPlugin.setMetainfoType(opt_metainfo); + if (opt_fileType == EFT_16bitPNG) + pngPlugin.setBitsPerSample(16); + result = di->writePluginFormat(&pngPlugin, ofile, frame); + } + break; +#endif +#ifdef PASTEL_COLOR_OUTPUT + case EFT_PastelPNM: + OFLOG_INFO(dcm2imgLogger, "writing 8-bit binary PPM with pastel colors"); + result = di->writePPM(ofile, MI_PastelColor, frame); + break; +#endif + default: + if (opt_ofname) + { + OFLOG_INFO(dcm2imgLogger, (di->isMonochrome() ? "writing 8-bit monochrome BMP" : "writing 24-bit color BMP")); + result = di->writeBMP(ofile, 0, frame); + } + else /* stdout */ + { + OFLOG_INFO(dcm2imgLogger, "writing 8-bit ASCII PGM/PPM to stdout"); + result = di->writePPM(ofile, 8, frame); + } + break; + } + + if (opt_ofname) + { + if (fclose(ofile)) + { + OFLOG_FATAL(dcm2imgLogger, "Error while closing file, content may be incomplete."); + return 1; + } + } + if (!result) + { + OFLOG_FATAL(dcm2imgLogger, "cannot write frame"); + return 1; + } + } + } + + /* done, now cleanup. */ + OFLOG_INFO(dcm2imgLogger, "cleaning up memory"); + delete di; + delete disp; + + // deregister RLE decompression codec + DcmRLEDecoderRegistration::cleanup(); + + // deregister JPEG decompression codecs + DJDecoderRegistration::cleanup(); + + // deregister JPEG-LS decompression codecs + DJLSDecoderRegistration::cleanup(); + +#ifdef BUILD_DCM2IMG_AS_DCM2KIMG +#ifdef WITH_OPENJPEG + if (opt_use_openjpeg) O2DecoderRegistration::cleanup(); + else D2DecoderRegistration::cleanup(); +#else /* WITH_OPENJPEG */ + D2DecoderRegistration::cleanup(); +#endif /* WITH_OPENJPEG */ +#endif /* BUILD_DCM2IMG_AS_DCM2KIMG */ + + return 0; +} diff --git a/dcmdata/apps/CMakeLists.txt b/dcmdata/apps/CMakeLists.txt index c295fa71..72caa400 100644 --- a/dcmdata/apps/CMakeLists.txt +++ b/dcmdata/apps/CMakeLists.txt @@ -2,7 +2,7 @@ include_directories(${LIBXML_INCDIR}) # declare executables -foreach(PROGRAM dcm2xml dcmconv dcmcrle dcmdrle dcmdump dcmftest dcmgpdir dump2dcm xml2dcm stl2dcm pdf2dcm dcm2pdf img2dcm dcm2json cda2dcm) +foreach(PROGRAM dcm2xml dcmconv dcmcrle dcmdrle dcmdump dcmftest dcmgpdir dump2dcm xml2dcm stl2dcm pdf2dcm dcm2pdf img2dcm dcm2json cda2dcm dcm2cda) DCMTK_ADD_EXECUTABLE(${PROGRAM} ${PROGRAM}.cc) endforeach() DCMTK_ADD_EXECUTABLE(dcmodify @@ -11,7 +11,7 @@ DCMTK_ADD_EXECUTABLE(dcmodify mdfdsman.cc) # make sure executables are linked to the corresponding libraries -foreach(PROGRAM dcm2xml dcmconv dcmcrle dcmdrle dcmdump dcmgpdir dcmodify dump2dcm xml2dcm stl2dcm pdf2dcm dcm2pdf img2dcm dcm2json cda2dcm) +foreach(PROGRAM dcm2xml dcmconv dcmcrle dcmdrle dcmdump dcmgpdir dcmodify dump2dcm xml2dcm stl2dcm pdf2dcm dcm2pdf img2dcm dcm2json cda2dcm dcm2cda) DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmdata oflog ofstd) endforeach() diff --git a/dcmdata/apps/Makefile.dep b/dcmdata/apps/Makefile.dep index 47fcd528..b1823b72 100644 --- a/dcmdata/apps/Makefile.dep +++ b/dcmdata/apps/Makefile.dep @@ -12,9 +12,9 @@ cda2dcm.o: cda2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -42,12 +42,12 @@ cda2dcm.o: cda2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -90,7 +90,7 @@ cda2dcm.o: cda2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h -dcm2json.o: dcm2json.cc ../../config/include/dcmtk/config/osconfig.h \ +dcm2cda.o: dcm2cda.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -104,9 +104,9 @@ dcm2json.o: dcm2json.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -134,12 +134,12 @@ dcm2json.o: dcm2json.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -176,14 +176,14 @@ dcm2json.o: dcm2json.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/dcvrov.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcjson.h \ + ../include/dcmtk/dcmdata/cmdlnarg.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ - ../../ofstd/include/dcmtk/ofstd/ofchrenc.h -dcm2pdf.o: dcm2pdf.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmdata/dcistrmz.h +dcm2json.o: dcm2json.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -197,9 +197,9 @@ dcm2pdf.o: dcm2pdf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -227,12 +227,12 @@ dcm2pdf.o: dcm2pdf.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -269,14 +269,14 @@ dcm2pdf.o: dcm2pdf.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/dcvrov.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcjson.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ - ../include/dcmtk/dcmdata/dcistrmz.h -dcm2xml.o: dcm2xml.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/ofchrenc.h +dcm2pdf.o: dcm2pdf.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -290,9 +290,9 @@ dcm2xml.o: dcm2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -320,12 +320,12 @@ dcm2xml.o: dcm2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -368,8 +368,8 @@ dcm2xml.o: dcm2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ - ../../ofstd/include/dcmtk/ofstd/ofchrenc.h -dcmconv.o: dcmconv.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmdata/dcistrmz.h +dcm2xml.o: dcm2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -383,9 +383,9 @@ dcmconv.o: dcmconv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -413,12 +413,12 @@ dcmconv.o: dcmconv.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -461,9 +461,8 @@ dcmconv.o: dcmconv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ - ../include/dcmtk/dcmdata/dcostrmz.h ../include/dcmtk/dcmdata/dcistrmz.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h -dcmcrle.o: dcmcrle.cc ../../config/include/dcmtk/config/osconfig.h \ +dcmconv.o: dcmconv.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -477,9 +476,9 @@ dcmcrle.o: dcmcrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -507,12 +506,12 @@ dcmcrle.o: dcmcrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -555,8 +554,9 @@ dcmcrle.o: dcmcrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ - ../include/dcmtk/dcmdata/dcrleerg.h -dcmdrle.o: dcmdrle.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmdata/dcostrmz.h ../include/dcmtk/dcmdata/dcistrmz.h \ + ../../ofstd/include/dcmtk/ofstd/ofchrenc.h +dcmcrle.o: dcmcrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -570,9 +570,9 @@ dcmdrle.o: dcmdrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -600,12 +600,12 @@ dcmdrle.o: dcmdrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -648,10 +648,8 @@ dcmdrle.o: dcmdrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ - ../include/dcmtk/dcmdata/dcrledrg.h -dcmdump.o: dcmdump.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../include/dcmtk/dcmdata/dcrleerg.h +dcmdrle.o: dcmdrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -659,6 +657,7 @@ dcmdump.o: dcmdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ @@ -666,6 +665,7 @@ dcmdump.o: dcmdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -693,12 +693,12 @@ dcmdump.o: dcmdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -741,70 +741,10 @@ dcmdump.o: dcmdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ - ../include/dcmtk/dcmdata/dcistrmz.h \ - ../../ofstd/include/dcmtk/ofstd/ofchrenc.h -dcmftest.o: dcmftest.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../include/dcmtk/dcmdata/dcrledrg.h +dcmdump.o: dcmdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ - ../../oflog/include/dcmtk/oflog/config/defines.h \ - ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ - ../../oflog/include/dcmtk/oflog/loglevel.h \ - ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../oflog/include/dcmtk/oflog/tchar.h \ - ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ - ../../oflog/include/dcmtk/oflog/appender.h \ - ../../ofstd/include/dcmtk/ofstd/ofmem.h \ - ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ - ../../oflog/include/dcmtk/oflog/layout.h \ - ../../oflog/include/dcmtk/oflog/streams.h \ - ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ - ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ - ../../oflog/include/dcmtk/oflog/spi/filter.h \ - ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ - ../../oflog/include/dcmtk/oflog/spi/logfact.h \ - ../../oflog/include/dcmtk/oflog/logmacro.h \ - ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ - ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcobject.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmdata/dcpcache.h \ - ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ - ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ - ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h \ - ../include/dcmtk/dcmdata/dcuid.h -dcmgpdir.o: dcmgpdir.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -812,13 +752,11 @@ dcmgpdir.o: dcmgpdir.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ @@ -848,12 +786,12 @@ dcmgpdir.o: dcmgpdir.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -890,12 +828,80 @@ dcmgpdir.o: dcmgpdir.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/dcvrov.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcddirif.h \ + ../include/dcmtk/dcmdata/cmdlnarg.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../include/dcmtk/dcmdata/dcistrmz.h \ + ../../ofstd/include/dcmtk/ofstd/ofchrenc.h +dcmftest.o: dcmftest.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ + ../include/dcmtk/dcmdata/dcpcache.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../include/dcmtk/dcmdata/dcuid.h +dcmgpdir.o: dcmgpdir.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/ofstub.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h dcmodify.o: dcmodify.cc ../../config/include/dcmtk/config/osconfig.h \ mdfconen.h ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -903,8 +909,8 @@ dcmodify.o: dcmodify.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -938,6 +944,7 @@ dcmodify.o: dcmodify.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -945,7 +952,6 @@ dcmodify.o: dcmodify.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcpath.h ../include/dcmtk/dcmdata/dcdatset.h \ ../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dcobject.h \ @@ -962,8 +968,8 @@ dump2dcm.o: dump2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -971,7 +977,6 @@ dump2dcm.o: dump2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ @@ -1009,6 +1014,7 @@ dump2dcm.o: dump2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcostrma.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1054,12 +1060,12 @@ img2dcm.o: img2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1070,7 +1076,6 @@ img2dcm.o: img2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcfilefo.h \ @@ -1103,8 +1108,9 @@ img2dcm.o: img2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \ @@ -1131,8 +1137,8 @@ mdfconen.o: mdfconen.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1166,6 +1172,7 @@ mdfconen.o: mdfconen.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -1173,21 +1180,21 @@ mdfconen.o: mdfconen.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h mdfdsman.h \ + ../include/dcmtk/dcmdata/dcpath.h ../include/dcmtk/dcmdata/dcdatset.h \ + ../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dcobject.h \ + ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ + ../include/dcmtk/dcmdata/dcpcache.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h ../include/dcmtk/dcmdata/dctk.h \ - ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcerror.h \ - ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcostrma.h \ - ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dctag.h \ + ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcistrma.h \ + ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dcdicent.h ../include/dcmtk/dcmdata/dchashdi.h \ ../include/dcmtk/dcmdata/dcdict.h ../include/dcmtk/dcmdata/dcdeftag.h \ - ../include/dcmtk/dcmdata/dcobject.h ../include/dcmtk/dcmdata/dcstack.h \ - ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcitem.h \ - ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcdatset.h \ + ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcmetinf.h \ ../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcfilefo.h \ ../include/dcmtk/dcmdata/dcdicdir.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ @@ -1222,9 +1229,9 @@ mdfdsman.o: mdfdsman.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1234,7 +1241,6 @@ mdfdsman.o: mdfdsman.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1264,44 +1270,20 @@ mdfdsman.o: mdfdsman.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcpath.h ../include/dcmtk/dcmdata/dcdatset.h \ ../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dcobject.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dctk.h \ - ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcostrma.h \ - ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdicent.h \ - ../include/dcmtk/dcmdata/dchashdi.h ../include/dcmtk/dcmdata/dcdict.h \ - ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dcelem.h \ - ../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcsequen.h \ - ../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcvrulup.h \ - ../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcpixseq.h \ - ../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcbytstr.h \ - ../include/dcmtk/dcmdata/dcvrae.h ../include/dcmtk/dcmdata/dcvras.h \ - ../include/dcmtk/dcmdata/dcvrcs.h ../include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../include/dcmtk/dcmdata/dcvrds.h ../include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../include/dcmtk/dcmdata/dcvris.h ../include/dcmtk/dcmdata/dcvrtm.h \ - ../include/dcmtk/dcmdata/dcvrui.h ../include/dcmtk/dcmdata/dcvrur.h \ - ../include/dcmtk/dcmdata/dcchrstr.h ../include/dcmtk/dcmdata/dcvrlo.h \ - ../include/dcmtk/dcmdata/dcvrlt.h ../include/dcmtk/dcmdata/dcvrpn.h \ - ../include/dcmtk/dcmdata/dcvrsh.h ../include/dcmtk/dcmdata/dcvrst.h \ - ../include/dcmtk/dcmdata/dcvruc.h ../include/dcmtk/dcmdata/dcvrut.h \ - ../include/dcmtk/dcmdata/dcvrobow.h ../include/dcmtk/dcmdata/dcpixel.h \ - ../include/dcmtk/dcmdata/dcvrpobw.h ../include/dcmtk/dcmdata/dcovlay.h \ - ../include/dcmtk/dcmdata/dcvrat.h ../include/dcmtk/dcmdata/dcvrss.h \ - ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ - ../include/dcmtk/dcmdata/dcvrsv.h ../include/dcmtk/dcmdata/dcvruv.h \ - ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ - ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/dcvrov.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h mdfdsman.h \ + ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcfilefo.h \ + ../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcelem.h \ + ../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcdict.h \ + ../include/dcmtk/dcmdata/dchashdi.h ../include/dcmtk/dcmdata/dcdicent.h \ + ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dcuid.h \ + ../include/dcmtk/dcmdata/dcpixel.h ../include/dcmtk/dcmdata/dcvrpobw.h \ + ../include/dcmtk/dcmdata/dcvrobow.h mdfdsman.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h @@ -1319,9 +1301,9 @@ pdf2dcm.o: pdf2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1349,12 +1331,12 @@ pdf2dcm.o: pdf2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -1411,9 +1393,9 @@ stl2dcm.o: stl2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1441,12 +1423,12 @@ stl2dcm.o: stl2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -1503,9 +1485,9 @@ xml2dcm.o: xml2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1533,12 +1515,12 @@ xml2dcm.o: xml2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmdata/dctagkey.h \ diff --git a/dcmdata/apps/Makefile.in b/dcmdata/apps/Makefile.in index f6153efc..14bc1d34 100644 --- a/dcmdata/apps/Makefile.in +++ b/dcmdata/apps/Makefile.in @@ -25,10 +25,10 @@ LIBDCMXML = -ldcmxml objs = dcmftest.o dcmconv.o dcmdump.o dump2dcm.o dcmgpdir.o dcm2xml.o \ xml2dcm.o dcmcrle.o dcmdrle.o dcmodify.o mdfdsman.o mdfconen.o \ - cda2dcm.o stl2dcm.o pdf2dcm.o dcm2pdf.o img2dcm.o dcm2json.o + cda2dcm.o stl2dcm.o pdf2dcm.o dcm2pdf.o dcm2cda.o img2dcm.o dcm2json.o progs = dcmftest dcmconv dcmdump dump2dcm dcmgpdir dcm2xml xml2dcm dcmcrle \ - dcmdrle dcmodify pdf2dcm stl2dcm cda2dcm dcm2pdf img2dcm dcm2json + dcmdrle dcmodify pdf2dcm stl2dcm cda2dcm dcm2pdf dcm2cda img2dcm dcm2json all: $(progs) @@ -76,6 +76,9 @@ cda2dcm: cda2dcm.o dcm2pdf: dcm2pdf.o $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS) +dcm2cda: dcm2cda.o + $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS) + img2dcm: img2dcm.o $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LIBI2D) $(LIBDCMXML) $(LOCALLIBS) $(XMLLIBS) $(LIBS) diff --git a/dcmdata/apps/cda2dcm.cc b/dcmdata/apps/cda2dcm.cc old mode 100755 new mode 100644 diff --git a/dcmdata/apps/dcm2cda.cc b/dcmdata/apps/dcm2cda.cc new file mode 100644 index 00000000..8a6f7ce5 --- /dev/null +++ b/dcmdata/apps/dcm2cda.cc @@ -0,0 +1,344 @@ +/* + * + * Copyright (C) 2023-2024, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmdata + * + * Author: Tingyan Xu + * + * Purpose: Extract CDA file from DICOM encapsulated CDA storage object + * + */ + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmdata/dctk.h" +#include "dcmtk/dcmdata/cmdlnarg.h" +#include "dcmtk/ofstd/ofconapp.h" +#include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */ +#include "dcmtk/ofstd/ofstd.h" +#include "dcmtk/dcmdata/dcistrmz.h" /* for dcmZlibExpectRFC1950Encoding */ + +#ifdef WITH_ZLIB +#include /* for zlibVersion() */ +#endif + +#define OFFIS_CONSOLE_APPLICATION "dcm2cda" + +static OFLogger dcm2cdaLogger = OFLog::getLogger("dcmtk.apps." OFFIS_CONSOLE_APPLICATION); + +static char rcsid[] = "$dcmtk: " OFFIS_CONSOLE_APPLICATION " v" +OFFIS_DCMTK_VERSION " " OFFIS_DCMTK_RELEASEDATE " $"; + +#define SHORTCOL 3 +#define LONGCOL 20 + +void addInputOptions(OFCommandLine& cmd) +{ + cmd.addGroup("input options:"); + cmd.addSubGroup("input file format:"); + cmd.addOption("--read-file", "+f", "read file format or data set (default)"); + cmd.addOption("--read-file-only", "+fo", "read file format only"); + cmd.addOption("--read-dataset", "-f", "read data set without file meta information"); + + cmd.addSubGroup("input transfer syntax:"); + cmd.addOption("--read-xfer-auto", "-t=", "use TS recognition (default)"); + cmd.addOption("--read-xfer-detect", "-td", "ignore TS specified in the file meta header"); + cmd.addOption("--read-xfer-little", "-te", "read with explicit VR little endian TS"); + cmd.addOption("--read-xfer-big", "-tb", "read with explicit VR big endian TS"); + cmd.addOption("--read-xfer-implicit", "-ti", "read with implicit VR little endian TS"); + + cmd.addSubGroup("parsing of odd-length attributes:"); + cmd.addOption("--accept-odd-length", "+ao", "accept odd length attributes (default)"); + cmd.addOption("--assume-even-length", "+ae", "assume real length is one byte larger"); + + cmd.addSubGroup("handling of undefined length UN elements:"); + cmd.addOption("--enable-cp246", "+ui", "read undefined len UN as implicit VR (default)"); + cmd.addOption("--disable-cp246", "-ui", "read undefined len UN as explicit VR"); + + cmd.addSubGroup("handling of defined length UN elements:"); + cmd.addOption("--retain-un", "-uc", "retain elements as UN (default)"); + cmd.addOption("--convert-un", "+uc", "convert to real VR if known"); + + cmd.addSubGroup("automatic data correction:"); + cmd.addOption("--enable-correction", "+dc", "enable automatic data correction (default)"); + cmd.addOption("--disable-correction", "-dc", "disable automatic data correction"); + +#ifdef WITH_ZLIB + cmd.addSubGroup("bitstream format of deflated input:"); + cmd.addOption("--bitstream-deflated", "+bd", "expect deflated bitstream (default)"); + cmd.addOption("--bitstream-zlib", "+bz", "expect deflated zlib bitstream"); +#endif +} + +void addDCM2CDACommandlineOptions(OFCommandLine& cmd) +{ + cmd.setOptionColumns(LONGCOL, SHORTCOL); + cmd.setParamColumn(LONGCOL + SHORTCOL + 4); + + cmd.addParam("dcmfile-in", "DICOM input filename (\"-\" for stdin)"); + cmd.addParam("cdafile-out", "CDA output filename"); + + cmd.addGeneralOptions(LONGCOL, SHORTCOL); + OFLog::addOptions(cmd); + addInputOptions(cmd); +} + +/** + * function for parsing commandline arguments + */ +void parseArguments(OFConsoleApplication& app, OFCommandLine& cmd, + E_FileReadMode& opt_readMode, E_TransferSyntax& opt_ixfer, + const char*& opt_ifname, + const char*& opt_ofname +) +{ + cmd.getParam(1, opt_ifname); + cmd.getParam(2, opt_ofname); + + OFLog::configureFromCommandLine(cmd, app); + + cmd.beginOptionBlock(); + if (cmd.findOption("--read-file")) + { + opt_readMode = ERM_autoDetect; + } + if (cmd.findOption("--read-file-only")) + { + opt_readMode = ERM_fileOnly; + } + if (cmd.findOption("--read-dataset")) + { + opt_readMode = ERM_dataset; + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--read-xfer-auto")) + { + opt_ixfer = EXS_Unknown; + } + if (cmd.findOption("--read-xfer-detect")) + { + dcmAutoDetectDatasetXfer.set(OFTrue); + } + if (cmd.findOption("--read-xfer-little")) + { + app.checkDependence("--read-xfer-little", "--read-dataset", opt_readMode == ERM_dataset); + opt_ixfer = EXS_LittleEndianExplicit; + } + if (cmd.findOption("--read-xfer-big")) + { + app.checkDependence("--read-xfer-big", "--read-dataset", opt_readMode == ERM_dataset); + opt_ixfer = EXS_BigEndianExplicit; + } + if (cmd.findOption("--read-xfer-implicit")) + { + app.checkDependence("--read-xfer-implicit", "--read-dataset", opt_readMode == ERM_dataset); + opt_ixfer = EXS_LittleEndianImplicit; + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--accept-odd-length")) + { + dcmAcceptOddAttributeLength.set(OFTrue); + } + if (cmd.findOption("--assume-even-length")) + { + dcmAcceptOddAttributeLength.set(OFFalse); + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--enable-cp246")) + { + dcmEnableCP246Support.set(OFTrue); + } + if (cmd.findOption("--disable-cp246")) + { + dcmEnableCP246Support.set(OFFalse); + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--retain-un")) + { + dcmEnableUnknownVRConversion.set(OFFalse); + } + if (cmd.findOption("--convert-un")) + { + dcmEnableUnknownVRConversion.set(OFTrue); + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--enable-correction")) + { + dcmEnableAutomaticInputDataCorrection.set(OFTrue); + } + if (cmd.findOption("--disable-correction")) + { + dcmEnableAutomaticInputDataCorrection.set(OFFalse); + } + cmd.endOptionBlock(); + +#ifdef WITH_ZLIB + cmd.beginOptionBlock(); + if (cmd.findOption("--bitstream-deflated")) + { + dcmZlibExpectRFC1950Encoding.set(OFFalse); + } + if (cmd.findOption("--bitstream-zlib")) + { + dcmZlibExpectRFC1950Encoding.set(OFTrue); + } + cmd.endOptionBlock(); +#endif +} + +int main(int argc, char* argv[]) +{ + const char* opt_ifname = NULL; + const char* opt_ofname = NULL; + E_FileReadMode opt_readMode = ERM_autoDetect; + E_TransferSyntax opt_ixfer = EXS_Unknown; + + OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION, "Extract CDA file from DICOM encapsulated CDA", rcsid); + OFCommandLine cmd; + + // necessary options + addDCM2CDACommandlineOptions(cmd); + + // evaluating command line + prepareCmdLineArgs(argc, argv, OFFIS_CONSOLE_APPLICATION); + if (app.parseCommandLine(cmd, argc, argv)) + { + // checking exclusive options first + if (cmd.hasExclusiveOption()) + { + if (cmd.findOption("--version")) + { + app.printHeader(OFTrue /*print host identifier*/); + COUT << OFendl << "External libraries used:"; +#ifdef WITH_ZLIB + COUT << OFendl << "- ZLIB, Version " << zlibVersion() << OFendl; +#else + COUT << " none" << OFendl; +#endif + return EXITCODE_NO_ERROR; + } + } + + /* command line parameters and options */ + parseArguments(app, cmd, opt_readMode, opt_ixfer, opt_ifname, opt_ofname); + } + + /* print resource identifier */ + OFLOG_DEBUG(dcm2cdaLogger, rcsid << OFendl); + + OFLOG_DEBUG(dcm2cdaLogger, "making sure data dictionary is loaded"); + if (!dcmDataDict.isDictionaryLoaded()) + { + OFLOG_WARN(dcm2cdaLogger, "no data dictionary loaded, check environment variable: " + << DCM_DICT_ENVIRONMENT_VARIABLE); + } + + // open input file + if ((opt_ifname == NULL) || (strlen(opt_ifname) == 0)) + { + OFLOG_ERROR(dcm2cdaLogger, "invalid filename: "); + return EXITCODE_NO_INPUT_FILES; + } + + OFCondition cond = EC_Normal; + + DcmFileFormat dfile; + DcmDataset* dataset = dfile.getDataset(); + + OFLOG_INFO(dcm2cdaLogger, "open input file " << opt_ifname); + /* load file to dfile, using given transfer syntax and other variables */ + cond = dfile.loadFile(opt_ifname, opt_ixfer, EGL_noChange, DCM_MaxReadLength, opt_readMode); + if (cond.bad()) + { + OFLOG_ERROR(dcm2cdaLogger, cond.text() << ": reading file: " << opt_ifname); + return EXITCODE_CANNOT_READ_INPUT_FILE; + } + + /* check SOP */ + OFString sopClass; + cond = dataset->findAndGetOFString(DCM_SOPClassUID, sopClass); + if (cond.bad() || sopClass != UID_EncapsulatedCDAStorage) + { + OFLOG_ERROR(dcm2cdaLogger, "SOPClassUID not of SOP UID_EncapsulatedCDAStorage: " << opt_ifname); + return EXITCODE_INVALID_INPUT_FILE; + } + + /* get EncapsulatedDocument */ + Uint8* cdaDocument = NULL; + unsigned long int delemlen = 0; + cond = dataset->findAndGetUint8Array(DCM_EncapsulatedDocument, (const Uint8*&)cdaDocument, &delemlen); + if (cond.bad() || cdaDocument == NULL || delemlen == 0) + { + OFLOG_ERROR(dcm2cdaLogger, "EncapsulatedDocument missing or has the wrong VR"); + return EXITCODE_INVALID_INPUT_FILE; + } + + /* get and check element Encapsulated Document Length */ + Uint32 lenElem; + cond = dataset->findAndGetUint32(DCM_EncapsulatedDocumentLength, lenElem); + /* EncapsulatedDocumentLength Element is invalid or + * it does not fit the length of the encapsulated document + * (it has to be equal or equal to EncapsulatedDocumentLength -1) + */ + if (cond.bad() || (lenElem != delemlen && lenElem != delemlen - 1)) + { + OFLOG_DEBUG(dcm2cdaLogger, "EncapsulatedDocumentLength missing or invalid, " + "using length of EncapsulatedDocument"); + lenElem = delemlen; + /* Strip pad byte at end of file, if there is one. + * CDA documents end with a closing XML tag, optionally followed by whitespace. + * If the last character of the file is not a CR ('\r', 13) or LF ('\n', 10), and not the + * letter '>', we assume it is either trailing garbage or a pad byte, and remove it. + */ + if (cdaDocument[lenElem - 1] != '\n' && cdaDocument[lenElem - 1] != '\r' && cdaDocument[lenElem - 1] != '>') + { + OFLOG_DEBUG(dcm2cdaLogger, "removing the pad byte at end of EncapsulatedDocument"); + --lenElem; + } + } + + OFLOG_INFO(dcm2cdaLogger, "writing CDA file to " << opt_ofname); + FILE* cdafile = fopen(opt_ofname, "wb"); + if (cdafile == NULL) + { + OFLOG_ERROR(dcm2cdaLogger, "unable to create file " << opt_ofname); + return EXITCODE_CANNOT_WRITE_OUTPUT_FILE; + } + + if (lenElem != fwrite(cdaDocument, 1, lenElem, cdafile)) + { + OFLOG_ERROR(dcm2cdaLogger, "write error in file " << opt_ofname); + fclose(cdafile); + return EXITCODE_CANNOT_WRITE_OUTPUT_FILE; + } + + if(fclose(cdafile)) + { + OFLOG_FATAL(dcm2cdaLogger, "write error in file " << opt_ofname); + return EXITCODE_CANNOT_WRITE_OUTPUT_FILE; + } + + OFLOG_INFO(dcm2cdaLogger, "conversion successful"); + + return EXITCODE_NO_ERROR; +} diff --git a/dcmdata/apps/dcm2pdf.cc b/dcmdata/apps/dcm2pdf.cc index ead47f7a..f00de6e3 100644 --- a/dcmdata/apps/dcm2pdf.cc +++ b/dcmdata/apps/dcm2pdf.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2023, OFFIS e.V. + * Copyright (C) 2007-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -49,36 +49,36 @@ END_EXTERN_C static OFLogger dcm2pdfLogger = OFLog::getLogger("dcmtk.apps." OFFIS_CONSOLE_APPLICATION); static char rcsid[] = "$dcmtk: " OFFIS_CONSOLE_APPLICATION " v" - OFFIS_DCMTK_VERSION " " OFFIS_DCMTK_RELEASEDATE " $"; + OFFIS_DCMTK_VERSION " " OFFIS_DCMTK_RELEASEDATE " $"; #define FILENAME_PLACEHOLDER "#f" static OFString replaceChars(const OFString &srcstr, const OFString &pattern, const OFString &substitute) - /* - * This function replaces all occurrences of pattern in srcstr with substitute and returns - * the result as a new OFString variable. Note that srcstr itself will not be changed. - * - * Parameters: - * srcstr - [in] The source string. - * pattern - [in] The pattern string which shall be substituted. - * substitute - [in] The substitute for pattern in srcstr. - */ +/* + * This function replaces all occurrences of pattern in srcstr with substitute and returns + * the result as a new OFString variable. Note that srcstr itself will not be changed. + * + * Parameters: + * srcstr - [in] The source string. + * pattern - [in] The pattern string which shall be substituted. + * substitute - [in] The substitute for pattern in srcstr. + */ { - OFString result = srcstr; - size_t pos = 0; - - while (pos != OFString_npos) - { - pos = result.find(pattern, pos); + OFString result = srcstr; + size_t pos = 0; - if (pos != OFString_npos) + while (pos != OFString_npos) { - result.replace(pos, pattern.size(), substitute); - pos += substitute.size(); + pos = result.find(pattern, pos); + + if (pos != OFString_npos) + { + result.replace(pos, pattern.size(), substitute); + pos += substitute.size(); + } } - } - return result; + return result; } @@ -87,169 +87,171 @@ static OFString replaceChars(const OFString &srcstr, const OFString &pattern, co int main(int argc, char *argv[]) { - const char *opt_ifname = NULL; - const char *opt_ofname = NULL; - const char *opt_execString = NULL; - E_FileReadMode opt_readMode = ERM_autoDetect; - E_TransferSyntax opt_ixfer = EXS_Unknown; - - OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION, "Extract PDF file from DICOM encapsulated PDF", rcsid); - OFCommandLine cmd; - cmd.setOptionColumns(LONGCOL, SHORTCOL); - cmd.setParamColumn(LONGCOL + SHORTCOL + 4); - - cmd.addParam("dcmfile-in", "DICOM input filename (\"-\" for stdin)"); - cmd.addParam("pdffile-out", "PDF output filename"); - - cmd.addGroup("general options:", LONGCOL, SHORTCOL + 2); - cmd.addOption("--help", "-h", "print this help text and exit", OFCommandLine::AF_Exclusive); - cmd.addOption("--version", "print version information and exit", OFCommandLine::AF_Exclusive); - OFLog::addOptions(cmd); - - cmd.addGroup("input options:"); - cmd.addSubGroup("input file format:"); - cmd.addOption("--read-file", "+f", "read file format or data set (default)"); - cmd.addOption("--read-file-only", "+fo", "read file format only"); - cmd.addOption("--read-dataset", "-f", "read data set without file meta information"); - cmd.addSubGroup("input transfer syntax:"); - cmd.addOption("--read-xfer-auto", "-t=", "use TS recognition (default)"); - cmd.addOption("--read-xfer-detect", "-td", "ignore TS specified in the file meta header"); - cmd.addOption("--read-xfer-little", "-te", "read with explicit VR little endian TS"); - cmd.addOption("--read-xfer-big", "-tb", "read with explicit VR big endian TS"); - cmd.addOption("--read-xfer-implicit", "-ti", "read with implicit VR little endian TS"); - cmd.addSubGroup("parsing of odd-length attributes:"); - cmd.addOption("--accept-odd-length", "+ao", "accept odd length attributes (default)"); - cmd.addOption("--assume-even-length", "+ae", "assume real length is one byte larger"); - cmd.addSubGroup("handling of undefined length UN elements:"); - cmd.addOption("--enable-cp246", "+ui", "read undefined len UN as implicit VR (default)"); - cmd.addOption("--disable-cp246", "-ui", "read undefined len UN as explicit VR"); - cmd.addSubGroup("handling of defined length UN elements:"); - cmd.addOption("--retain-un", "-uc", "retain elements as UN (default)"); - cmd.addOption("--convert-un", "+uc", "convert to real VR if known"); - cmd.addSubGroup("automatic data correction:"); - cmd.addOption("--enable-correction", "+dc", "enable automatic data correction (default)"); - cmd.addOption("--disable-correction", "-dc", "disable automatic data correction"); + const char *opt_ifname = NULL; + const char *opt_ofname = NULL; + const char *opt_execString = NULL; + E_FileReadMode opt_readMode = ERM_autoDetect; + E_TransferSyntax opt_ixfer = EXS_Unknown; + + OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION, "Extract PDF file from DICOM encapsulated PDF", rcsid); + OFCommandLine cmd; + cmd.setOptionColumns(LONGCOL, SHORTCOL); + cmd.setParamColumn(LONGCOL + SHORTCOL + 4); + + cmd.addParam("dcmfile-in", "DICOM input filename (\"-\" for stdin)"); + cmd.addParam("pdffile-out", "PDF output filename"); + + cmd.addGroup("general options:", LONGCOL, SHORTCOL + 2); + cmd.addOption("--help", "-h", "print this help text and exit", OFCommandLine::AF_Exclusive); + cmd.addOption("--version", "print version information and exit", OFCommandLine::AF_Exclusive); + OFLog::addOptions(cmd); + + cmd.addGroup("input options:"); + cmd.addSubGroup("input file format:"); + cmd.addOption("--read-file", "+f", "read file format or data set (default)"); + cmd.addOption("--read-file-only", "+fo", "read file format only"); + cmd.addOption("--read-dataset", "-f", "read data set without file meta information"); + cmd.addSubGroup("input transfer syntax:"); + cmd.addOption("--read-xfer-auto", "-t=", "use TS recognition (default)"); + cmd.addOption("--read-xfer-detect", "-td", "ignore TS specified in the file meta header"); + cmd.addOption("--read-xfer-little", "-te", "read with explicit VR little endian TS"); + cmd.addOption("--read-xfer-big", "-tb", "read with explicit VR big endian TS"); + cmd.addOption("--read-xfer-implicit", "-ti", "read with implicit VR little endian TS"); + cmd.addSubGroup("parsing of odd-length attributes:"); + cmd.addOption("--accept-odd-length", "+ao", "accept odd length attributes (default)"); + cmd.addOption("--assume-even-length", "+ae", "assume real length is one byte larger"); + cmd.addSubGroup("handling of undefined length UN elements:"); + cmd.addOption("--enable-cp246", "+ui", "read undefined len UN as implicit VR (default)"); + cmd.addOption("--disable-cp246", "-ui", "read undefined len UN as explicit VR"); + cmd.addSubGroup("handling of defined length UN elements:"); + cmd.addOption("--retain-un", "-uc", "retain elements as UN (default)"); + cmd.addOption("--convert-un", "+uc", "convert to real VR if known"); + cmd.addSubGroup("automatic data correction:"); + cmd.addOption("--enable-correction", "+dc", "enable automatic data correction (default)"); + cmd.addOption("--disable-correction", "-dc", "disable automatic data correction"); #ifdef WITH_ZLIB - cmd.addSubGroup("bitstream format of deflated input:"); - cmd.addOption("--bitstream-deflated", "+bd", "expect deflated bitstream (default)"); - cmd.addOption("--bitstream-zlib", "+bz", "expect deflated zlib bitstream"); + cmd.addSubGroup("bitstream format of deflated input:"); + cmd.addOption("--bitstream-deflated", "+bd", "expect deflated bitstream (default)"); + cmd.addOption("--bitstream-zlib", "+bz", "expect deflated zlib bitstream"); #endif - cmd.addGroup("execution options:", LONGCOL, SHORTCOL + 2); - cmd.addOption("--exec", "-x", 1, "[c]ommand: string", - "execute command c after PDF extraction"); + cmd.addGroup("processing options:"); + cmd.addSubGroup("execution options:"); + cmd.addOption("--exec", "-x", 1, "[c]ommand: string", + "execute command c after PDF extraction"); /* evaluate command line */ prepareCmdLineArgs(argc, argv, OFFIS_CONSOLE_APPLICATION); if (app.parseCommandLine(cmd, argc, argv)) { - /* check exclusive options first */ - if (cmd.hasExclusiveOption()) - { - if (cmd.findOption("--version")) - { - app.printHeader(OFTrue /*print host identifier*/); - COUT << OFendl << "External libraries used:"; + /* check exclusive options first */ + if (cmd.hasExclusiveOption()) + { + if (cmd.findOption("--version")) + { + app.printHeader(OFTrue /*print host identifier*/); + COUT << OFendl << "External libraries used:"; #ifdef WITH_ZLIB - COUT << OFendl << "- ZLIB, Version " << zlibVersion() << OFendl; + COUT << OFendl << "- ZLIB, Version " << zlibVersion() << OFendl; #else - COUT << " none" << OFendl; + COUT << " none" << OFendl; #endif - return 0; - } - } - - /* command line parameters and options */ - cmd.getParam(1, opt_ifname); - cmd.getParam(2, opt_ofname); - - OFLog::configureFromCommandLine(cmd, app); - - cmd.beginOptionBlock(); - if (cmd.findOption("--read-file")) opt_readMode = ERM_autoDetect; - if (cmd.findOption("--read-file-only")) opt_readMode = ERM_fileOnly; - if (cmd.findOption("--read-dataset")) opt_readMode = ERM_dataset; - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--read-xfer-auto")) - opt_ixfer = EXS_Unknown; - if (cmd.findOption("--read-xfer-detect")) - dcmAutoDetectDatasetXfer.set(OFTrue); - if (cmd.findOption("--read-xfer-little")) - { - app.checkDependence("--read-xfer-little", "--read-dataset", opt_readMode == ERM_dataset); - opt_ixfer = EXS_LittleEndianExplicit; - } - if (cmd.findOption("--read-xfer-big")) - { - app.checkDependence("--read-xfer-big", "--read-dataset", opt_readMode == ERM_dataset); - opt_ixfer = EXS_BigEndianExplicit; - } - if (cmd.findOption("--read-xfer-implicit")) - { - app.checkDependence("--read-xfer-implicit", "--read-dataset", opt_readMode == ERM_dataset); - opt_ixfer = EXS_LittleEndianImplicit; - } - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--accept-odd-length")) - { - dcmAcceptOddAttributeLength.set(OFTrue); - } - if (cmd.findOption("--assume-even-length")) - { - dcmAcceptOddAttributeLength.set(OFFalse); - } - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--enable-cp246")) - { - dcmEnableCP246Support.set(OFTrue); - } - if (cmd.findOption("--disable-cp246")) - { - dcmEnableCP246Support.set(OFFalse); - } - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--retain-un")) - { - dcmEnableUnknownVRConversion.set(OFFalse); - } - if (cmd.findOption("--convert-un")) - { - dcmEnableUnknownVRConversion.set(OFTrue); - } - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--enable-correction")) - { - dcmEnableAutomaticInputDataCorrection.set(OFTrue); - } - if (cmd.findOption("--disable-correction")) - { - dcmEnableAutomaticInputDataCorrection.set(OFFalse); - } - cmd.endOptionBlock(); + return EXITCODE_NO_ERROR; + } + } + + /* command line parameters and options */ + cmd.getParam(1, opt_ifname); + cmd.getParam(2, opt_ofname); + + OFLog::configureFromCommandLine(cmd, app); + + cmd.beginOptionBlock(); + if (cmd.findOption("--read-file")) opt_readMode = ERM_autoDetect; + if (cmd.findOption("--read-file-only")) opt_readMode = ERM_fileOnly; + if (cmd.findOption("--read-dataset")) opt_readMode = ERM_dataset; + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--read-xfer-auto")) + opt_ixfer = EXS_Unknown; + if (cmd.findOption("--read-xfer-detect")) + dcmAutoDetectDatasetXfer.set(OFTrue); + if (cmd.findOption("--read-xfer-little")) + { + app.checkDependence("--read-xfer-little", "--read-dataset", opt_readMode == ERM_dataset); + opt_ixfer = EXS_LittleEndianExplicit; + } + if (cmd.findOption("--read-xfer-big")) + { + app.checkDependence("--read-xfer-big", "--read-dataset", opt_readMode == ERM_dataset); + opt_ixfer = EXS_BigEndianExplicit; + } + if (cmd.findOption("--read-xfer-implicit")) + { + app.checkDependence("--read-xfer-implicit", "--read-dataset", opt_readMode == ERM_dataset); + opt_ixfer = EXS_LittleEndianImplicit; + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--accept-odd-length")) + { + dcmAcceptOddAttributeLength.set(OFTrue); + } + if (cmd.findOption("--assume-even-length")) + { + dcmAcceptOddAttributeLength.set(OFFalse); + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--enable-cp246")) + { + dcmEnableCP246Support.set(OFTrue); + } + if (cmd.findOption("--disable-cp246")) + { + dcmEnableCP246Support.set(OFFalse); + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--retain-un")) + { + dcmEnableUnknownVRConversion.set(OFFalse); + } + if (cmd.findOption("--convert-un")) + { + dcmEnableUnknownVRConversion.set(OFTrue); + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--enable-correction")) + { + dcmEnableAutomaticInputDataCorrection.set(OFTrue); + } + if (cmd.findOption("--disable-correction")) + { + dcmEnableAutomaticInputDataCorrection.set(OFFalse); + } + cmd.endOptionBlock(); #ifdef WITH_ZLIB - cmd.beginOptionBlock(); - if (cmd.findOption("--bitstream-deflated")) - { - dcmZlibExpectRFC1950Encoding.set(OFFalse); - } - if (cmd.findOption("--bitstream-zlib")) - { - dcmZlibExpectRFC1950Encoding.set(OFTrue); - } - cmd.endOptionBlock(); + cmd.beginOptionBlock(); + if (cmd.findOption("--bitstream-deflated")) + { + dcmZlibExpectRFC1950Encoding.set(OFFalse); + } + if (cmd.findOption("--bitstream-zlib")) + { + dcmZlibExpectRFC1950Encoding.set(OFTrue); + } + cmd.endOptionBlock(); #endif - if (cmd.findOption("--exec")) app.checkValue(cmd.getValue(opt_execString)); + if (cmd.findOption("--exec")) + app.checkValue(cmd.getValue(opt_execString)); } /* print resource identifier */ @@ -266,7 +268,7 @@ int main(int argc, char *argv[]) if ((opt_ifname == NULL) || (strlen(opt_ifname) == 0)) { OFLOG_FATAL(dcm2pdfLogger, "invalid filename: "); - return 1; + return EXITCODE_NO_INPUT_FILES; } DcmFileFormat fileformat; @@ -279,23 +281,23 @@ int main(int argc, char *argv[]) if (error.bad()) { OFLOG_FATAL(dcm2pdfLogger, error.text() << ": reading file: " << opt_ifname); - return 1; + return EXITCODE_CANNOT_READ_INPUT_FILE; } OFString sopClass; error = dataset->findAndGetOFString(DCM_SOPClassUID, sopClass); if (error.bad() || sopClass != UID_EncapsulatedPDFStorage) { - OFLOG_FATAL(dcm2pdfLogger, "not an Encapsulated PDF Storage object: " << opt_ifname); - return 1; + OFLOG_FATAL(dcm2pdfLogger, "not an Encapsulated PDF object: " << opt_ifname); + return EXITCODE_INVALID_INPUT_FILE; } DcmElement *delem = NULL; error = dataset->findAndGetElement(DCM_EncapsulatedDocument, delem); if (error.bad() || delem == NULL) { - OFLOG_FATAL(dcm2pdfLogger, "attribute (0042,0011) Encapsulated Document missing."); - return 1; + OFLOG_FATAL(dcm2pdfLogger, "Encapsulated Document missing."); + return EXITCODE_INVALID_INPUT_FILE; } Uint32 len = delem->getLength(); @@ -303,8 +305,8 @@ int main(int argc, char *argv[]) error = delem->getUint8Array(pdfDocument); if (error.bad() || pdfDocument == NULL || len == 0) { - OFLOG_FATAL(dcm2pdfLogger, "attribute (0042,0011) Encapsulated Document empty or wrong VR."); - return 1; + OFLOG_FATAL(dcm2pdfLogger, "Encapsulated Document empty or wrong VR."); + return EXITCODE_INVALID_INPUT_FILE; } /* strip pad byte at end of file, if there is one. The PDF format expects @@ -318,21 +320,26 @@ int main(int argc, char *argv[]) --len; } + OFLOG_INFO(dcm2pdfLogger, "writing PDF file to " << opt_ofname); FILE *pdffile = fopen(opt_ofname, "wb"); if (pdffile == NULL) { OFLOG_FATAL(dcm2pdfLogger, "unable to create file " << opt_ofname); - return 1; + return EXITCODE_CANNOT_WRITE_OUTPUT_FILE; } if (len != fwrite(pdfDocument, 1, len, pdffile)) { OFLOG_FATAL(dcm2pdfLogger, "write error in file " << opt_ofname); fclose(pdffile); - return 1; + return EXITCODE_CANNOT_WRITE_OUTPUT_FILE; } - fclose(pdffile); + if(fclose(pdffile)) + { + OFLOG_FATAL(dcm2pdfLogger, "write error in file " << opt_ofname); + return EXITCODE_CANNOT_WRITE_OUTPUT_FILE; + } OFLOG_INFO(dcm2pdfLogger, "conversion successful"); @@ -345,5 +352,5 @@ int main(int argc, char *argv[]) return system(cmdStr.c_str()); } - return 0; + return EXITCODE_NO_ERROR; } diff --git a/dcmdata/apps/dcmcrle.cc b/dcmdata/apps/dcmcrle.cc index 0a58a100..c81fc340 100644 --- a/dcmdata/apps/dcmcrle.cc +++ b/dcmdata/apps/dcmcrle.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2022, OFFIS e.V. + * Copyright (C) 2002-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -267,7 +267,7 @@ int main(int argc, char *argv[]) } DcmXfer original_xfer(dataset->getOriginalXfer()); - if (original_xfer.isEncapsulated()) + if (original_xfer.isPixelDataCompressed()) { OFLOG_INFO(dcmcrleLogger, "DICOM file is already compressed, converting to uncompressed transfer syntax first"); if (EC_Normal != dataset->chooseRepresentation(EXS_LittleEndianExplicit, NULL)) diff --git a/dcmdata/apps/dcmgpdir.cc b/dcmdata/apps/dcmgpdir.cc index 86aae1d9..520a997e 100644 --- a/dcmdata/apps/dcmgpdir.cc +++ b/dcmdata/apps/dcmgpdir.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2017, OFFIS e.V. + * Copyright (C) 2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -13,648 +13,16 @@ * * Module: dcmdata * - * Author: Andrew Hewett, Joerg Riesmeier + * Authors: Marco Eichelberg * - * Purpose: - * Make a DICOMDIR according to the DICOM Part 11 Media Storage Application - * Profiles. Supports the following profiles: - * - General Purpose CD-R Interchange (STD-GEN-CD) - * - General Purpose Interchange on DVD-RAM Media (STD-GEN-DVD-RAM) - * If build with 'BUILD_DCMGPDIR_AS_DCMMKDIR' it also supports: - * - General Purpose DVD Interchange with JPEG (STD-GEN-DVD-JPEG) - * - General Purpose DVD Interchange with JPEG 2000 (STD-GEN-DVD-J2K) - * - General Purpose BD Interchange with JPEG (STD-GEN-BD-JPEG) - * - General Purpose BD Interchange with JPEG 2000 (STD-GEN-BD-J2K) - * - General Purpose BD Interchange with MPEG2 MP@ML (STD-GEN-BD-MPEG2-MPML) - * - General Purpose BD Interchange with MPEG2 MP@HL (STD-GEN-BD-MPEG2-MPHL) - * - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41) - * - General Purpose BD Interchange with MPEG-4 AVC/H.264 BD-Compatible HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD) - * - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D) - * - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D) - * - General Purpose BD Interchange with MPEG-4 AVC/H.264 Stereo HiP\@Level4.2 (STD-GEN-BD-MPEG4-SHPLV42) - * - General Purpose USB and Flash Memory Interchange with JPEG (STD-GEN-USB/MMC/CF/SD-JPEG) - * - General Purpose USB and Flash Memory Interchange with JPEG 2000 (STD-GEN-USB/MMC/CF/SD-J2K) - * - General Purpose MIME Interchange (STD-GEN-MIME) - * - DVD Interchange with MPEG2 MP@ML (STD-DVD-MPEG2-MPML) - * - Basic Cardiac X-Ray Angiographic Studies on CD-R Media (STD-XABC-CD) - * - 1024 X-Ray Angiographic Studies on CD-R Media (STD-XA1K-CD) - * - 1024 X-Ray Angiographic Studies on DVD Media (STD-XA1K-DVD) - * - Dental Radiograph Interchange (STD-DEN-CD) - * - CT/MR Studies on various Media (STD-CTMR-xxxx) - * - Ultrasound Single Frame for Image Display (STD-US-ID-SF-xxxx) - * - Ultrasound Single Frame with Spatial Calibration (STD-US-SC-SF-xxxx) - * - Ultrasound Single Frame with Combined Calibration (STD-US-CC-SF-xxxx) - * - Ultrasound Single & Multi-Frame for Image Display (STD-US-ID-MF-xxxx) - * - Ultrasound Single & Multi-Frame with Spatial Calibration (STD-US-SC-MF-xxxx) - * - Ultrasound Single & Multi-Frame with Combined Calibration (STD-US-CC-MF-xxxx) - * - 12-lead ECG Interchange on Diskette (STD-WVFM-ECG-FD) - * - Hemodynamic Waveform Interchange on Diskette (STD-WVFM-HD-FD) - * There should be no need to set this compiler flag manually, just compile - * dcmjpeg/apps/dcmmkdir.cc. + * Purpose: Proxy stub that calls dcmmkdir * */ +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/ofstd/ofstub.h" -#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ - -#include "dcmtk/dcmdata/dctk.h" -#include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */ -#include "dcmtk/dcmdata/dcddirif.h" /* for class DicomDirInterface */ -#include "dcmtk/ofstd/ofstd.h" /* for class OFStandard */ -#include "dcmtk/ofstd/ofconapp.h" /* for class OFConsoleApplication */ -#include "dcmtk/ofstd/ofcond.h" /* for class OFCondition */ - -#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR -#include "dcmtk/dcmimage/diregist.h" /* include to support color images */ -#include "dcmtk/dcmdata/dcrledrg.h" /* for DcmRLEDecoderRegistration */ -#include "dcmtk/dcmjpeg/djdecode.h" /* for dcmjpeg decoders */ -#include "dcmtk/dcmjpeg/dipijpeg.h" /* for dcmimage JPEG plugin */ -#include "dcmtk/dcmjpeg/ddpiimpl.h" /* for class DicomDirImageImplementation */ -#endif - -#ifdef WITH_ZLIB -#include /* for zlibVersion() */ -#endif - -#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR -#define OFFIS_CONSOLE_APPLICATION "dcmmkdir" -#define OFFIS_CONSOLE_DESCRIPTION "Create a DICOMDIR file" -#else -#define OFFIS_CONSOLE_APPLICATION "dcmgpdir" -#define OFFIS_CONSOLE_DESCRIPTION "Create a general purpose DICOMDIR" -#endif - -#if defined (HAVE_WINDOWS_H) || defined(HAVE_FNMATCH_H) -#define PATTERN_MATCHING_AVAILABLE -#endif - - -static char rcsid[] = "$dcmtk: " OFFIS_CONSOLE_APPLICATION " v" - OFFIS_DCMTK_VERSION " " OFFIS_DCMTK_RELEASEDATE " $"; - -static OFLogger dcmgpdirLogger = OFLog::getLogger("dcmtk.dcmdata." OFFIS_CONSOLE_APPLICATION); - -#define SHORTCOL 4 -#define LONGCOL 23 - -// ******************************************** - -// this macro either expands to main() or wmain() -DCMTK_MAIN_FUNCTION +int main(int argc, char** argv) { - OFBool opt_write = OFTrue; - OFBool opt_append = OFFalse; - OFBool opt_update = OFFalse; - OFBool opt_recurse = OFFalse; - E_EncodingType opt_enctype = EET_ExplicitLength; - E_GrpLenEncoding opt_glenc = EGL_withoutGL; - OFFilename opt_output(DEFAULT_DICOMDIR_NAME); - const char *opt_fileset = DEFAULT_FILESETID; - const char *opt_descriptor = NULL; - const char *opt_charset = DEFAULT_DESCRIPTOR_CHARSET; - OFFilename opt_directory; - OFFilename opt_pattern; - DicomDirInterface::E_ApplicationProfile opt_profile = DicomDirInterface::AP_GeneralPurpose; - -#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR - // register global decompression codecs (no verbose/debug mode set) - DcmRLEDecoderRegistration::registerCodecs(); - DJDecoderRegistration::registerCodecs(); - // enable the following lines for JPEG 2000 decompression support -/* - D2JPEG2000Library::initialize(); - D2DecoderRegistration::registerCodecs(); -*/ -#endif - - /* DICOMDIR interface (checks for JPEG/RLE availability) */ - DicomDirInterface ddir; - - /* set-up command line parameters and options */ - OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION, OFFIS_CONSOLE_DESCRIPTION, rcsid); - OFCommandLine cmd; - cmd.setOptionColumns(LONGCOL, SHORTCOL); - cmd.setParamColumn(LONGCOL + SHORTCOL + 4); - - cmd.addParam("dcmfile-in", "ref. DICOM file (or directory to be scanned)", OFCmdParam::PM_MultiOptional); - - cmd.addGroup("general options:", LONGCOL, SHORTCOL + 2); - cmd.addOption("--help", "-h", "print this help text and exit", OFCommandLine::AF_Exclusive); - cmd.addOption("--version", "print version information and exit", OFCommandLine::AF_Exclusive); - OFLog::addOptions(cmd); - - cmd.addGroup("input options:"); - cmd.addSubGroup("DICOMDIR identifiers:"); - cmd.addOption("--fileset-id", "+F", 1, "[i]d: string", - "use specific file-set ID\n(default: " DEFAULT_FILESETID ", \"\" for none)"); - cmd.addOption("--descriptor", "+R", 1, "[f]ilename: string", - "add a file-set descriptor file ID\n(e.g. README, default: no descriptor)"); - cmd.addOption("--char-set", "+C", 1, "[c]harset: string", - "add a specific character set for descriptor\n(default: \"" DEFAULT_DESCRIPTOR_CHARSET "\" if descriptor present)"); - cmd.addSubGroup("reading:"); - cmd.addOption("--input-directory", "+id", 1, "[d]irectory: string", - "read referenced DICOM files from directory d\n(default for --recurse: current directory)"); - cmd.addOption("--keep-filenames", "-m", "expect filenames to be in DICOM format (def.)"); - cmd.addOption("--map-filenames", "+m", "map to DICOM filenames (lowercase->uppercase,\nand remove trailing period)"); - cmd.addOption("--no-recurse", "-r", "do not recurse within directories (default)"); - cmd.addOption("--recurse", "+r", "recurse within filesystem directories"); -#ifdef PATTERN_MATCHING_AVAILABLE - cmd.addOption("--pattern", "+p", 1, "[p]attern: string (only with --recurse)", - "pattern for filename matching (wildcards)"); -#endif - cmd.addGroup("processing options:"); - cmd.addSubGroup("consistency check:"); - cmd.addOption("--no-consistency-check", "-W", "do not check files for consistency"); - cmd.addOption("--warn-inconsist-files", "+W", "warn about inconsistent files (default)"); - cmd.addOption("--abort-inconsist-file", "-a", "abort on first inconsistent file"); - cmd.addSubGroup("type 1 attributes:"); - cmd.addOption("--strict", "-I", "exit with error if DICOMDIR type 1 attributes\nare missing in DICOM file (default)"); - cmd.addOption("--invent", "+I", "invent DICOMDIR type 1 attributes\nif missing in DICOM file"); - cmd.addOption("--invent-patient-id", "+Ipi", "invent new PatientID in case of inconsistent\nPatientName attributes"); - cmd.addSubGroup("other checks:"); - cmd.addOption("--allow-retired-sop", "+Nrs", "allow retired SOP classes defined in previous\neditions of the DICOM standard"); - cmd.addOption("--no-xfer-check", "-Nxc", "do not reject images with non-standard\ntransfer syntax (just warn)"); -#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR - cmd.addOption("--no-encoding-check", "-Nec", "do not reject images with non-standard\npixel encoding (just warn)"); - cmd.addOption("--no-resolution-check", "-Nrc", "do not reject images with non-standard\nspatial resolution (just warn)"); - cmd.addSubGroup("icon images:"); - cmd.addOption("--add-icon-image", "+X", "add monochrome icon image on IMAGE level\n(default for cardiac profiles)"); - cmd.addOption("--icon-image-size", "-Xs", 1, "[s]ize: integer (1..128)", - "width and height of the icon image (in pixel)\n(fixed: 128 for XA, 64 for CT/MR profile)"); - cmd.addOption("--icon-file-prefix", "-Xi", 1, "[p]refix: string", - "use PGM image 'prefix'+'dcmfile-in' as icon\n(default: create icon from DICOM image)"); - cmd.addOption("--default-icon", "-Xd", 1, "[f]ilename: string", - "use specified PGM image if icon cannot be\ncreated automatically (default: black image)"); -#endif - cmd.addGroup("output options:"); - cmd.addSubGroup("DICOMDIR file:"); - cmd.addOption("--output-file", "+D", 1, "[f]ilename: string", - "generate specific DICOMDIR file\n(default: " DEFAULT_DICOMDIR_NAME " in current directory)"); -#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR - cmd.addSubGroup("profiles:"); - cmd.addOption("--general-purpose", "-Pgp", "General Purpose Interchange on CD-R or\nDVD-RAM Media (STD-GEN-CD/DVD-RAM, default)"); - cmd.addOption("--general-dvd-jpeg", "-Pdv", "General Purpose DVD Interchange with JPEG\n(STD-GEN-DVD-JPEG)"); - cmd.addOption("--general-dvd-j2k", "-Pd2", "General Purpose DVD Interchange with JPEG\n2000 (STD-GEN-DVD-J2K)"); - cmd.addOption("--general-bd-jpeg", "-Pbd", "General Purpose BD Interchange with JPEG\n(STD-GEN-BD-JPEG)"); - cmd.addOption("--general-bd-j2k", "-Pb2", "General Purpose BD Interchange with JPEG\n2000 (STD-GEN-BD-J2K)"); - cmd.addOption("--general-bd-mpeg2-mpml", "-Pbm", "General Purpose BD Interchange with MPEG2\nMP@ML (STD-GEN-BD-MPEG2-MPML)"); - cmd.addOption("--general-bd-mpeg2-mphl", "-Pbh", "General Purpose BD Interchange with MPEG2\nMP@HL (STD-GEN-BD-MPEG2-MPHL)"); - cmd.addOption("--general-bd-mpeg4-hp", "-Pba", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.1\n(STD-GEN-BD-MPEG4-HPLV41)"); - cmd.addOption("--general-bd-mpeg4-hpbd", "-Pbb", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 BD-Compatible HiP@Level4.1\n(STD-GEN-BD-MPEG4-HPLV41BD)"); - cmd.addOption("--general-bd-mpeg4-hp2d", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.2 for 2D video\n(STD-GEN-BD-MPEG4-HPLV42-2D)"); - cmd.addOption("--general-bd-mpeg4-hp3d", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.2 for 3D video\n(STD-GEN-BD-MPEG4-HPLV42-3D)"); - cmd.addOption("--general-bd-mpeg4-hpst", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 Stereo HiP@Level4.2\n(STD-GEN-BD-MPEG4-SHPLV42)"); - cmd.addOption("--usb-and-flash-jpeg", "-Pfl", "General Purpose USB/Flash Memory Interchange\nwith JPEG (STD-GEN-USB/MMC/CF/SD-JPEG)"); - cmd.addOption("--usb-and-flash-j2k", "-Pf2", "General Purpose USB/Flash Memory Interchange\nwith JPEG 2000 (STD-GEN-USB/MMC/CF/SD-J2K)"); - cmd.addOption("--general-mime", "-Pmi", "General Purpose MIME Interchange\n(STD-GEN-MIME)"); - cmd.addOption("--mpeg2-mpml-dvd", "-Pmp", "DVD Interchange with MPEG2 Main Profile @\nMain Level (STD-DVD-MPEG2-MPML)"); - cmd.addOption("--basic-cardiac", "-Pbc", "Basic Cardiac X-Ray Angiographic Studies on\nCD-R Media (STD-XABC-CD)"); - cmd.addOption("--xray-angiographic", "-Pxa", "1024 X-Ray Angiographic Studies on CD-R Media\n(STD-XA1K-CD)"); - cmd.addOption("--xray-angiographic-dvd", "-Pxd", "1024 X-Ray Angiographic Studies on DVD Media\n(STD-XA1K-DVD)"); - cmd.addOption("--dental-radiograph", "-Pde", "Dental Radiograph Interchange (STD-DEN-CD)"); - cmd.addOption("--ct-and-mr", "-Pcm", "CT/MR Studies (STD-CTMR-xxxx)"); - cmd.addOption("--ultrasound-id-sf", "-Pus", "Ultrasound Single Frame for Image Display\n(STD-US-ID-SF-xxxx)"); - cmd.addOption("--ultrasound-sc-sf", "Ultrasound Single Frame with Spatial\nCalibration (STD-US-SC-SF-xxxx)"); - cmd.addOption("--ultrasound-cc-sf", "Ultrasound Single Frame with Combined\nCalibration (STD-US-CC-SF-xxxx)"); - cmd.addOption("--ultrasound-id-mf", "-Pum", "Ultrasound Single & Multi-Frame for Image\nDisplay (STD-US-ID-MF-xxxx)"); - cmd.addOption("--ultrasound-sc-mf", "Ultrasound Single & Multi-Frame with Spatial\nCalibration (STD-UD-SC-MF-xxxx)"); - cmd.addOption("--ultrasound-cc-mf", "Ultrasound Single & Multi-Frame with Combined\nCalibration (STD-UD-CC-MF-xxxx)"); - cmd.addOption("--12-lead-ecg", "-Pec", "12-lead ECG Interchange on Diskette\n(STD-WVFM-ECG-FD)"); - cmd.addOption("--hemodynamic-waveform", "-Phd", "Hemodynamic Waveform Interchange on Diskette\n(STD-WVFM-HD-FD)"); -#endif - cmd.addSubGroup("writing:"); - cmd.addOption("--replace", "-A", "replace existing DICOMDIR (default)"); - cmd.addOption("--append", "+A", "append to existing DICOMDIR"); - cmd.addOption("--update", "+U", "update existing DICOMDIR"); - cmd.addOption("--discard", "-w", "do not write out DICOMDIR"); - cmd.addSubGroup("backup:"); - cmd.addOption("--create-backup", "create a backup of existing DICOMDIR (def.)"); - cmd.addOption("--no-backup", "-nb", "do not create a backup of existing DICOMDIR"); - cmd.addSubGroup("post-1993 value representations:"); - cmd.addOption("--enable-new-vr", "+u", "enable support for new VRs (UN/UT) (default)"); - cmd.addOption("--disable-new-vr", "-u", "disable support for new VRs, convert to OB"); - cmd.addSubGroup("group length encoding:"); - cmd.addOption("--group-length-remove", "-g", "write without group length elements (default)"); - cmd.addOption("--group-length-create", "+g", "write with group length elements"); - cmd.addSubGroup("length encoding in sequences and items:"); - cmd.addOption("--length-explicit", "+e", "write with explicit lengths (default)"); - cmd.addOption("--length-undefined", "-e", "write with undefined lengths"); - - /* evaluate command line */ - prepareCmdLineArgs(argc, argv, OFFIS_CONSOLE_APPLICATION); - if (app.parseCommandLine(cmd, argc, argv)) - { - /* print help text and exit */ - if (cmd.getArgCount() == 0) - app.printUsage(); - - /* check exclusive options first */ - if (cmd.hasExclusiveOption()) - { - if (cmd.findOption("--version")) - { - app.printHeader(OFTrue /*print host identifier*/); - COUT << OFendl << "External libraries used:"; -#if !defined(WITH_ZLIB) && !defined(BUILD_DCMGPDIR_AS_DCMMKDIR) - COUT << " none" << OFendl; -#else - COUT << OFendl; -#endif -#ifdef WITH_ZLIB - COUT << "- ZLIB, Version " << zlibVersion() << OFendl; -#endif -#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR - COUT << "- " << DiJPEGPlugin::getLibraryVersionString() << OFendl; -#endif - return 0; - } - } - - /* general options */ - OFLog::configureFromCommandLine(cmd, app); - - /* input options */ - if (cmd.findOption("--fileset-id")) - app.checkValue(cmd.getValue(opt_fileset)); - if (cmd.findOption("--descriptor")) - app.checkValue(cmd.getValue(opt_descriptor)); - if (cmd.findOption("--char-set")) - app.checkValue(cmd.getValue(opt_charset)); - - if (cmd.findOption("--input-directory")) - app.checkValue(cmd.getValue(opt_directory)); - - cmd.beginOptionBlock(); - if (cmd.findOption("--keep-filenames")) - ddir.enableMapFilenamesMode(OFFalse); - if (cmd.findOption("--map-filenames")) - ddir.enableMapFilenamesMode(OFTrue); - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--no-recurse")) - opt_recurse = OFFalse; - if (cmd.findOption("--recurse")) - { - opt_recurse = OFTrue; - if (opt_directory.isEmpty()) - opt_directory.set(".", OFTrue /*convert*/); - } - cmd.endOptionBlock(); - -#ifdef PATTERN_MATCHING_AVAILABLE - if (cmd.findOption("--pattern")) - { - app.checkDependence("--pattern", "--recurse", opt_recurse); - app.checkValue(cmd.getValue(opt_pattern)); - } -#endif - - /* processing options */ - cmd.beginOptionBlock(); - if (cmd.findOption("--no-consistency-check")) - ddir.disableConsistencyCheck(); - if (cmd.findOption("--warn-inconsist-files")) - ddir.enableAbortMode(OFFalse); - if (cmd.findOption("--abort-inconsist-file")) - ddir.enableAbortMode(OFTrue); - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--strict")) - ddir.enableInventMode(OFFalse); - if (cmd.findOption("--invent")) - ddir.enableInventMode(OFTrue); - cmd.endOptionBlock(); - - if (cmd.findOption("--invent-patient-id")) - ddir.enableInventPatientIDMode(); - - if (cmd.findOption("--allow-retired-sop")) - ddir.enableRetiredSOPClassSupport(); - if (cmd.findOption("--no-xfer-check")) - ddir.disableTransferSyntaxCheck(); - -#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR - if (cmd.findOption("--no-encoding-check")) - ddir.disableEncodingCheck(); - if (cmd.findOption("--no-resolution-check")) - ddir.disableResolutionCheck(); - if (cmd.findOption("--add-icon-image")) - ddir.enableIconImageMode(); - if (cmd.findOption("--icon-image-size")) - { - OFCmdUnsignedInt iconSize = 0; - app.checkValue(cmd.getValueAndCheckMinMax(iconSize, 1, 128)); - ddir.setIconSize(OFstatic_cast(unsigned int, iconSize)); - } - if (cmd.findOption("--icon-file-prefix")) - { - OFFilename iconPrefix; - app.checkValue(cmd.getValue(iconPrefix)); - ddir.setIconPrefix(iconPrefix); - } - if (cmd.findOption("--default-icon")) - { - OFFilename defaultIcon; - app.checkValue(cmd.getValue(defaultIcon)); - ddir.setDefaultIcon(defaultIcon); - } -#endif - - /* output options */ - if (cmd.findOption("--output-file")) - app.checkValue(cmd.getValue(opt_output)); - -#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR - cmd.beginOptionBlock(); - if (cmd.findOption("--general-purpose")) - opt_profile = DicomDirInterface::AP_GeneralPurpose; - if (cmd.findOption("--general-dvd-jpeg")) - opt_profile = DicomDirInterface::AP_GeneralPurposeDVDJPEG; - if (cmd.findOption("--general-dvd-j2k")) - opt_profile = DicomDirInterface::AP_GeneralPurposeDVDJPEG2000; - if (cmd.findOption("--general-bd-jpeg")) - opt_profile = DicomDirInterface::AP_GeneralPurposeBDJPEG; - if (cmd.findOption("--general-bd-j2k")) - opt_profile = DicomDirInterface::AP_GeneralPurposeBDJPEG2000; - if (cmd.findOption("--general-bd-mpeg2-mpml")) - opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG2MPatML; - if (cmd.findOption("--general-bd-mpeg2-mphl")) - opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG2MPatHL; - if (cmd.findOption("--general-bd-mpeg4-hp")) - opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV41; - if (cmd.findOption("--general-bd-mpeg4-hpbd")) - opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV41BD; - if (cmd.findOption("--general-bd-mpeg4-hp2d")) - opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV42_2D; - if (cmd.findOption("--general-bd-mpeg4-hp3d")) - opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV42_3D; - if (cmd.findOption("--general-bd-mpeg4-hpst")) - opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4StereoHPatLV42; - if (cmd.findOption("--usb-and-flash-jpeg")) - opt_profile = DicomDirInterface::AP_USBandFlashJPEG; - if (cmd.findOption("--usb-and-flash-j2k")) - opt_profile = DicomDirInterface::AP_USBandFlashJPEG2000; - if (cmd.findOption("--general-mime")) - opt_profile = DicomDirInterface::AP_GeneralPurposeMIME; - if (cmd.findOption("--mpeg2-mpml-dvd")) - opt_profile = DicomDirInterface::AP_MPEG2MPatMLDVD; - if (cmd.findOption("--basic-cardiac")) - opt_profile = DicomDirInterface::AP_BasicCardiac; - if (cmd.findOption("--xray-angiographic")) - opt_profile = DicomDirInterface::AP_XrayAngiographic; - if (cmd.findOption("--xray-angiographic-dvd")) - opt_profile = DicomDirInterface::AP_XrayAngiographicDVD; - if (cmd.findOption("--dental-radiograph")) - opt_profile = DicomDirInterface::AP_DentalRadiograph; - if (cmd.findOption("--ct-and-mr")) - opt_profile = DicomDirInterface::AP_CTandMR; - if (cmd.findOption("--ultrasound-id-sf")) - opt_profile = DicomDirInterface::AP_UltrasoundIDSF; - if (cmd.findOption("--ultrasound-sc-sf")) - opt_profile = DicomDirInterface::AP_UltrasoundSCSF; - if (cmd.findOption("--ultrasound-cc-sf")) - opt_profile = DicomDirInterface::AP_UltrasoundCCSF; - if (cmd.findOption("--ultrasound-id-mf")) - opt_profile = DicomDirInterface::AP_UltrasoundIDMF; - if (cmd.findOption("--ultrasound-sc-mf")) - opt_profile = DicomDirInterface::AP_UltrasoundSCMF; - if (cmd.findOption("--ultrasound-cc-mf")) - opt_profile = DicomDirInterface::AP_UltrasoundCCMF; - if (cmd.findOption("--12-lead-ecg")) - opt_profile = DicomDirInterface::AP_TwelveLeadECG; - if (cmd.findOption("--hemodynamic-waveform")) - opt_profile = DicomDirInterface::AP_HemodynamicWaveform; - cmd.endOptionBlock(); -#endif - - cmd.beginOptionBlock(); - if (cmd.findOption("--replace")) - { - opt_write = OFTrue; - opt_append = OFFalse; - opt_update = OFFalse; - } - if (cmd.findOption("--append")) - { - opt_write = OFTrue; - opt_append = OFTrue; - opt_update = OFFalse; - } - if (cmd.findOption("--update")) - { - opt_write = OFTrue; - opt_append = OFFalse; - opt_update = OFTrue; - } - if (cmd.findOption("--discard")) - { - opt_write = OFFalse; - opt_append = OFFalse; - opt_update = OFFalse; - } - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--create-backup")) - ddir.disableBackupMode(OFTrue); - if (cmd.findOption("--no-backup")) - ddir.disableBackupMode(OFFalse); - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--enable-new-vr")) - dcmEnableGenerationOfNewVRs(); - if (cmd.findOption("--disable-new-vr")) - dcmDisableGenerationOfNewVRs(); - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--group-length-create")) - opt_glenc = EGL_withGL; - if (cmd.findOption("--group-length-remove")) - opt_glenc = EGL_withoutGL; - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--length-explicit")) - opt_enctype = EET_ExplicitLength; - if (cmd.findOption("--length-undefined")) - opt_enctype = EET_UndefinedLength; - cmd.endOptionBlock(); - - /* post check */ - if ((opt_profile == DicomDirInterface::AP_BasicCardiac) || - (opt_profile == DicomDirInterface::AP_XrayAngiographic) || - (opt_profile == DicomDirInterface::AP_CTandMR)) - { - app.checkConflict("--icon-image-size", "--basic-cardiac, --xray-angiographic or --ct-and-mr", cmd.findOption("--icon-image-size")); - } - } - - /* print resource identifier */ - OFLOG_DEBUG(dcmgpdirLogger, rcsid << OFendl); - - /* make sure data dictionary is loaded */ - if (!dcmDataDict.isDictionaryLoaded()) - { - OFLOG_FATAL(dcmgpdirLogger, "no data dictionary loaded, check environment variable: " - << DCM_DICT_ENVIRONMENT_VARIABLE); - return 1; /* DcmDicomDir class dumps core when no data dictionary present */ - } - - /* make sure input directory exists (if specified) */ - if (!opt_directory.isEmpty()) - { - if (!OFStandard::dirExists(opt_directory)) - { - OFLOG_FATAL(dcmgpdirLogger, OFFIS_CONSOLE_APPLICATION << ": specified input directory does not exist"); - return 1; - } - } - - /* create list of input files */ - OFFilename paramValue; - OFFilename pathName; - OFList fileNames; - const int count = cmd.getParamCount(); - if (opt_recurse) - OFLOG_INFO(dcmgpdirLogger, "determining input files ..."); - /* no parameters? */ - if (count == 0) - { - if (opt_recurse) - OFStandard::searchDirectoryRecursively(OFFilename(), fileNames, opt_pattern, opt_directory); - else - app.printError("Missing parameter dcmfile-in"); - } else { - /* iterate over all input filenames */ - for (int i = 1; i <= count; i++) - { - cmd.getParam(i, paramValue); - /* add input directory */ - OFStandard::combineDirAndFilename(pathName, opt_directory, paramValue, OFTrue /*allowEmptyDirName*/); - /* search directory recursively (if required) */ - if (OFStandard::dirExists(pathName)) - { - if (opt_recurse) - OFStandard::searchDirectoryRecursively(paramValue, fileNames, opt_pattern, opt_directory); - else - OFLOG_WARN(dcmgpdirLogger, "ignoring directory because option --recurse is not set: " << paramValue); - } else - fileNames.push_back(paramValue); - } - } - /* check whether there are any input files */ - if (fileNames.empty()) - { - OFLOG_FATAL(dcmgpdirLogger, "no input files: DICOMDIR not created"); - return 1; - } - -#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR - // add image support to DICOMDIR class - DicomDirImageImplementation imagePlugin; - ddir.addImageSupport(&imagePlugin); -#endif - - OFCondition result; - const char *action = ""; - /* create new general purpose DICOMDIR, append to or update existing one */ - if (opt_append) - { - action = "appending"; - result = ddir.appendToDicomDir(opt_profile, opt_output); - } - else if (opt_update) - { - action = "updating"; - result = ddir.updateDicomDir(opt_profile, opt_output); - } else { - action = "creating"; - result = ddir.createNewDicomDir(opt_profile, opt_output, opt_fileset); - } - if (result.good()) - { - /* set fileset descriptor and character set */ - result = ddir.setFilesetDescriptor(opt_descriptor, opt_charset); - if (result.good()) - { - /* collect 'bad' files */ - OFList badFiles; - unsigned int goodFiles = 0; - OFListIterator(OFFilename) iter = fileNames.begin(); - OFListIterator(OFFilename) last = fileNames.end(); - /* iterate over all input filenames */ - while ((iter != last) && result.good()) - { - /* add files to the DICOMDIR */ - result = ddir.addDicomFile((*iter), opt_directory); - if (result.bad()) - { - badFiles.push_back(*iter); - if (!ddir.abortMode()) - { - /* ignore inconsistent file, just warn (already done inside "ddir") */ - result = EC_Normal; - } - } else - ++goodFiles; - ++iter; - } - /* evaluate result of file checking/adding procedure */ - if (goodFiles == 0) - { - OFLOG_ERROR(dcmgpdirLogger, "no good files: DICOMDIR not created"); - result = EC_IllegalCall; - } - else if (!badFiles.empty()) - { - OFOStringStream oss; - oss << badFiles.size() << " file(s) cannot be added to DICOMDIR: "; - iter = badFiles.begin(); - last = badFiles.end(); - while (iter != last) - { - oss << OFendl << " " << (*iter); - ++iter; - } - oss << OFStringStream_ends; - OFSTRINGSTREAM_GETSTR(oss, tmpString) - OFLOG_WARN(dcmgpdirLogger, tmpString); - OFSTRINGSTREAM_FREESTR(tmpString) - } - /* write DICOMDIR file */ - if (result.good() && opt_write) - { - action = "writing"; - result = ddir.writeDicomDir(opt_enctype, opt_glenc); - } - } - } - - /* some final error reporting */ - if (result.bad() && (result != EC_IllegalCall)) - { - OFLOG_FATAL(dcmgpdirLogger, OFFIS_CONSOLE_APPLICATION << ": error (" - << result.text() << ") " << action << " file: " << opt_output); - } - -#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR - // deregister global decompression codecs - DcmRLEDecoderRegistration::cleanup(); - DJDecoderRegistration::cleanup(); - // enable the following lines for JPEG 2000 decompression support -/* - D2DecoderRegistration::cleanup(); - D2JPEG2000Library::cleanup(); -*/ -#endif - -#ifdef DEBUG - dcmDataDict.clear(); /* useful for debugging with dmalloc */ -#endif - - return result.status(); + return OFstub_main(argc, argv, "dcmgpdir", "dcmmkdir"); } diff --git a/dcmdata/apps/dump2dcm.cc b/dcmdata/apps/dump2dcm.cc index 9cdc3e71..62326e74 100644 --- a/dcmdata/apps/dump2dcm.cc +++ b/dcmdata/apps/dump2dcm.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -138,7 +138,7 @@ stripWhitespace(char *s) p = s; while (*s != '\0') { - if (isspace(TO_UCHAR(*s)) == OFFalse) { + if (OFStandard::isspace(*s) == OFFalse) { *p++ = *s; } s++; @@ -150,7 +150,7 @@ static char * stripTrailingWhitespace(char *s) { if (s == NULL) return s; - for (size_t i = strlen(s); i > 0 && isspace(TO_UCHAR(s[--i])); s[i] = '\0'); + for (size_t i = strlen(s); i > 0 && OFStandard::isspace(s[--i]); s[i] = '\0'); return s; } @@ -161,7 +161,7 @@ stripPrecedingWhitespace(char *s) char *p; if (s == NULL) return s; - for(p = s; *p && isspace(TO_UCHAR(*p)); p++) + for(p = s; *p && OFStandard::isspace(*p); p++) ; return p; @@ -170,7 +170,7 @@ stripPrecedingWhitespace(char *s) static OFBool onlyWhitespace(const char *s) { - while(*s) if (!isspace(TO_UCHAR(*s++))) + while(*s) if (!OFStandard::isspace(*s++)) return OFFalse; return OFTrue; } @@ -201,7 +201,7 @@ static OFBool isaCommentLine(const char *s) { // skip leading spaces - while(isspace(TO_UCHAR(*s))) ++s; + while(OFStandard::isspace(*s)) ++s; return *s == DCM_DumpCommentChar; } @@ -1067,7 +1067,7 @@ int main(int argc, char *argv[]) if (fileformat.canWriteXfer(opt_xfer)) { /* check whether pixel data is compressed */ - if ((opt_writeMode == EWM_dataset) && DcmXfer(xfer).isEncapsulated()) + if ((opt_writeMode == EWM_dataset) && DcmXfer(xfer).usesEncapsulatedFormat()) { OFLOG_WARN(dump2dcmLogger, "encapsulated pixel data require file format, ignoring --write-dataset"); opt_writeMode = EWM_fileformat; diff --git a/dcmdata/apps/img2dcm.cc b/dcmdata/apps/img2dcm.cc index 742ff815..916b388d 100644 --- a/dcmdata/apps/img2dcm.cc +++ b/dcmdata/apps/img2dcm.cc @@ -171,7 +171,7 @@ static void addCmdLineOptions(OFCommandLine& cmd) cmd.addOption("--transliterate", "-Ct", "try to approximate characters that cannot be\nrepresented through similar looking characters"); cmd.addOption("--discard-illegal", "-Cd", "discard characters that cannot be represented\nin destination character set"); cmd.addSubGroup("other processing options:"); - cmd.addOption("--key", "-k", 1, "[k]ey: gggg,eeee=\"str\", path or dict. name=\"str\"", + cmd.addOption("--key", "-k", 1, "[k]ey: gggg,eeee=\"str\", path or dict name=\"str\"", "add further attribute"); cmd.addGroup("output options:"); diff --git a/dcmdata/apps/mdfconen.cc b/dcmdata/apps/mdfconen.cc index 5583d45b..329b25b4 100644 --- a/dcmdata/apps/mdfconen.cc +++ b/dcmdata/apps/mdfconen.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2022, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -72,7 +72,7 @@ MdfConsoleEngine::MdfConsoleEngine(int argc, char *argv[], { char rcsid[200]; // print application header - sprintf(rcsid, "$dcmtk: %s v%s %s $", application_name, OFFIS_DCMTK_VERSION, OFFIS_DCMTK_RELEASEDATE); + OFStandard::snprintf(rcsid, sizeof(rcsid), "$dcmtk: %s v%s %s $", application_name, OFFIS_DCMTK_VERSION, OFFIS_DCMTK_RELEASEDATE); // the next lines describe commandline arguments/options app = new OFConsoleApplication(application_name, "Modify DICOM files", rcsid); diff --git a/dcmdata/apps/mdfdsman.cc b/dcmdata/apps/mdfdsman.cc index 0a13e914..26d288f6 100644 --- a/dcmdata/apps/mdfdsman.cc +++ b/dcmdata/apps/mdfdsman.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2022, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -23,7 +23,14 @@ #include "dcmtk/dcmdata/dcistrmf.h" /* for class DcmInputFileStream */ #include "dcmtk/dcmdata/dcpath.h" -#include "dcmtk/dcmdata/dctk.h" +#include "dcmtk/dcmdata/dcfilefo.h" +#include "dcmtk/dcmdata/dcmetinf.h" +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/dcmdata/dcdicent.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcuid.h" +#include "dcmtk/dcmdata/dcpixel.h" +#include "dcmtk/ofstd/oflist.h" #include "dcmtk/ofstd/ofstd.h" #include "mdfdsman.h" @@ -312,51 +319,17 @@ OFCondition MdfDatasetManager::modifyOrInsertPath(OFString tag_path, if (dfile == NULL) return makeOFCondition(OFM_dcmdata, 22, OF_error, "No file loaded yet!"); - // find or create specified path + // Find or create path and perform basic validity checks DcmPathProcessor proc; - proc.checkPrivateReservations(!no_reservation_checks); - OFCondition result = proc.findOrCreatePath(dset, tag_path, !only_modify /*create if desired*/); - // if desired, handle tag not found as being not an error - if ((result == EC_TagNotFound) && only_modify && ignore_missing_tags) - return EC_Normal; + OFCondition result = findOrCreateValidPath(proc, tag_path, value, only_modify, ignore_missing_tags, no_reservation_checks); if (result.bad()) return result; - OFList resultPaths; - Uint32 numResultPaths = proc.getResults(resultPaths); - if (numResultPaths == 0) - return EC_IllegalCall; - - // general validity checking; must only be done for one result - OFListIterator(DcmPath*) resultPath = resultPaths.begin(); - // verify that groups 0 (invalid) and 2 (meta header) were not used - if ((*resultPath)->containsGroup(0) || (*resultPath)->containsGroup(2)) - return makeOFCondition(OFM_dcmdata, 22, OF_error, "Cannot insert/modify tags with group 0000 or 0002!"); - // also - according to the standard - groups 1,3,5,7,FF are illegal - if ((*resultPath)->containsGroup(1) || (*resultPath)->containsGroup(3) || (*resultPath)->containsGroup(5) - || (*resultPath)->containsGroup(7) || (*resultPath)->containsGroup(0xffff)) - return makeOFCondition(OFM_dcmdata, 22, OF_error, "Groups 0001,0003,0005,0007,FFFF are illegal!"); - - DcmPathNode* lastElement = (*resultPath)->back(); - if (lastElement == NULL) - return EC_IllegalCall; - DcmObject* obj = lastElement->m_obj; - if (obj == NULL) - return EC_IllegalCall; - // if object at the end is not a leaf, the insertion is completed (or must fail) - if (!obj->isLeaf()) - { - // if user specified a value to be inserted into non-leaf element, return error - if (!value.empty()) - return makeOFCondition(OFM_dcmdata, 22, OF_error, "Cannot put value into non-leaf elements!"); - // non-leaf elements (items/sequences) cannot just be modified - if (only_modify) - return makeOFCondition(OFM_dcmdata, 22, OF_error, "Cannot modify non-leaf elements!"); - // we have inserted an item/sequence at the end -> job completed - return EC_Normal; - } // start modifying element value as desired - resultPath = resultPaths.begin(); + OFList resultPaths; + proc.getResults(resultPaths); + OFListIterator(DcmPath*) resultPath = resultPaths.begin(); + DcmPathNode* lastElement = NULL; while (resultPath != resultPaths.end()) { lastElement = (*resultPath)->back(); @@ -400,42 +373,17 @@ OFCondition MdfDatasetManager::modifyOrInsertFromFile(OFString tag_path, if (!OFStandard::isReadable(filename)) return makeOFCondition(OFM_dcmdata, 22, OF_error, "File to read value from is not readable!"); - // find or create specified path + // Find or create path and perform basic validity checks DcmPathProcessor proc; - proc.checkPrivateReservations(!no_reservation_checks); - OFCondition result = proc.findOrCreatePath(dset, tag_path, !only_modify /*create if desired*/); - // if desired, handle tag not found as being not an error - if ((result == EC_TagNotFound) && only_modify && ignore_missing_tags) - return EC_Normal; + OFCondition result = findOrCreateValidPath(proc, tag_path, filename, only_modify, ignore_missing_tags, no_reservation_checks); if (result.bad()) return result; - OFList resultPaths; - Uint32 numResultPaths = proc.getResults(resultPaths); - if (numResultPaths == 0) - return EC_IllegalCall; - - // general validity checking; must only be done for one result - OFListIterator(DcmPath*) resultPath = resultPaths.begin(); - // verify that groups 0 (invalid) and 2 (meta header) were not used - if ((*resultPath)->containsGroup(0) || (*resultPath)->containsGroup(2)) - return makeOFCondition(OFM_dcmdata, 22, OF_error, "Cannot insert/modify tags with group 0000 or 0002!"); - // also - according to the standard - groups 1,3,5,7,FF are illegal - if ((*resultPath)->containsGroup(1) || (*resultPath)->containsGroup(3) || (*resultPath)->containsGroup(5) - || (*resultPath)->containsGroup(7) || (*resultPath)->containsGroup(0xffff)) - return makeOFCondition(OFM_dcmdata, 22, OF_error, "Groups 0001,0003,0005,0007,FFFF are illegal!"); - - DcmPathNode* lastElement = (*resultPath)->back(); - if (lastElement == NULL) - return EC_IllegalCall; - DcmObject* obj = lastElement->m_obj; - if (obj == NULL) - return EC_IllegalCall; - // if object at the end is not a leaf, the insertion/modification fails - if (!obj->isLeaf()) - return makeOFCondition(OFM_dcmdata, 22, OF_error, "Cannot put value into non-leaf elements!"); // start modifying element value as desired - resultPath = resultPaths.begin(); + OFList resultPaths; + proc.getResults(resultPaths); + OFListIterator(DcmPath*) resultPath = resultPaths.begin(); + DcmPathNode* lastElement; while (resultPath != resultPaths.end()) { lastElement = (*resultPath)->back(); @@ -655,8 +603,8 @@ OFCondition MdfDatasetManager::saveFile(const char* file_name, /* check whether transfer syntax is possible */ if ((opt_xfer == EXS_Unknown) || (dfile->canWriteXfer(opt_xfer))) { - /* check whether pixel data is compressed */ - if (opt_dataset && DcmXfer(opt_xfer).isEncapsulated()) + /* check whether pixel data is encapsulated (e.g. compressed) */ + if (opt_dataset && DcmXfer(opt_xfer).usesEncapsulatedFormat()) { OFLOG_WARN(mdfdsmanLogger, "encapsulated pixel data requires file format, ignoring --write-dataset"); opt_dataset = OFFalse; @@ -766,7 +714,7 @@ OFCondition MdfDatasetManager::checkPixelDataInsertion(DcmElement* elem) const DcmRepresentationParameter* dontCare = NULL; pix->getCurrentRepresentationKey(ts, dontCare); DcmXfer xfer(ts); - if (xfer.isEncapsulated()) + if (xfer.usesEncapsulatedFormat()) { OFLOG_ERROR(mdfdsmanLogger, "Cannot replace encapsulated Pixel Data (not implemented)"); return EC_IllegalParameter; @@ -781,6 +729,57 @@ OFCondition MdfDatasetManager::checkPixelDataInsertion(DcmElement* elem) } +OFCondition MdfDatasetManager::findOrCreateValidPath(DcmPathProcessor& proc, + OFString tag_path, + const OFString& value_or_filename, + const OFBool only_modify, + const OFBool ignore_missing_tags, + const OFBool no_reservation_checks) +{ + // find or create specified path + proc.checkPrivateReservations(!no_reservation_checks); + OFCondition result = proc.findOrCreatePath(dset, tag_path, !only_modify /*create if desired*/); + // if desired, handle tag not found as being not an error + if ((result == EC_TagNotFound) && only_modify && ignore_missing_tags) + return EC_Normal; + if (result.bad()) + return result; + OFList result_paths; + Uint32 numResultPaths = proc.getResults(result_paths); + if (numResultPaths == 0) + return EC_IllegalCall; + + // general validity checking; must only be done for one result + OFListIterator(DcmPath*) resultPath = result_paths.begin(); + // verify that groups 0 (invalid) and 2 (meta header) were not used + if ((*resultPath)->containsGroup(0) || (*resultPath)->containsGroup(2)) + return makeOFCondition(OFM_dcmdata, 22, OF_error, "Cannot insert/modify tags with group 0000 or 0002!"); + // also - according to the standard - groups 1,3,5,7,FF are illegal + if ((*resultPath)->containsInvalidGroup()) + return makeOFCondition(OFM_dcmdata, 22, OF_error, "Groups 0001,0003,0005,0007,FFFF are illegal!"); + + DcmPathNode* lastElement = (*resultPath)->back(); + if (lastElement == NULL) + return EC_IllegalCall; + DcmObject* obj = lastElement->m_obj; + if (obj == NULL) + return EC_IllegalCall; + // if object at the end is not a leaf, the insertion is completed (or must fail) + if (!obj->isLeaf()) + { + // if user specified a value to be inserted into non-leaf element, return error + if (!value_or_filename.empty()) + return makeOFCondition(OFM_dcmdata, 22, OF_error, "Cannot put value into non-leaf elements!"); + // non-leaf elements (items/sequences) cannot just be modified + if (only_modify) + return makeOFCondition(OFM_dcmdata, 22, OF_error, "Cannot modify non-leaf elements!"); + } + + return EC_Normal; +} + + + MdfDatasetManager::~MdfDatasetManager() { // cleanup diff --git a/dcmdata/apps/mdfdsman.h b/dcmdata/apps/mdfdsman.h index 371eec2d..c218583a 100644 --- a/dcmdata/apps/mdfdsman.h +++ b/dcmdata/apps/mdfdsman.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2022, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,6 +24,7 @@ #include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first +#include "dcmtk/dcmdata/dcpath.h" #include "dcmtk/ofstd/ofcond.h" #include "dcmtk/dcmdata/dctagkey.h" #include "dcmtk/dcmdata/dcxfer.h" @@ -34,7 +35,8 @@ class DcmDataset; class DcmFileFormat; class DcmElement; - +class DcmPathProcessor; +class DcmPath; /** This class encapsulates data structures and operations for modifying * DICOM files. Therefore it allows the process of load->modify->save to @@ -208,6 +210,39 @@ public: protected: + /** Finds or inserts a path and performs some basic checks on the path: + * - If the path is a private tag, it is checked whether the private creator + * tag is present in the dataset. (disabled if no_reservation_checks is true). + * - If the path contains tags with group numbers 0,1,2,3,5,7 or FF, an error + * is returned. + * - If a value is defined (via file or non-empty string), it is ensured that + * the path does points to a leaf object (i.e. not a sequence or item). + * - It is not possible to "only modify" a path that points to a non-leaf object + * If the path has been created or found, the path processor contains at least + * one valid path. + * + * @param proc path processor to be used + * @param tag_path path to item/element + * @param value_or_filename denotes new value of tag or filename to read value from. + * Only used to determine whether a value should be applied + * (not in this method) to the target element or not. + * @param only_modify if true, only existing tags are processed. If false, + * any not existing tag is inserted + * @param ignore_missing_tags if true, tags that could not be found + * while modifying (only_modify must be true) + * are handled as non-errors + * @param no_reservation_checks if true, any missing private reservation + * tags are ignored when inserting private + * tags. Only makes sense w/o only_modify + * @return returns EC_Normal if everything is OK, else an error + */ + OFCondition findOrCreateValidPath(DcmPathProcessor& proc, + OFString tag_path, + const OFString& value_or_filename, + const OFBool only_modify, + const OFBool ignore_missing_tags, + const OFBool no_reservation_checks); + /** modifies element to a specific value * @param elem element that should be changed * @param value the value, the element should be changed to diff --git a/dcmdata/apps/stl2dcm.cc b/dcmdata/apps/stl2dcm.cc old mode 100755 new mode 100644 diff --git a/dcmdata/apps/xml2dcm.cc b/dcmdata/apps/xml2dcm.cc index c7529523..4276cabc 100644 --- a/dcmdata/apps/xml2dcm.cc +++ b/dcmdata/apps/xml2dcm.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2022, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -350,7 +350,7 @@ int main(int argc, char *argv[]) if (fileformat.canWriteXfer(opt_xfer)) { /* check whether pixel data is compressed */ - if ((opt_writeMode == EWM_dataset) && DcmXfer(xfer).isEncapsulated()) + if ((opt_writeMode == EWM_dataset) && DcmXfer(xfer).usesEncapsulatedFormat()) { OFLOG_WARN(xml2dcmLogger, "encapsulated pixel data require file format, ignoring --write-dataset"); opt_writeMode = EWM_fileformat; diff --git a/dcmdata/data/CMakeLists.txt b/dcmdata/data/CMakeLists.txt index 29517f8c..d38cd395 100644 --- a/dcmdata/data/CMakeLists.txt +++ b/dcmdata/data/CMakeLists.txt @@ -1,5 +1,5 @@ # declare installation files -install(FILES dicom.dic acrnema.dic private.dic diconde.dic dcm2xml.dtd dumppat.txt SC.dump VLP.dump DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}" COMPONENT data) +install(FILES dicom.dic acrnema.dic private.dic diconde.dic dcm2xml.dtd dumppat.txt SC.dump VLP.dump DESTINATION "${CMAKE_INSTALL_DATADIR}" COMPONENT data) # add paths to the dictionaries to a CMake variable for being used by the unit tests set(DCMTK_DICOM_DICTIONARIES diff --git a/dcmdata/data/dicom.dic b/dcmdata/data/dicom.dic index 9ad2da61..44f771e8 100644 --- a/dcmdata/data/dicom.dic +++ b/dcmdata/data/dicom.dic @@ -1,5 +1,5 @@ # -# Copyright (C) 1994-2023, OFFIS e.V. +# Copyright (C) 1994-2024, OFFIS e.V. # All rights reserved. See COPYRIGHT file for details. # # This software and supporting documentation were developed by @@ -21,8 +21,8 @@ # DICONDE (Digital Imaging and Communication in Nondestructive Evaluation) and # DICOS (Digital Imaging and Communications in Security) standard. # -# Generated automatically from DICOM PS 3.6-2023c and PS 3.7-2023c. -# File created on 2023-07-14 12:17:55 by J. Riesmeier on thinkpad2. +# Generated automatically from DICOM PS 3.6-2024e and PS 3.7-2024e. +# File created on 2024-11-16 10:17:21 by J. Riesmeier on thinkpad2. # # In addition, the data dictionary entries from the following final text # supplements and correction items (CP) have been incorporated: @@ -122,6 +122,7 @@ (0008,0019) UI PyramidUID 1 DICOM (0008,001A) UI RelatedGeneralSOPClassUID 1-n DICOM (0008,001B) UI OriginalSpecializedSOPClassUID 1 DICOM +(0008,001C) CS SyntheticData 1 DICOM (0008,0020) DA StudyDate 1 DICOM (0008,0021) DA SeriesDate 1 DICOM (0008,0022) DA AcquisitionDate 1 DICOM @@ -268,6 +269,7 @@ (0008,1090) LO ManufacturerModelName 1 DICOM (0008,1110) SQ ReferencedStudySequence 1 DICOM (0008,1111) SQ ReferencedPerformedProcedureStepSequence 1 DICOM +(0008,1112) SQ ReferencedInstancesBySOPClassSequence 1 DICOM (0008,1115) SQ ReferencedSeriesSequence 1 DICOM (0008,1120) SQ ReferencedPatientSequence 1 DICOM (0008,1125) SQ ReferencedVisitSequence 1 DICOM @@ -276,6 +278,8 @@ (0008,1140) SQ ReferencedImageSequence 1 DICOM (0008,114A) SQ ReferencedInstanceSequence 1 DICOM (0008,114B) SQ ReferencedRealWorldValueMappingInstanceSequence 1 DICOM +(0008,114C) SQ ReferencedSegmentationSequence 1 DICOM +(0008,114D) SQ ReferencedSurfaceSegmentationSequence 1 DICOM (0008,1150) UI ReferencedSOPClassUID 1 DICOM (0008,1155) UI ReferencedSOPInstanceUID 1 DICOM (0008,1156) SQ DefinitionSourceSequence 1 DICOM @@ -293,6 +297,7 @@ (0008,1198) SQ FailedSOPSequence 1 DICOM (0008,1199) SQ ReferencedSOPSequence 1 DICOM (0008,119A) SQ OtherFailuresSequence 1 DICOM +(0008,119B) SQ FailedStudySequence 1 DICOM (0008,1200) SQ StudiesContainingOtherReferencedInstancesSequence 1 DICOM (0008,1250) SQ RelatedSeriesSequence 1 DICOM (0008,2111) ST DerivationDescription 1 DICOM @@ -391,6 +396,7 @@ (0010,2154) SH PatientTelephoneNumbers 1-n DICOM (0010,2155) LT PatientTelecomInformation 1 DICOM (0010,2160) SH EthnicGroup 1 DICOM +(0010,2161) SQ EthnicGroupCodeSequence 1 DICOM (0010,2180) SH Occupation 1 DICOM (0010,21A0) CS SmokingStatus 1 DICOM (0010,21B0) LT AdditionalPatientHistory 1 DICOM @@ -414,21 +420,28 @@ (0012,0010) LO ClinicalTrialSponsorName 1 DICOM (0012,0020) LO ClinicalTrialProtocolID 1 DICOM (0012,0021) LO ClinicalTrialProtocolName 1 DICOM +(0012,0022) LO IssuerOfClinicalTrialProtocolID 1 DICOM +(0012,0023) SQ OtherClinicalTrialProtocolIDsSequence 1 DICOM (0012,0030) LO ClinicalTrialSiteID 1 DICOM (0012,0031) LO ClinicalTrialSiteName 1 DICOM +(0012,0032) LO IssuerOfClinicalTrialSiteID 1 DICOM (0012,0040) LO ClinicalTrialSubjectID 1 DICOM +(0012,0041) LO IssuerOfClinicalTrialSubjectID 1 DICOM (0012,0042) LO ClinicalTrialSubjectReadingID 1 DICOM +(0012,0043) LO IssuerOfClinicalTrialSubjectReadingID 1 DICOM (0012,0050) LO ClinicalTrialTimePointID 1 DICOM (0012,0051) ST ClinicalTrialTimePointDescription 1 DICOM (0012,0052) FD LongitudinalTemporalOffsetFromEvent 1 DICOM (0012,0053) CS LongitudinalTemporalEventType 1 DICOM (0012,0054) SQ ClinicalTrialTimePointTypeCodeSequence 1 DICOM +(0012,0055) LO IssuerOfClinicalTrialTimePointID 1 DICOM (0012,0060) LO ClinicalTrialCoordinatingCenterName 1 DICOM (0012,0062) CS PatientIdentityRemoved 1 DICOM (0012,0063) LO DeidentificationMethod 1-n DICOM (0012,0064) SQ DeidentificationMethodCodeSequence 1 DICOM (0012,0071) LO ClinicalTrialSeriesID 1 DICOM (0012,0072) LO ClinicalTrialSeriesDescription 1 DICOM +(0012,0073) LO IssuerOfClinicalTrialSeriesID 1 DICOM (0012,0081) LO ClinicalTrialProtocolEthicsCommitteeName 1 DICOM (0012,0082) LO ClinicalTrialProtocolEthicsCommitteeApprovalNumber 1 DICOM (0012,0083) SQ ConsentForClinicalTrialUseSequence 1 DICOM @@ -635,6 +648,98 @@ (0014,511D) DS WedgeChamferHeight 1 DICOM/DICONDE (0014,511E) CS WedgeCurve 1 DICOM/DICONDE (0014,511F) DS RadiusAlongWedge 1 DICOM/DICONDE +(0014,6001) SQ ThermalCameraSettingsSequence 1 DICOM/DICONDE +(0014,6002) DS AcquisitionFrameRate 1 DICOM/DICONDE +(0014,6003) DS IntegrationTime 1 DICOM/DICONDE +(0014,6004) DS NumberOfCalibrationFrames 1 DICOM/DICONDE +(0014,6005) DS NumberOfRowsInFullAcquisitionImage 1 DICOM/DICONDE +(0014,6006) DS NumberOfColumnsInFullAcquisitionImage 1 DICOM/DICONDE +(0014,6007) SQ ThermalSourceSettingsSequence 1 DICOM/DICONDE +(0014,6008) DS SourceHorizontalPitch 1 DICOM/DICONDE +(0014,6009) DS SourceVerticalPitch 1 DICOM/DICONDE +(0014,600A) DS SourceHorizontalScanSpeed 1 DICOM/DICONDE +(0014,600B) DS ThermalSourceModulationFrequency 1 DICOM/DICONDE +(0014,600C) SQ InductionSourceSettingSequence 1 DICOM/DICONDE +(0014,600D) DS CoilFrequency 1 DICOM/DICONDE +(0014,600E) DS CurrentAmplitudeAcrossCoil 1 DICOM/DICONDE +(0014,600F) SQ FlashSourceSettingSequence 1 DICOM/DICONDE +(0014,6010) DS FlashDuration 1 DICOM/DICONDE +(0014,6011) DS FlashFrameNumber 1-n DICOM/DICONDE +(0014,6012) SQ LaserSourceSettingSequence 1 DICOM/DICONDE +(0014,6013) DS HorizontalLaserSpotDimension 1 DICOM/DICONDE +(0014,6014) DS VerticalLaserSpotDimension 1 DICOM/DICONDE +(0014,6015) DS LaserWavelength 1 DICOM/DICONDE +(0014,6016) DS LaserPower 1 DICOM/DICONDE +(0014,6017) SQ ForcedGasSettingSequence 1 DICOM/DICONDE +(0014,6018) SQ VibrationSourceSettingSequence 1 DICOM/DICONDE +(0014,6019) DS VibrationExcitationFrequency 1 DICOM/DICONDE +(0014,601A) DS VibrationExcitationVoltage 1 DICOM/DICONDE +(0014,601B) CS ThermographyDataCaptureMethod 1 DICOM/DICONDE +(0014,601C) CS ThermalTechnique 1 DICOM/DICONDE +(0014,601D) SQ ThermalCameraCoreSequence 1 DICOM/DICONDE +(0014,601E) CS DetectorWavelengthRange 1 DICOM/DICONDE +(0014,601F) CS ThermalCameraCalibrationType 1 DICOM/DICONDE +(0014,6020) UV AcquisitionImageCounter 1 DICOM/DICONDE +(0014,6021) DS FrontPanelTemperature 1 DICOM/DICONDE +(0014,6022) DS AirGapTemperature 1 DICOM/DICONDE +(0014,6023) DS VerticalPixelSize 1 DICOM/DICONDE +(0014,6024) DS HorizontalPixelSize 1 DICOM/DICONDE +(0014,6025) ST DataStreamingProtocol 1-n DICOM/DICONDE +(0014,6026) SQ LensSequence 1 DICOM/DICONDE +(0014,6027) DS FieldOfView 1 DICOM/DICONDE +(0014,6028) LO LensFilterManufacturer 1 DICOM/DICONDE +(0014,6029) CS CutoffFilterType 1 DICOM/DICONDE +(0014,602A) DS LensFilterCutOffWavelength 1-n DICOM/DICONDE +(0014,602B) SQ ThermalSourceSequence 1 DICOM/DICONDE +(0014,602C) CS ThermalSourceMotionState 1 DICOM/DICONDE +(0014,602D) CS ThermalSourceMotionType 1 DICOM/DICONDE +(0014,602E) SQ InductionHeatingSequence 1 DICOM/DICONDE +(0014,602F) ST CoilConfigurationID 1 DICOM/DICONDE +(0014,6030) DS NumberOfTurnsInCoil 1 DICOM/DICONDE +(0014,6031) CS ShapeOfIndividualTurn 1 DICOM/DICONDE +(0014,6032) DS SizeOfIndividualTurn 1-n DICOM/DICONDE +(0014,6033) DS DistanceBetweenTurns 1-n DICOM/DICONDE +(0014,6034) SQ FlashHeatingSequence 1 DICOM/DICONDE +(0014,6035) DS NumberOfLamps 1 DICOM/DICONDE +(0014,6036) ST FlashSynchronizationProtocol 1 DICOM/DICONDE +(0014,6037) CS FlashModificationStatus 1 DICOM/DICONDE +(0014,6038) SQ LaserHeatingSequence 1 DICOM/DICONDE +(0014,6039) LO LaserManufacturer 1 DICOM/DICONDE +(0014,603A) LO LaserModelNumber 1 DICOM/DICONDE +(0014,603B) ST LaserTypeDescription 1 DICOM/DICONDE +(0014,603C) SQ ForcedGasHeatingSequence 1 DICOM/DICONDE +(0014,603D) LO GasUsedForHeatingCoolingPart 1 DICOM/DICONDE +(0014,603E) SQ VibrationSonicHeatingSequence 1 DICOM/DICONDE +(0014,603F) LO ProbeManufacturer 1 DICOM/DICONDE +(0014,6040) LO ProbeModelNumber 1 DICOM/DICONDE +(0014,6041) DS ApertureSize 1 DICOM/DICONDE +(0014,6042) DS ProbeResonantFrequency 1 DICOM/DICONDE +(0014,6043) UT HeatSourceDescription 1 DICOM/DICONDE +(0014,6044) CS SurfacePreparationWithOpticalCoating 1 DICOM/DICONDE +(0014,6045) ST OpticalCoatingType 1 DICOM/DICONDE +(0014,6046) DS ThermalConductivityOfExposedSurface 1 DICOM/DICONDE +(0014,6047) DS MaterialDensity 1 DICOM/DICONDE +(0014,6048) DS SpecificHeatOfInspectionSurface 1 DICOM/DICONDE +(0014,6049) DS EmissivityOfInspectionSurface 1 DICOM/DICONDE +(0014,604A) CS ElectromagneticClassificationOfInspectionSurface 1-n DICOM/DICONDE +(0014,604C) DS MovingWindowSize 1 DICOM/DICONDE +(0014,604D) CS MovingWindowType 1 DICOM/DICONDE +(0014,604E) DS MovingWindowWeights 1-n DICOM/DICONDE +(0014,604F) DS MovingWindowPitch 1 DICOM/DICONDE +(0014,6050) CS MovingWindowPaddingScheme 1 DICOM/DICONDE +(0014,6051) DS MovingWindowPaddingLength 1 DICOM/DICONDE +(0014,6052) SQ SpatialFilteringParametersSequence 1 DICOM/DICONDE +(0014,6053) CS SpatialFilteringScheme 1 DICOM/DICONDE +(0014,6056) DS HorizontalMovingWindowSize 1 DICOM/DICONDE +(0014,6057) DS VerticalMovingWindowSize 1 DICOM/DICONDE +(0014,6059) SQ PolynomialFittingSequence 1 DICOM/DICONDE +(0014,605A) CS FittingDataType 1-n DICOM/DICONDE +(0014,605B) CS OperationOnTimeAxisBeforeFitting 1 DICOM/DICONDE +(0014,605C) CS OperationOnPixelIntensityBeforeFitting 1 DICOM/DICONDE +(0014,605D) DS OrderOfPolynomial 1 DICOM/DICONDE +(0014,605E) CS IndependentVariableForPolynomialFit 1 DICOM/DICONDE +(0014,605F) DS PolynomialCoefficients 1-n DICOM/DICONDE +(0014,6060) CS ThermographyPixelDataUnit 1 DICOM/DICONDE (0016,0001) DS WhitePoint 1 DICOM (0016,0002) DS PrimaryChromaticities 3 DICOM (0016,0003) UT BatteryLevel 1 DICOM @@ -1718,6 +1823,7 @@ (0022,000C) FL HorizontalFieldOfView 1 DICOM (0022,000D) CS PupilDilated 1 DICOM (0022,000E) FL DegreeOfDilation 1 DICOM +(0022,000F) FD VertexDistance 1 DICOM (0022,0010) FL StereoBaselineAngle 1 DICOM (0022,0011) FL StereoBaselineDisplacement 1 DICOM (0022,0012) FL StereoHorizontalPixelOffset 1 DICOM @@ -1861,10 +1967,16 @@ (0022,1618) SQ ScanPatternTypeCodeSequence 1 DICOM (0022,1620) SQ ReferencedSurfaceMeshIdentificationSequence 1 DICOM (0022,1622) CS OphthalmicVolumetricPropertiesFlag 1 DICOM +(0022,1623) FL OphthalmicAnatomicReferencePointFrameCoordinate 1 DICOM (0022,1624) FL OphthalmicAnatomicReferencePointXCoordinate 1 DICOM (0022,1626) FL OphthalmicAnatomicReferencePointYCoordinate 1 DICOM +(0022,1627) SQ OphthalmicEnFaceVolumeDescriptorSequence 1 DICOM (0022,1628) SQ OphthalmicEnFaceImageQualityRatingSequence 1 DICOM +(0022,1629) CS OphthalmicEnFaceVolumeDescriptorScope 1 DICOM (0022,1630) DS QualityThreshold 1 DICOM +(0022,1632) SQ OphthalmicAnatomicReferencePointSequence 1 DICOM +(0022,1633) CS OphthalmicAnatomicReferencePointLocalizationType 1 DICOM +(0022,1634) IS PrimaryAnatomicStructureItemIndex 1 DICOM (0022,1640) SQ OCTBscanAnalysisAcquisitionParametersSequence 1 DICOM (0022,1642) UL NumberOfBscansPerFrame 1 DICOM (0022,1643) FL BscanSlabThickness 1 DICOM @@ -2179,7 +2291,6 @@ (0034,000B) SQ CameraPositionGroupSequence 1 DICOM (0034,000C) CS IncludesInformation 1 DICOM (0034,000D) SQ TimeOfFrameGroupSequence 1 DICOM -(0038,0004) SQ ReferencedPatientAliasSequence 1 DICOM (0038,0008) CS VisitStatusID 1 DICOM (0038,0010) LO AdmissionID 1 DICOM (0038,0014) SQ IssuerOfAdmissionIDSequence 1 DICOM @@ -2246,12 +2357,12 @@ (003A,0317) CS WaveformAmplifierType 1 DICOM (003A,0318) SQ FilterLowFrequencyCharacteristicsSequence 1 DICOM (003A,0319) SQ FilterHighFrequencyCharacteristicsSequence 1 DICOM -(003A,0320) SQ SummarizedFilterLookupTable 1 DICOM +(003A,0320) SQ SummarizedFilterLookupTableSequence 1 DICOM (003A,0321) SQ NotchFilterCharacteristicsSequence 1 DICOM (003A,0322) CS WaveformFilterType 1 DICOM (003A,0323) SQ AnalogFilterCharacteristicsSequence 1 DICOM (003A,0324) DS AnalogFilterRollOff 1 DICOM -(003A,0325) SQ AnalogFilterType 1 DICOM +(003A,0325) SQ AnalogFilterTypeCodeSequence 1 DICOM (003A,0326) SQ DigitalFilterCharacteristicsSequence 1 DICOM (003A,0327) IS DigitalFilterOrder 1 DICOM (003A,0328) SQ DigitalFilterTypeCodeSequence 1 DICOM @@ -2638,6 +2749,10 @@ (0048,0111) DS CondenserLensPower 1 DICOM (0048,0112) DS ObjectiveLensPower 1 DICOM (0048,0113) DS ObjectiveLensNumericalAperture 1 DICOM +(0048,0114) CS ConfocalMode 1 DICOM +(0048,0115) CS TissueLocation 1 DICOM +(0048,0116) SQ ConfocalMicroscopyImageFrameTypeSequence 1 DICOM +(0048,0117) FD ImageAcquisitionDepth 1 DICOM (0048,0120) SQ PaletteColorLookupTableSequence 1 DICOM (0048,0207) SQ OpticalPathIdentificationSequence 1 DICOM (0048,021A) SQ PlanePositionSlideSequence 1 DICOM @@ -2808,6 +2923,7 @@ (0066,0002) SQ SurfaceSequence 1 DICOM (0066,0003) UL SurfaceNumber 1 DICOM (0066,0004) LT SurfaceComments 1 DICOM +(0066,0005) FL SurfaceOffset 1 DICOM (0066,0009) CS SurfaceProcessing 1 DICOM (0066,000A) FL SurfaceProcessingRatio 1 DICOM (0066,000B) LO SurfaceProcessingDescription 1 DICOM @@ -3116,8 +3232,6 @@ (0070,1804) US VolumetricPresentationInputIndex 1 DICOM (0070,1805) SQ PresentationStateCompositorComponentSequence 1 DICOM (0070,1806) SQ WeightingTransferFunctionSequence 1 DICOM -(0070,1807) US WeightingLookupTableDescriptor 3 DICOM -(0070,1808) OB WeightingLookupTableData 1 DICOM (0070,1901) SQ VolumetricAnnotationSequence 1 DICOM (0070,1903) SQ ReferencedStructuredContextSequence 1 DICOM (0070,1904) UI ReferencedContentItem 1 DICOM @@ -3609,6 +3723,7 @@ (3002,0133) SQ EnergyDerivationCodeSequence 1 DICOM (3002,0134) FD MaximumCumulativeMetersetExposure 1 DICOM (3002,0135) SQ AcquisitionInitiationSequence 1 DICOM +(3002,0136) SQ RTConeBeamImagingGeometrySequence 1 DICOM (3004,0001) CS DVHType 1 DICOM (3004,0002) CS DoseUnits 1 DICOM (3004,0004) CS DoseType 1 DICOM @@ -3618,7 +3733,9 @@ (3004,000A) CS DoseSummationType 1 DICOM (3004,000C) DS GridFrameOffsetVector 2-n DICOM (3004,000E) DS DoseGridScaling 1 DICOM +(3004,0012) DS DoseValue 1 DICOM (3004,0014) CS TissueHeterogeneityCorrection 1-3 DICOM +(3004,0016) SQ RecommendedIsodoseLevelSequence 1 DICOM (3004,0040) DS DVHNormalizationPoint 3 DICOM (3004,0042) DS DVHNormalizationDoseValue 1 DICOM (3004,0050) SQ DVHSequence 1 DICOM @@ -3648,6 +3765,8 @@ (3006,0028) ST ROIDescription 1 DICOM (3006,002A) IS ROIDisplayColor 3 DICOM (3006,002C) DS ROIVolume 1 DICOM +(3006,002D) DT ROIDateTime 1 DICOM +(3006,002E) DT ROIObservationDateTime 1 DICOM (3006,0030) SQ RTRelatedROISequence 1 DICOM (3006,0033) CS RTROIRelationship 1 DICOM (3006,0036) CS ROIGenerationAlgorithm 1 DICOM @@ -3659,6 +3778,11 @@ (3006,0046) IS NumberOfContourPoints 1 DICOM (3006,0048) IS ContourNumber 1 DICOM (3006,004A) SQ SourcePixelPlanesCharacteristicsSequence 1 DICOM +(3006,004B) SQ SourceSeriesSequence 1 DICOM +(3006,004C) SQ SourceSeriesInformationSequence 1 DICOM +(3006,004D) SQ ROICreatorSequence 1 DICOM +(3006,004E) SQ ROIInterpreterSequence 1 DICOM +(3006,004F) SQ ROIObservationContextCodeSequence 1 DICOM (3006,0050) DS ContourData 3-3n DICOM (3006,0080) SQ RTROIObservationsSequence 1 DICOM (3006,0082) IS ObservationNumber 1 DICOM @@ -3821,6 +3945,7 @@ (300A,0051) DS TableTopVerticalPositionTolerance 1 DICOM (300A,0052) DS TableTopLongitudinalPositionTolerance 1 DICOM (300A,0053) DS TableTopLateralPositionTolerance 1 DICOM +(300A,0054) UI TableTopPositionAlignmentUID 1 DICOM (300A,0055) CS RTPlanRelationship 1 DICOM (300A,0070) SQ FractionGroupSequence 1 DICOM (300A,0071) IS FractionGroupNumber 1 DICOM @@ -4071,6 +4196,7 @@ (300A,02E8) FL CompensatorMillingToolDiameter 1 DICOM (300A,02EA) SQ IonRangeCompensatorSequence 1 DICOM (300A,02EB) LT CompensatorDescription 1 DICOM +(300A,02EC) CS CompensatorSurfaceRepresentationFlag 1 DICOM (300A,0302) IS RadiationMassNumber 1 DICOM (300A,0304) IS RadiationAtomicNumber 1 DICOM (300A,0306) SS RadiationChargeState 1 DICOM @@ -4311,6 +4437,7 @@ (300A,0688) FD RTBeamModifierDefinitionDistance 1 DICOM (300A,0689) SQ BeamAreaLimitSequence 1 DICOM (300A,068A) SQ ReferencedRTPrescriptionSequence 1 DICOM +(300A,068B) CS DoseValueInterpretation 1 DICOM (300A,0700) UI TreatmentSessionUID 1 DICOM (300A,0701) CS RTRadiationUsage 1 DICOM (300A,0702) SQ ReferencedRTRadiationSetSequence 1 DICOM @@ -4379,6 +4506,9 @@ (300A,079C) SQ PatientSupportDisplacementSequence 1 DICOM (300A,079D) SQ DisplacementReferenceLocationCodeSequence 1 DICOM (300A,079E) CS RTRadiationSetDeliveryUsage 1 DICOM +(300A,079F) SQ PatientTreatmentPreparationSequence 1 DICOM +(300A,07A0) SQ PatientToEquipmentRelationshipSequence 1 DICOM +(300A,07A1) SQ ImagingEquipmentToTreatmentDeliveryDeviceRelationshipSequence 1 DICOM (300C,0002) SQ ReferencedRTPlanSequence 1 DICOM (300C,0004) SQ ReferencedBeamSequence 1 DICOM (300C,0006) IS ReferencedBeamNumber 1 DICOM @@ -4428,6 +4558,7 @@ (300C,0126) CS BeamHoldTransition 1 DICOM (300C,0127) DT BeamHoldTransitionDateTime 1 DICOM (300C,0128) SQ BeamHoldOriginatingDeviceSequence 1 DICOM +(300C,0129) CS BeamHoldTransitionTriggerSource 1 DICOM (300E,0002) CS ApprovalStatus 1 DICOM (300E,0004) DA ReviewDate 1 DICOM (300E,0005) TM ReviewTime 1 DICOM @@ -4917,6 +5048,7 @@ (0032,1051) TM RETIRED_StudyCompletionTime 1 DICOM/retired (0032,1055) CS RETIRED_StudyComponentStatusID 1 DICOM/retired (0032,4000) LT RETIRED_StudyComments 1 DICOM/retired +(0038,0004) SQ RETIRED_ReferencedPatientAliasSequence 1 DICOM/retired (0038,0011) LO RETIRED_IssuerOfAdmissionID 1 DICOM/retired (0038,001A) DA RETIRED_ScheduledAdmissionDate 1 DICOM/retired (0038,001B) TM RETIRED_ScheduledAdmissionTime 1 DICOM/retired @@ -5035,6 +5167,8 @@ (0070,0051) US RETIRED_DisplayedAreaBottomRightHandCornerTrial 2 DICOM/retired (0070,0067) US RETIRED_GraphicLayerRecommendedDisplayRGBValue 3 DICOM/retired (0070,1206) CS RETIRED_CompositingMethod 1 DICOM/retired +(0070,1807) US RETIRED_WeightingLookupTableDescriptor 3 DICOM/retired +(0070,1808) OB RETIRED_WeightingLookupTableData 1 DICOM/retired (0074,1024) IS RETIRED_BeamOrderIndexTrial 1 DICOM/retired (0074,1038) DS RETIRED_DoubleExposureMetersetTrial 1 DICOM/retired (0074,103A) DS RETIRED_DoubleExposureFieldDeltaTrial 4 DICOM/retired @@ -5086,7 +5220,6 @@ (2130,0060) SQ RETIRED_ImageOverlayBoxContentSequence 1 DICOM/retired (2130,0080) SQ RETIRED_PresentationLUTContentSequence 1 DICOM/retired (3004,0010) SQ RETIRED_RTDoseROISequence 1 DICOM/retired -(3004,0012) DS RETIRED_DoseValue 1 DICOM/retired (3006,0044) DS RETIRED_ContourSlabThickness 1 DICOM/retired (3006,0045) DS RETIRED_ContourOffsetVector 3 DICOM/retired (3006,0049) IS RETIRED_AttachedContours 1-n DICOM/retired @@ -5193,6 +5326,7 @@ (7F00-7FFF,0020) OW RETIRED_VariableCoefficientsSDVN 1 DICOM/retired (7F00-7FFF,0030) OW RETIRED_VariableCoefficientsSDHN 1 DICOM/retired (7F00-7FFF,0040) OW RETIRED_VariableCoefficientsSDDN 1 DICOM/retired +(7F00-7FFF,0040) OW RETIRED_VariableCoefficientsSDDN 1 DICOM/retired # #--------------------------------------------------------------------------- # diff --git a/dcmdata/docs/CMakeLists.txt b/dcmdata/docs/CMakeLists.txt index 6e12ee64..26d0ac5f 100644 --- a/dcmdata/docs/CMakeLists.txt +++ b/dcmdata/docs/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES datadict.txt DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}" COMPONENT doc) +install(FILES datadict.txt DESTINATION "${CMAKE_INSTALL_DOCDIR}" COMPONENT doc) diff --git a/dcmdata/docs/cda2dcm.man b/dcmdata/docs/cda2dcm.man index e47ee49e..799dda19 100644 --- a/dcmdata/docs/cda2dcm.man +++ b/dcmdata/docs/cda2dcm.man @@ -277,6 +277,6 @@ It is an error if no data dictionary can be loaded. \section cda2dcm_copyright COPYRIGHT -Copyright (C) 2018-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2018-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/dcm2cda.man b/dcmdata/docs/dcm2cda.man new file mode 100644 index 00000000..7262d920 --- /dev/null +++ b/dcmdata/docs/dcm2cda.man @@ -0,0 +1,219 @@ +/*! + +\if MANPAGES +\page dcm2cda Extract CDA file from DICOM encapsulated CDA +\else +\page dcm2cda dcm2cda: Extract CDA file from DICOM encapsulated CDA +\endif + +\section dcm2cda_synopsis SYNOPSIS + +\verbatim +dcm2cda [options] dcmfile-in cdafile-out +\endverbatim + +\section dcm2cda_description DESCRIPTION + +The \b dcm2cda utility reads a DICOM file of the Encapsulated CDA Storage SOP +Class (\e dcmfile-in), extracts the embedded CDA document and writes it to an +output file (\e cdafile-out). Optionally a command can be executed after the +creation of the CDA file. + +\section dcm2cda_parameters PARAMETERS + +\verbatim +dcmfile-in DICOM input filename ("-" for stdin) + +cdafile-out CDA output filename +\endverbatim + +\section dcm2cda_options OPTIONS + +\subsection dcm2cda_general_options general options +\verbatim + -h --help + print this help text and exit + + --version + print version information and exit + + --arguments + print expanded command line arguments + + -q --quiet + quiet mode, print no warnings and errors + + -v --verbose + verbose mode, print processing details + + -d --debug + debug mode, print debug information + + -ll --log-level [l]evel: string constant + (fatal, error, warn, info, debug, trace) + use level l for the logger + + -lc --log-config [f]ilename: string + use config file f for the logger +\endverbatim + +\subsection dcm2cda_input_options input options +\verbatim +input file format: + + +f --read-file + read file format or data set (default) + + +fo --read-file-only + read file format only + + -f --read-dataset + read data set without file meta information + +input transfer syntax: + + -t= --read-xfer-auto + use TS recognition (default) + + -td --read-xfer-detect + ignore TS specified in the file meta header + + -te --read-xfer-little + read with explicit VR little endian TS + + -tb --read-xfer-big + read with explicit VR big endian TS + + -ti --read-xfer-implicit + read with implicit VR little endian TS + +parsing of odd-length attributes: + + +ao --accept-odd-length + accept odd length attributes (default) + + +ae --assume-even-length + assume real length is one byte larger + +handling of undefined length UN elements: + + +ui --enable-cp246 + read undefined len UN as implicit VR (default) + + -ui --disable-cp246 + read undefined len UN as explicit VR + +handling of defined length UN elements: + + -uc --retain-un + retain elements as UN (default) + + +uc --convert-un + convert to real VR if known + +automatic data correction: + + +dc --enable-correction + enable automatic data correction (default) + + -dc --disable-correction + disable automatic data correction + +bitstream format of deflated input: + + +bd --bitstream-deflated + expect deflated bitstream (default) + + +bz --bitstream-zlib + expect deflated zlib bitstream +\endverbatim + +\section dcm2cda_logging LOGGING + +The level of logging output of the various command line tools and underlying +libraries can be specified by the user. By default, only errors and warnings +are written to the standard error stream. Using option \e --verbose also +informational messages like processing details are reported. Option +\e --debug can be used to get more details on the internal activity, e.g. for +debugging purposes. Other logging levels can be selected using option +\e --log-level. In \e --quiet mode only fatal errors are reported. In such +very severe error events, the application will usually terminate. For more +details on the different logging levels, see documentation of module "oflog". + +In case the logging output should be written to file (optionally with logfile +rotation), to syslog (Unix) or the event log (Windows) option \e --log-config +can be used. This configuration file also allows for directing only certain +messages to a particular output stream and for filtering certain messages +based on the module or application where they are generated. An example +configuration file is provided in \/logger.cfg. + +\section dcm2cda_exit_codes EXIT CODES + +The \b dcm2cda utility uses the following exit codes when terminating. This +enables the user to check for the reason why the application terminated. + +\subsection dcm2cda_exit_codes_general general +\verbatim +EXITCODE_NO_ERROR 0 +EXITCODE_COMMANDLINE_SYNTAX_ERROR 1 +\endverbatim + +\subsection dcm2cda_exit_codes_input_file_errors input file errors +\verbatim +EXITCODE_CANNOT_READ_INPUT_FILE 20 +EXITCODE_NO_INPUT_FILES 21 +EXITCODE_INVALID_INPUT_FILE 22 +\endverbatim + +\subsection dcm2cda_exit_codes_output_file_errors output file errors +\verbatim +EXITCODE_CANNOT_WRITE_OUTPUT_FILE 40 +\endverbatim + +\section dcm2cda_command_line COMMAND LINE + +All command line tools use the following notation for parameters: square +brackets enclose optional values (0-1), three trailing dots indicate that +multiple values are allowed (1-n), a combination of both means 0 to n values. + +Command line options are distinguished from parameters by a leading '+' or '-' +sign, respectively. Usually, order and position of command line options are +arbitrary (i.e. they can appear anywhere). However, if options are mutually +exclusive the rightmost appearance is used. This behavior conforms to the +standard evaluation rules of common Unix shells. + +In addition, one or more command files can be specified using an '@' sign as a +prefix to the filename (e.g. \@command.txt). Such a command argument +is replaced by the content of the corresponding text file (multiple +whitespaces are treated as a single separator unless they appear between two +quotation marks) prior to any further evaluation. Please note that a command +file cannot contain another command file. This simple but effective approach +allows one to summarize common combinations of options/parameters and avoids +longish and confusing command lines (an example is provided in file +\/dumppat.txt). + +\section dcm2cda_environment ENVIRONMENT + +The \b dcm2cda utility will attempt to load DICOM data dictionaries specified +in the \e DCMDICTPATH environment variable. By default, i.e. if the +\e DCMDICTPATH environment variable is not set, the file +\/dicom.dic will be loaded unless the dictionary is built +into the application (default for Windows). + +The default behavior should be preferred and the \e DCMDICTPATH environment +variable only used when alternative data dictionaries are required. The +\e DCMDICTPATH environment variable has the same format as the Unix shell +\e PATH variable in that a colon (":") separates entries. On Windows systems, +a semicolon (";") is used as a separator. The data dictionary code will +attempt to load each file specified in the \e DCMDICTPATH environment variable. +It is an error if no data dictionary can be loaded. + +\section dcm2cda_see_also SEE ALSO + +cda2dcm(1) + +\section dcm2cda_copyright COPYRIGHT + +Copyright (C) 2023-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. + +*/ diff --git a/dcmdata/docs/dcm2json.man b/dcmdata/docs/dcm2json.man index 668c9e47..6d9c11ad 100644 --- a/dcmdata/docs/dcm2json.man +++ b/dcmdata/docs/dcm2json.man @@ -323,8 +323,8 @@ parsers cannot process larger numbers. As required by the DICOM JSON encoding, \b dcm2json always creates output in Unicode UTF-8 encoding and converts DICOM datasets accordingly. If this is not -possible, for example because DCMTK has been compiled without either iconv or -ICU library, an error is returned. +possible, for example because DCMTK has been compiled without character set +conversion support, an error is returned. \section dcm2json_logging LOGGING @@ -423,6 +423,6 @@ replace any built-in tables. \section dcm2json_copyright COPYRIGHT -Copyright (C) 2016-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2016-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/dcm2pdf.man b/dcmdata/docs/dcm2pdf.man index 438a1011..b0403771 100644 --- a/dcmdata/docs/dcm2pdf.man +++ b/dcmdata/docs/dcm2pdf.man @@ -128,7 +128,8 @@ bitstream format of deflated input: expect deflated zlib bitstream \endverbatim -\subsection dcm2pdf_execution_options execution options +\subsection dcm2pdf_processing_options processing options +execution options: \verbatim -x --exec [c]ommand: string execute command c after PDF extraction @@ -162,6 +163,35 @@ messages to a particular output stream and for filtering certain messages based on the module or application where they are generated. An example configuration file is provided in \/logger.cfg. +\section dcm2pdf_exit_codes EXIT CODES + +The \b dcm2pdf utility uses the following exit codes when terminating. This +enables the user to check for the reason why the application terminated. + +\subsection dcm2cda_exit_codes_general general +\verbatim +EXITCODE_NO_ERROR 0 +EXITCODE_COMMANDLINE_SYNTAX_ERROR 1 +\endverbatim + +\subsection dcm2cda_exit_codes_input_file_errors input file errors +\verbatim +EXITCODE_CANNOT_READ_INPUT_FILE 20 +EXITCODE_NO_INPUT_FILES 21 +EXITCODE_INVALID_INPUT_FILE 22 +\endverbatim + +\subsection dcm2cda_exit_codes_output_file_errors output file errors +\verbatim +EXITCODE_CANNOT_WRITE_OUTPUT_FILE 40 +\endverbatim + +\subsection dcm2cda_exit_codes_processing_errors processing errors +\verbatim +EXITCODE_CANNOT_CONVERT_TO_UNICODE 80 +EXITCODE_CANNOT_WRITE_VALID_JSON 81 +\endverbatim + \section dcm2pdf_command_line COMMAND LINE All command line tools use the following notation for parameters: square @@ -206,6 +236,6 @@ It is an error if no data dictionary can be loaded. \section dcm2pdf_copyright COPYRIGHT -Copyright (C) 2007-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2007-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/dcm2xml.man b/dcmdata/docs/dcm2xml.man index a1e8b216..a415951d 100644 --- a/dcmdata/docs/dcm2xml.man +++ b/dcmdata/docs/dcm2xml.man @@ -405,6 +405,6 @@ replace any built-in tables. \section dcm2xml_copyright COPYRIGHT -Copyright (C) 2002-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2002-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/dcmconv.man b/dcmdata/docs/dcmconv.man index a51b8f4e..e6d5ea60 100644 --- a/dcmdata/docs/dcmconv.man +++ b/dcmdata/docs/dcmconv.man @@ -397,6 +397,6 @@ replace any built-in tables. \section dcmconv_copyright COPYRIGHT -Copyright (C) 1994-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1994-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/dcmcrle.man b/dcmdata/docs/dcmcrle.man index f332baaa..f35402f8 100644 --- a/dcmdata/docs/dcmcrle.man +++ b/dcmdata/docs/dcmcrle.man @@ -258,6 +258,6 @@ It is an error if no data dictionary can be loaded. \section dcmcrle_copyright COPYRIGHT -Copyright (C) 2002-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2002-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/dcmdata.dox b/dcmdata/docs/dcmdata.dox index b29b6fca..ab99717c 100644 --- a/dcmdata/docs/dcmdata.dox +++ b/dcmdata/docs/dcmdata.dox @@ -20,6 +20,7 @@ Here are some further classes that are of interest: This module contains the following command line tools: \li \ref cda2dcm +\li \ref dcm2cda \li \ref dcm2json \li \ref dcm2pdf \li \ref dcm2xml diff --git a/dcmdata/docs/dcmdrle.man b/dcmdata/docs/dcmdrle.man index 1c690e63..65f8cc9c 100644 --- a/dcmdata/docs/dcmdrle.man +++ b/dcmdata/docs/dcmdrle.man @@ -247,6 +247,6 @@ It is an error if no data dictionary can be loaded. \section dcmdrle_copyright COPYRIGHT -Copyright (C) 2002-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany +Copyright (C) 2002-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany */ diff --git a/dcmdata/docs/dcmdump.man b/dcmdata/docs/dcmdump.man index 4f21d126..a1ee447c 100644 --- a/dcmdata/docs/dcmdump.man +++ b/dcmdata/docs/dcmdump.man @@ -429,6 +429,6 @@ replace any built-in tables. \section dcmdump_copyright COPYRIGHT -Copyright (C) 1994-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1994-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/dcmftest.man b/dcmdata/docs/dcmftest.man index 75b9cb86..66231ced 100644 --- a/dcmdata/docs/dcmftest.man +++ b/dcmdata/docs/dcmftest.man @@ -39,6 +39,6 @@ is intended for use in shell script programming. \section dcmftest_copyright COPYRIGHT -Copyright (C) 1997-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1997-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/dcmgpdir.man b/dcmdata/docs/dcmgpdir.man index b1b1951a..ef262d7b 100644 --- a/dcmdata/docs/dcmgpdir.man +++ b/dcmdata/docs/dcmgpdir.man @@ -14,282 +14,8 @@ dcmgpdir [options] [dcmfile-in...] \section dcmgpdir_description DESCRIPTION -The \b dcmgpdir utility creates a \e DICOMDIR file from the specified -referenced DICOM files according to the DICOM Part 11 Media Storage -Application Profiles. - -Currently, the following profiles are supported: - -- General Purpose CD-R Interchange (STD-GEN-CD) - -- General Purpose Interchange on DVD-RAM Media (STD-GEN-DVD-RAM) - -\b dcmmkdir is an extended version of this tool which also supports other -Media Storage Application Profiles than the general purpose one (e.g. the -cardio profiles require the use of icon images). - -\section dcmgpdir_parameters PARAMETERS - -\verbatim -dcmfile-in referenced DICOM file (or directory to be scanned) -\endverbatim - -\section dcmgpdir_options OPTIONS - -\subsection dcmgpdir_general_options general options -\verbatim - -h --help - print this help text and exit - - --version - print version information and exit - - --arguments - print expanded command line arguments - - -q --quiet - quiet mode, print no warnings and errors - - -v --verbose - verbose mode, print processing details - - -d --debug - debug mode, print debug information - - -ll --log-level [l]evel: string constant - (fatal, error, warn, info, debug, trace) - use level l for the logger - - -lc --log-config [f]ilename: string - use config file f for the logger -\endverbatim - -\subsection dcmgpdir_input_options input options -\verbatim -DICOMDIR identifiers: - - +F --fileset-id [i]d: string - use specific file-set ID - (default: DCMTK_MEDIA_DEMO, "" for none) - - +R --descriptor [f]ilename: string - add a file-set descriptor file ID - (e.g. README, default: no descriptor) - - +C --char-set [c]harset: string - add a specific character set for descriptor - (default: "ISO_IR 100" if descriptor present) - -reading: - - +id --input-directory [d]irectory: string - read referenced DICOM files from directory d - (default for --recurse: current directory) - - -m --keep-filenames - expect filenames to be in DICOM format (default) - - +m --map-filenames - map to DICOM filenames (lowercase->uppercase, - and remove trailing period) - - -r --no-recurse - do not recurse within directories (default) - - +r --recurse - recurse within filesystem directories - - +p --pattern [p]attern: string (only with --recurse) - pattern for filename matching (wildcards) - - # possibly not available on all systems -\endverbatim - -\subsection dcmgpdir_processing_options processing options -\verbatim -consistency check: - - -W --no-consistency-check - do not check files for consistency - - +W --warn-inconsist-files - warn about inconsistent files (default) - - -a --abort-inconsist-file - abort on first inconsistent file - -type 1 attributes: - - -I --strict - exit with error if DICOMDIR type 1 attributes - are missing in DICOM file (default) - - +I --invent - invent DICOMDIR type 1 attributes if missing in DICOM file - - +Ipi --invent-patient-id - invent new PatientID in case of inconsistent - PatientName attributes - -other checks: - - +Nrs --allow-retired-sop - allow retired SOP classes defined in previous editions - of the DICOM standard - - -Nxc --no-xfer-check - do not reject images with non-standard transfer syntax - (just warn) -\endverbatim - -\subsection dcmgpdir_output_options output options -\verbatim -DICOMDIR file: - - +D --output-file [f]ilename: string - generate specific DICOMDIR file - (default: DICOMDIR in current directory) - -writing: - - -A --replace - replace existing DICOMDIR (default) - - +A --append - append to existing DICOMDIR - - +U --update - update existing DICOMDIR - - -w --discard - do not write out DICOMDIR - -backup: - - --create-backup - create a backup of existing DICOMDIR (default) - - -nb --no-backup - do not create a backup of existing DICOMDIR - -post-1993 value representations: - - +u --enable-new-vr - enable support for new VRs (UN/UT) (default) - - -u --disable-new-vr - disable support for new VRs, convert to OB - -group length encoding: - - -g --group-length-remove - write without group length elements (default) - - +g --group-length-create - write with group length elements - -length encoding in sequences and items: - - +e --length-explicit - write with explicit lengths (default) - - -e --length-undefined - write with undefined lengths -\endverbatim - -\section dcmgpdir_notes NOTES - -All files specified on the command line (or discovered by recursively examining -the contents of directories with the \e +r option) are first evaluated for -their compatibility with the General Purpose CD-R Image Interchange Profile -(Supplement 19). Only appropriate files encoded using the Explicit VR Little -Endian Uncompressed Transfer Syntax will be accepted. Files having invalid -filenames will be rejected (the rules can be relaxed via the \e +m option). -Files missing required attributes will be rejected (the \e +I option can relax -this behavior). - -A \e DICOMDIR file will only be constructed if all files have passed initial -tests. - -The \b dcmgpdir utility also allows one to append new entries to and to update -existing entries in a \e DICOMDIR file. Using option \e +A new entries are -only appended to the DICOMDIR, i.e. existing records like the ones for PATIENT -information are not updated. Using option \e +U also existing records are -updated according to the information found in the referenced DICOM files. -Please note that this update process might be slower than just appending new -entries. However, it makes sure that additional information that is required -for the selected application profile is also added to existing records. - -\subsection dcmgpdir_scanning_directories Scanning Directories - -Adding files from directories is possible by using option \e --recurse. If no -further command line parameters are given, the directory specified by option -\e --input-directory (default: current directory) is scanned for files. If -parameters are given, they can either specify a file or directory name; the -input directory is always prepended. If the files in the provided directories -should be selected according to a specific name pattern (e.g. using wildcard -matching), option \e --pattern has to be used. Please note that this file -pattern only applies to the files within the scanned directories, and, if any -other patterns are specified on the command line outside the -\e --input-directory option (e.g. in order to select further files), these do -not apply to the specified directories. - -\section dcmgpdir_logging LOGGING - -The level of logging output of the various command line tools and underlying -libraries can be specified by the user. By default, only errors and warnings -are written to the standard error stream. Using option \e --verbose also -informational messages like processing details are reported. Option -\e --debug can be used to get more details on the internal activity, e.g. for -debugging purposes. Other logging levels can be selected using option -\e --log-level. In \e --quiet mode only fatal errors are reported. In such -very severe error events, the application will usually terminate. For more -details on the different logging levels, see documentation of module "oflog". - -In case the logging output should be written to file (optionally with logfile -rotation), to syslog (Unix) or the event log (Windows) option \e --log-config -can be used. This configuration file also allows for directing only certain -messages to a particular output stream and for filtering certain messages -based on the module or application where they are generated. An example -configuration file is provided in \/logger.cfg. - -\section dcmgpdir_command_line COMMAND LINE - -All command line tools use the following notation for parameters: square -brackets enclose optional values (0-1), three trailing dots indicate that -multiple values are allowed (1-n), a combination of both means 0 to n values. - -Command line options are distinguished from parameters by a leading '+' or '-' -sign, respectively. Usually, order and position of command line options are -arbitrary (i.e. they can appear anywhere). However, if options are mutually -exclusive the rightmost appearance is used. This behavior conforms to the -standard evaluation rules of common Unix shells. - -In addition, one or more command files can be specified using an '@' sign as a -prefix to the filename (e.g. \@command.txt). Such a command argument -is replaced by the content of the corresponding text file (multiple -whitespaces are treated as a single separator unless they appear between two -quotation marks) prior to any further evaluation. Please note that a command -file cannot contain another command file. This simple but effective approach -allows one to summarize common combinations of options/parameters and avoids -longish and confusing command lines (an example is provided in file -\/dumppat.txt). - -\section dcmgpdir_environment ENVIRONMENT - -The \b dcmgpdir utility will attempt to load DICOM data dictionaries specified -in the \e DCMDICTPATH environment variable. By default, i.e. if the -\e DCMDICTPATH environment variable is not set, the file -\/dicom.dic will be loaded unless the dictionary is built -into the application (default for Windows). - -The default behavior should be preferred and the \e DCMDICTPATH environment -variable only used when alternative data dictionaries are required. The -\e DCMDICTPATH environment variable has the same format as the Unix shell -\e PATH variable in that a colon (":") separates entries. On Windows systems, -a semicolon (";") is used as a separator. The data dictionary code will -attempt to load each file specified in the \e DCMDICTPATH environment variable. -It is an error if no data dictionary can be loaded. +The \b dcmgpdir tool is deprecated. Use \b dcmmkdir instead, which supports +the same command line parameters, and more. \section dcmgpdir_see_also SEE ALSO @@ -297,6 +23,6 @@ It is an error if no data dictionary can be loaded. \section dcmgpdir_copyright COPYRIGHT -Copyright (C) 1996-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1996-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/dcmodify.man b/dcmdata/docs/dcmodify.man index 93381913..9f670680 100644 --- a/dcmdata/docs/dcmodify.man +++ b/dcmdata/docs/dcmodify.man @@ -589,6 +589,6 @@ It is an error if no data dictionary can be loaded. \section dcmodify_copyright COPYRIGHT -Copyright (C) 2003-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2003-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/dump2dcm.man b/dcmdata/docs/dump2dcm.man index c06a2cc3..22ebefbe 100644 --- a/dcmdata/docs/dump2dcm.man +++ b/dcmdata/docs/dump2dcm.man @@ -314,6 +314,6 @@ It is an error if no data dictionary can be loaded. \section dump2dcm_copyright COPYRIGHT -Copyright (C) 1996-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1996-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/img2dcm.man b/dcmdata/docs/img2dcm.man index b494c8c9..316432e8 100644 --- a/dcmdata/docs/img2dcm.man +++ b/dcmdata/docs/img2dcm.man @@ -309,6 +309,13 @@ attributes are present which should be part of the constructed DICOM object. The SOP Class UID and the Pixel Data attributes (including attributes like Rows, Columns etc.) are not copied but replaced by \b img2dcm during conversion. +\subsection img2dcm_multiframe_images Multiframe Images + +It is possible to convert multiple input files into one DICOM multiframe image +if the selected DICOM SOP class supports multiframe. In particular, the +Multi-frame Secondary Capture SOP Classes support this feature. They are +selected through the \e --new-sc command line option. + \subsection img2dcm_character_sets Character Sets When an input template is loaded using \e --dataset-from or \e --dataset-from-xml, @@ -329,8 +336,8 @@ will take place before the values are stored in the DICOM file. \subsection img2dcm_input_plugins Input Plugins -The \b img2dcm application currently supports the JPEG and the BMP image format -as input. +The \b img2dcm application currently supports the JPEG, JPEG-LS and the BMP +image format as input. \subsubsection img2dcm_jpeg_input_plugin JPEG Input Plugin @@ -438,7 +445,7 @@ There are no specific options for fine-tuning BMP format conversion. The desired output SOP Class can be selected on the command line. Currently, export plugins for the Secondary Capture Image SOP Class (default, option -\e -sc), the Multiframe Secondary Capture Image SOP Classes (option \e -nsc), +\e -sc), the Multi-frame Secondary Capture Image SOP Classes (option \e -nsc), Visible Light Photographic Image SOP Class (option \e -vl), and the Ophthalmic Photography Image SOP Classes (option \e -oph) are available. Please note that the first one is deprecated according to the DICOM standard but is selected as @@ -474,8 +481,8 @@ Here are some examples that show how the \b img2dcm application can be used. Same as 1), but imports patient/study/series information from DICOM file "template.dcm". Please note that attribute PatientName will contain "Bond^James" at the end, any value from "template.dcm" will be overwritten. - That is, because the -k option is applied at the very end of the conversion - pipeline (see above). + That is, because the \e -k option is applied at the very end of the + conversion pipeline (see above). -# img2dcm image.jpg out.dcm --no-checks
Same as 1), but does not perform any attribute checking and no type 1 and @@ -497,6 +504,11 @@ Here are some examples that show how the \b img2dcm application can be used. object's resulting JPEG stream. Further, \e --insist-on-jfif will force \b img2dcm to abort if no JFIF information is existent in the source file. +-# img2dcm image1.jpg image2.jpg out.dcm --new-sc
+ Read the JPEG files "image1.jpg" and "image2.jpg", convert to a multiframe + image of the appropriate Multi-frame Secondary Capture SOP Class, and save + the result to DICOM file "out.dcm". + \section img2dcm_logging LOGGING The level of logging output of the various command line tools and underlying @@ -569,6 +581,6 @@ Photography images \section img2dcm_copyright COPYRIGHT -Copyright (C) 2007-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2007-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/pdf2dcm.man b/dcmdata/docs/pdf2dcm.man index 0fd97ab1..e923cef1 100644 --- a/dcmdata/docs/pdf2dcm.man +++ b/dcmdata/docs/pdf2dcm.man @@ -271,6 +271,6 @@ It is an error if no data dictionary can be loaded. \section pdf2dcm_copyright COPYRIGHT -Copyright (C) 2005-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2005-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/stl2dcm.man b/dcmdata/docs/stl2dcm.man index 242e12a2..4514b254 100644 --- a/dcmdata/docs/stl2dcm.man +++ b/dcmdata/docs/stl2dcm.man @@ -287,6 +287,6 @@ It is an error if no data dictionary can be loaded. \section stl2dcm_copyright COPYRIGHT -Copyright (C) 2018-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2018-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/xml2dcm.man b/dcmdata/docs/xml2dcm.man index 90d7c1d7..6957ec80 100644 --- a/dcmdata/docs/xml2dcm.man +++ b/dcmdata/docs/xml2dcm.man @@ -351,6 +351,6 @@ It is an error if no data dictionary can be loaded. \section xml2dcm_copyright COPYRIGHT -Copyright (C) 2003-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2003-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/include/dcmtk/dcmdata/dcchrstr.h b/dcmdata/include/dcmtk/dcmdata/dcchrstr.h index 542d15d9..ccc25422 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcchrstr.h +++ b/dcmdata/include/dcmtk/dcmdata/dcchrstr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2017, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -146,7 +146,7 @@ class DCMTK_DCMDATA_EXPORT DcmCharString const OFString& candidate, const OFBool enableWildCardMatching = OFTrue) const; - /// @copydoc DcmElement::isUniversalMatch() + /// @copydoc DcmByteString::isUniversalMatch() virtual OFBool isUniversalMatch(const OFBool normalize = OFTrue, const OFBool enableWildCardMatching = OFTrue); diff --git a/dcmdata/include/dcmtk/dcmdata/dcdatset.h b/dcmdata/include/dcmtk/dcmdata/dcdatset.h index f46ff71f..22e53851 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcdatset.h +++ b/dcmdata/include/dcmtk/dcmdata/dcdatset.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2020, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -143,7 +143,7 @@ class DCMTK_DCMDATA_EXPORT DcmDataset const char *pixelFileName = NULL, size_t *pixelCounter = NULL); - /** @copydoc DcmObject::calcElementLength() + /** @copydoc DcmItem::calcElementLength() */ Uint32 calcElementLength(const E_TransferSyntax xfer, const E_EncodingType enctype); diff --git a/dcmdata/include/dcmtk/dcmdata/dcdatutl.h b/dcmdata/include/dcmtk/dcmdata/dcdatutl.h index 464dadf0..25f6172f 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcdatutl.h +++ b/dcmdata/include/dcmtk/dcmdata/dcdatutl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2015, OFFIS e.V. + * Copyright (C) 2011-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -26,7 +26,9 @@ #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/dcmdata/dcdefine.h" #include "dcmtk/dcmdata/dcxfer.h" -#include "dcmtk/dcmdata/dcdatset.h" +#include "dcmtk/ofstd/offile.h" + +class DcmDataset; /** Class with helper functions used within the dcmdata module (and beyond) @@ -83,4 +85,5 @@ public: OFString &transferSyntaxUID); }; + #endif // DCDATUTL_H diff --git a/dcmdata/include/dcmtk/dcmdata/dcddirif.h b/dcmdata/include/dcmtk/dcmdata/dcddirif.h index cfbf63d2..4fb52374 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcddirif.h +++ b/dcmdata/include/dcmtk/dcmdata/dcddirif.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2023, OFFIS e.V. + * Copyright (C) 2002-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -113,9 +113,9 @@ class DCMTK_DCMDATA_EXPORT DicomDirInterface */ enum E_ApplicationProfile { - /// General Purpose Interchange on CD-R or DVD-RAM Media (STD-GEN-CD/DVD-RAM) + /// General Purpose Interchange on CD-R, DVD-RAM or BD Media (STD-GEN-CD/DVD-RAM/BD) AP_GeneralPurpose, - /// default application profile: General Purpose Interchange on CD-R or DVD-RAM Media + /// default application profile: General Purpose Interchange on CD-R, DVD-RAM or BD Media AP_Default = AP_GeneralPurpose, /// General Purpose DVD Interchange with JPEG (STD-GEN-DVD-JPEG) AP_GeneralPurposeDVDJPEG, @@ -583,7 +583,7 @@ class DCMTK_DCMDATA_EXPORT DicomDirInterface /** get name/identifier associated with the given application profile * @param profile media storage application profile - * @return name of the application profile (e.g. "STD-GEN-CD/DVD-RAM") + * @return name of the application profile (e.g. "STD-GEN-CD/DVD-RAM/BD") */ static const char *getProfileName(const E_ApplicationProfile profile); diff --git a/dcmdata/include/dcmtk/dcmdata/dcdeftag.h b/dcmdata/include/dcmtk/dcmdata/dcdeftag.h index 848c402d..8f815767 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcdeftag.h +++ b/dcmdata/include/dcmtk/dcmdata/dcdeftag.h @@ -4,7 +4,7 @@ ** ** User: joergr ** Host: thinkpad2 -** Date: 2023-07-14 12:18:43 +** Date: 2024-11-16 10:42:04 ** Prog: /home/joergr/Source/dcmtk-full/public/dcmdata/libsrc/mkdeftag ** ** From: ../data/dicom.dic @@ -17,12 +17,12 @@ #include "dcmtk/dcmdata/dctagkey.h" -#define DCM_DICT_DEFTAG_BUILD_DATE "2023-07-14 12:18:43" +#define DCM_DICT_DEFTAG_BUILD_DATE "2024-11-16 10:42:04" /* ** Fixed Tags in ascending (gggg,eeee) order. -** Number of entries: 5073 +** Number of entries: 5206 ** Tags with a repeating component (repeating tags) are listed later. */ #define DCM_CommandGroupLength DcmTagKey(0x0000, 0x0000) @@ -128,6 +128,7 @@ #define DCM_PyramidUID DcmTagKey(0x0008, 0x0019) #define DCM_RelatedGeneralSOPClassUID DcmTagKey(0x0008, 0x001a) #define DCM_OriginalSpecializedSOPClassUID DcmTagKey(0x0008, 0x001b) +#define DCM_SyntheticData DcmTagKey(0x0008, 0x001c) #define DCM_StudyDate DcmTagKey(0x0008, 0x0020) #define DCM_SeriesDate DcmTagKey(0x0008, 0x0021) #define DCM_AcquisitionDate DcmTagKey(0x0008, 0x0022) @@ -283,6 +284,7 @@ #define DCM_RETIRED_ReferencedResultsSequence DcmTagKey(0x0008, 0x1100) #define DCM_ReferencedStudySequence DcmTagKey(0x0008, 0x1110) #define DCM_ReferencedPerformedProcedureStepSequence DcmTagKey(0x0008, 0x1111) +#define DCM_ReferencedInstancesBySOPClassSequence DcmTagKey(0x0008, 0x1112) #define DCM_ReferencedSeriesSequence DcmTagKey(0x0008, 0x1115) #define DCM_ReferencedPatientSequence DcmTagKey(0x0008, 0x1120) #define DCM_ReferencedVisitSequence DcmTagKey(0x0008, 0x1125) @@ -293,6 +295,8 @@ #define DCM_RETIRED_ReferencedCurveSequence DcmTagKey(0x0008, 0x1145) #define DCM_ReferencedInstanceSequence DcmTagKey(0x0008, 0x114a) #define DCM_ReferencedRealWorldValueMappingInstanceSequence DcmTagKey(0x0008, 0x114b) +#define DCM_ReferencedSegmentationSequence DcmTagKey(0x0008, 0x114c) +#define DCM_ReferencedSurfaceSegmentationSequence DcmTagKey(0x0008, 0x114d) #define DCM_ReferencedSOPClassUID DcmTagKey(0x0008, 0x1150) #define DCM_ReferencedSOPInstanceUID DcmTagKey(0x0008, 0x1155) #define DCM_DefinitionSourceSequence DcmTagKey(0x0008, 0x1156) @@ -310,6 +314,7 @@ #define DCM_FailedSOPSequence DcmTagKey(0x0008, 0x1198) #define DCM_ReferencedSOPSequence DcmTagKey(0x0008, 0x1199) #define DCM_OtherFailuresSequence DcmTagKey(0x0008, 0x119a) +#define DCM_FailedStudySequence DcmTagKey(0x0008, 0x119b) #define DCM_StudiesContainingOtherReferencedInstancesSequence DcmTagKey(0x0008, 0x1200) #define DCM_RelatedSeriesSequence DcmTagKey(0x0008, 0x1250) #define DCM_RETIRED_LossyImageCompressionRetired DcmTagKey(0x0008, 0x2110) @@ -430,6 +435,7 @@ #define DCM_PatientTelephoneNumbers DcmTagKey(0x0010, 0x2154) #define DCM_PatientTelecomInformation DcmTagKey(0x0010, 0x2155) #define DCM_EthnicGroup DcmTagKey(0x0010, 0x2160) +#define DCM_EthnicGroupCodeSequence DcmTagKey(0x0010, 0x2161) #define DCM_Occupation DcmTagKey(0x0010, 0x2180) #define DCM_SmokingStatus DcmTagKey(0x0010, 0x21a0) #define DCM_AdditionalPatientHistory DcmTagKey(0x0010, 0x21b0) @@ -453,21 +459,28 @@ #define DCM_ClinicalTrialSponsorName DcmTagKey(0x0012, 0x0010) #define DCM_ClinicalTrialProtocolID DcmTagKey(0x0012, 0x0020) #define DCM_ClinicalTrialProtocolName DcmTagKey(0x0012, 0x0021) +#define DCM_IssuerOfClinicalTrialProtocolID DcmTagKey(0x0012, 0x0022) +#define DCM_OtherClinicalTrialProtocolIDsSequence DcmTagKey(0x0012, 0x0023) #define DCM_ClinicalTrialSiteID DcmTagKey(0x0012, 0x0030) #define DCM_ClinicalTrialSiteName DcmTagKey(0x0012, 0x0031) +#define DCM_IssuerOfClinicalTrialSiteID DcmTagKey(0x0012, 0x0032) #define DCM_ClinicalTrialSubjectID DcmTagKey(0x0012, 0x0040) +#define DCM_IssuerOfClinicalTrialSubjectID DcmTagKey(0x0012, 0x0041) #define DCM_ClinicalTrialSubjectReadingID DcmTagKey(0x0012, 0x0042) +#define DCM_IssuerOfClinicalTrialSubjectReadingID DcmTagKey(0x0012, 0x0043) #define DCM_ClinicalTrialTimePointID DcmTagKey(0x0012, 0x0050) #define DCM_ClinicalTrialTimePointDescription DcmTagKey(0x0012, 0x0051) #define DCM_LongitudinalTemporalOffsetFromEvent DcmTagKey(0x0012, 0x0052) #define DCM_LongitudinalTemporalEventType DcmTagKey(0x0012, 0x0053) #define DCM_ClinicalTrialTimePointTypeCodeSequence DcmTagKey(0x0012, 0x0054) +#define DCM_IssuerOfClinicalTrialTimePointID DcmTagKey(0x0012, 0x0055) #define DCM_ClinicalTrialCoordinatingCenterName DcmTagKey(0x0012, 0x0060) #define DCM_PatientIdentityRemoved DcmTagKey(0x0012, 0x0062) #define DCM_DeidentificationMethod DcmTagKey(0x0012, 0x0063) #define DCM_DeidentificationMethodCodeSequence DcmTagKey(0x0012, 0x0064) #define DCM_ClinicalTrialSeriesID DcmTagKey(0x0012, 0x0071) #define DCM_ClinicalTrialSeriesDescription DcmTagKey(0x0012, 0x0072) +#define DCM_IssuerOfClinicalTrialSeriesID DcmTagKey(0x0012, 0x0073) #define DCM_ClinicalTrialProtocolEthicsCommitteeName DcmTagKey(0x0012, 0x0081) #define DCM_ClinicalTrialProtocolEthicsCommitteeApprovalNumber DcmTagKey(0x0012, 0x0082) #define DCM_ConsentForClinicalTrialUseSequence DcmTagKey(0x0012, 0x0083) @@ -677,6 +690,98 @@ #define DCM_WedgeChamferHeight DcmTagKey(0x0014, 0x511d) #define DCM_WedgeCurve DcmTagKey(0x0014, 0x511e) #define DCM_RadiusAlongWedge DcmTagKey(0x0014, 0x511f) +#define DCM_ThermalCameraSettingsSequence DcmTagKey(0x0014, 0x6001) +#define DCM_AcquisitionFrameRate DcmTagKey(0x0014, 0x6002) +#define DCM_IntegrationTime DcmTagKey(0x0014, 0x6003) +#define DCM_NumberOfCalibrationFrames DcmTagKey(0x0014, 0x6004) +#define DCM_NumberOfRowsInFullAcquisitionImage DcmTagKey(0x0014, 0x6005) +#define DCM_NumberOfColumnsInFullAcquisitionImage DcmTagKey(0x0014, 0x6006) +#define DCM_ThermalSourceSettingsSequence DcmTagKey(0x0014, 0x6007) +#define DCM_SourceHorizontalPitch DcmTagKey(0x0014, 0x6008) +#define DCM_SourceVerticalPitch DcmTagKey(0x0014, 0x6009) +#define DCM_SourceHorizontalScanSpeed DcmTagKey(0x0014, 0x600a) +#define DCM_ThermalSourceModulationFrequency DcmTagKey(0x0014, 0x600b) +#define DCM_InductionSourceSettingSequence DcmTagKey(0x0014, 0x600c) +#define DCM_CoilFrequency DcmTagKey(0x0014, 0x600d) +#define DCM_CurrentAmplitudeAcrossCoil DcmTagKey(0x0014, 0x600e) +#define DCM_FlashSourceSettingSequence DcmTagKey(0x0014, 0x600f) +#define DCM_FlashDuration DcmTagKey(0x0014, 0x6010) +#define DCM_FlashFrameNumber DcmTagKey(0x0014, 0x6011) +#define DCM_LaserSourceSettingSequence DcmTagKey(0x0014, 0x6012) +#define DCM_HorizontalLaserSpotDimension DcmTagKey(0x0014, 0x6013) +#define DCM_VerticalLaserSpotDimension DcmTagKey(0x0014, 0x6014) +#define DCM_LaserWavelength DcmTagKey(0x0014, 0x6015) +#define DCM_LaserPower DcmTagKey(0x0014, 0x6016) +#define DCM_ForcedGasSettingSequence DcmTagKey(0x0014, 0x6017) +#define DCM_VibrationSourceSettingSequence DcmTagKey(0x0014, 0x6018) +#define DCM_VibrationExcitationFrequency DcmTagKey(0x0014, 0x6019) +#define DCM_VibrationExcitationVoltage DcmTagKey(0x0014, 0x601a) +#define DCM_ThermographyDataCaptureMethod DcmTagKey(0x0014, 0x601b) +#define DCM_ThermalTechnique DcmTagKey(0x0014, 0x601c) +#define DCM_ThermalCameraCoreSequence DcmTagKey(0x0014, 0x601d) +#define DCM_DetectorWavelengthRange DcmTagKey(0x0014, 0x601e) +#define DCM_ThermalCameraCalibrationType DcmTagKey(0x0014, 0x601f) +#define DCM_AcquisitionImageCounter DcmTagKey(0x0014, 0x6020) +#define DCM_FrontPanelTemperature DcmTagKey(0x0014, 0x6021) +#define DCM_AirGapTemperature DcmTagKey(0x0014, 0x6022) +#define DCM_VerticalPixelSize DcmTagKey(0x0014, 0x6023) +#define DCM_HorizontalPixelSize DcmTagKey(0x0014, 0x6024) +#define DCM_DataStreamingProtocol DcmTagKey(0x0014, 0x6025) +#define DCM_LensSequence DcmTagKey(0x0014, 0x6026) +#define DCM_FieldOfView DcmTagKey(0x0014, 0x6027) +#define DCM_LensFilterManufacturer DcmTagKey(0x0014, 0x6028) +#define DCM_CutoffFilterType DcmTagKey(0x0014, 0x6029) +#define DCM_LensFilterCutOffWavelength DcmTagKey(0x0014, 0x602a) +#define DCM_ThermalSourceSequence DcmTagKey(0x0014, 0x602b) +#define DCM_ThermalSourceMotionState DcmTagKey(0x0014, 0x602c) +#define DCM_ThermalSourceMotionType DcmTagKey(0x0014, 0x602d) +#define DCM_InductionHeatingSequence DcmTagKey(0x0014, 0x602e) +#define DCM_CoilConfigurationID DcmTagKey(0x0014, 0x602f) +#define DCM_NumberOfTurnsInCoil DcmTagKey(0x0014, 0x6030) +#define DCM_ShapeOfIndividualTurn DcmTagKey(0x0014, 0x6031) +#define DCM_SizeOfIndividualTurn DcmTagKey(0x0014, 0x6032) +#define DCM_DistanceBetweenTurns DcmTagKey(0x0014, 0x6033) +#define DCM_FlashHeatingSequence DcmTagKey(0x0014, 0x6034) +#define DCM_NumberOfLamps DcmTagKey(0x0014, 0x6035) +#define DCM_FlashSynchronizationProtocol DcmTagKey(0x0014, 0x6036) +#define DCM_FlashModificationStatus DcmTagKey(0x0014, 0x6037) +#define DCM_LaserHeatingSequence DcmTagKey(0x0014, 0x6038) +#define DCM_LaserManufacturer DcmTagKey(0x0014, 0x6039) +#define DCM_LaserModelNumber DcmTagKey(0x0014, 0x603a) +#define DCM_LaserTypeDescription DcmTagKey(0x0014, 0x603b) +#define DCM_ForcedGasHeatingSequence DcmTagKey(0x0014, 0x603c) +#define DCM_GasUsedForHeatingCoolingPart DcmTagKey(0x0014, 0x603d) +#define DCM_VibrationSonicHeatingSequence DcmTagKey(0x0014, 0x603e) +#define DCM_ProbeManufacturer DcmTagKey(0x0014, 0x603f) +#define DCM_ProbeModelNumber DcmTagKey(0x0014, 0x6040) +#define DCM_ApertureSize DcmTagKey(0x0014, 0x6041) +#define DCM_ProbeResonantFrequency DcmTagKey(0x0014, 0x6042) +#define DCM_HeatSourceDescription DcmTagKey(0x0014, 0x6043) +#define DCM_SurfacePreparationWithOpticalCoating DcmTagKey(0x0014, 0x6044) +#define DCM_OpticalCoatingType DcmTagKey(0x0014, 0x6045) +#define DCM_ThermalConductivityOfExposedSurface DcmTagKey(0x0014, 0x6046) +#define DCM_MaterialDensity DcmTagKey(0x0014, 0x6047) +#define DCM_SpecificHeatOfInspectionSurface DcmTagKey(0x0014, 0x6048) +#define DCM_EmissivityOfInspectionSurface DcmTagKey(0x0014, 0x6049) +#define DCM_ElectromagneticClassificationOfInspectionSurface DcmTagKey(0x0014, 0x604a) +#define DCM_MovingWindowSize DcmTagKey(0x0014, 0x604c) +#define DCM_MovingWindowType DcmTagKey(0x0014, 0x604d) +#define DCM_MovingWindowWeights DcmTagKey(0x0014, 0x604e) +#define DCM_MovingWindowPitch DcmTagKey(0x0014, 0x604f) +#define DCM_MovingWindowPaddingScheme DcmTagKey(0x0014, 0x6050) +#define DCM_MovingWindowPaddingLength DcmTagKey(0x0014, 0x6051) +#define DCM_SpatialFilteringParametersSequence DcmTagKey(0x0014, 0x6052) +#define DCM_SpatialFilteringScheme DcmTagKey(0x0014, 0x6053) +#define DCM_HorizontalMovingWindowSize DcmTagKey(0x0014, 0x6056) +#define DCM_VerticalMovingWindowSize DcmTagKey(0x0014, 0x6057) +#define DCM_PolynomialFittingSequence DcmTagKey(0x0014, 0x6059) +#define DCM_FittingDataType DcmTagKey(0x0014, 0x605a) +#define DCM_OperationOnTimeAxisBeforeFitting DcmTagKey(0x0014, 0x605b) +#define DCM_OperationOnPixelIntensityBeforeFitting DcmTagKey(0x0014, 0x605c) +#define DCM_OrderOfPolynomial DcmTagKey(0x0014, 0x605d) +#define DCM_IndependentVariableForPolynomialFit DcmTagKey(0x0014, 0x605e) +#define DCM_PolynomialCoefficients DcmTagKey(0x0014, 0x605f) +#define DCM_ThermographyPixelDataUnit DcmTagKey(0x0014, 0x6060) #define DCM_WhitePoint DcmTagKey(0x0016, 0x0001) #define DCM_PrimaryChromaticities DcmTagKey(0x0016, 0x0002) #define DCM_BatteryLevel DcmTagKey(0x0016, 0x0003) @@ -1818,6 +1923,7 @@ #define DCM_HorizontalFieldOfView DcmTagKey(0x0022, 0x000c) #define DCM_PupilDilated DcmTagKey(0x0022, 0x000d) #define DCM_DegreeOfDilation DcmTagKey(0x0022, 0x000e) +#define DCM_VertexDistance DcmTagKey(0x0022, 0x000f) #define DCM_StereoBaselineAngle DcmTagKey(0x0022, 0x0010) #define DCM_StereoBaselineDisplacement DcmTagKey(0x0022, 0x0011) #define DCM_StereoHorizontalPixelOffset DcmTagKey(0x0022, 0x0012) @@ -1965,10 +2071,16 @@ #define DCM_ScanPatternTypeCodeSequence DcmTagKey(0x0022, 0x1618) #define DCM_ReferencedSurfaceMeshIdentificationSequence DcmTagKey(0x0022, 0x1620) #define DCM_OphthalmicVolumetricPropertiesFlag DcmTagKey(0x0022, 0x1622) +#define DCM_OphthalmicAnatomicReferencePointFrameCoordinate DcmTagKey(0x0022, 0x1623) #define DCM_OphthalmicAnatomicReferencePointXCoordinate DcmTagKey(0x0022, 0x1624) #define DCM_OphthalmicAnatomicReferencePointYCoordinate DcmTagKey(0x0022, 0x1626) +#define DCM_OphthalmicEnFaceVolumeDescriptorSequence DcmTagKey(0x0022, 0x1627) #define DCM_OphthalmicEnFaceImageQualityRatingSequence DcmTagKey(0x0022, 0x1628) +#define DCM_OphthalmicEnFaceVolumeDescriptorScope DcmTagKey(0x0022, 0x1629) #define DCM_QualityThreshold DcmTagKey(0x0022, 0x1630) +#define DCM_OphthalmicAnatomicReferencePointSequence DcmTagKey(0x0022, 0x1632) +#define DCM_OphthalmicAnatomicReferencePointLocalizationType DcmTagKey(0x0022, 0x1633) +#define DCM_PrimaryAnatomicStructureItemIndex DcmTagKey(0x0022, 0x1634) #define DCM_OCTBscanAnalysisAcquisitionParametersSequence DcmTagKey(0x0022, 0x1640) #define DCM_NumberOfBscansPerFrame DcmTagKey(0x0022, 0x1642) #define DCM_BscanSlabThickness DcmTagKey(0x0022, 0x1643) @@ -2368,7 +2480,7 @@ #define DCM_CameraPositionGroupSequence DcmTagKey(0x0034, 0x000b) #define DCM_IncludesInformation DcmTagKey(0x0034, 0x000c) #define DCM_TimeOfFrameGroupSequence DcmTagKey(0x0034, 0x000d) -#define DCM_ReferencedPatientAliasSequence DcmTagKey(0x0038, 0x0004) +#define DCM_RETIRED_ReferencedPatientAliasSequence DcmTagKey(0x0038, 0x0004) #define DCM_VisitStatusID DcmTagKey(0x0038, 0x0008) #define DCM_AdmissionID DcmTagKey(0x0038, 0x0010) #define DCM_RETIRED_IssuerOfAdmissionID DcmTagKey(0x0038, 0x0011) @@ -2446,12 +2558,12 @@ #define DCM_WaveformAmplifierType DcmTagKey(0x003a, 0x0317) #define DCM_FilterLowFrequencyCharacteristicsSequence DcmTagKey(0x003a, 0x0318) #define DCM_FilterHighFrequencyCharacteristicsSequence DcmTagKey(0x003a, 0x0319) -#define DCM_SummarizedFilterLookupTable DcmTagKey(0x003a, 0x0320) +#define DCM_SummarizedFilterLookupTableSequence DcmTagKey(0x003a, 0x0320) #define DCM_NotchFilterCharacteristicsSequence DcmTagKey(0x003a, 0x0321) #define DCM_WaveformFilterType DcmTagKey(0x003a, 0x0322) #define DCM_AnalogFilterCharacteristicsSequence DcmTagKey(0x003a, 0x0323) #define DCM_AnalogFilterRollOff DcmTagKey(0x003a, 0x0324) -#define DCM_AnalogFilterType DcmTagKey(0x003a, 0x0325) +#define DCM_AnalogFilterTypeCodeSequence DcmTagKey(0x003a, 0x0325) #define DCM_DigitalFilterCharacteristicsSequence DcmTagKey(0x003a, 0x0326) #define DCM_DigitalFilterOrder DcmTagKey(0x003a, 0x0327) #define DCM_DigitalFilterTypeCodeSequence DcmTagKey(0x003a, 0x0328) @@ -2931,6 +3043,10 @@ #define DCM_CondenserLensPower DcmTagKey(0x0048, 0x0111) #define DCM_ObjectiveLensPower DcmTagKey(0x0048, 0x0112) #define DCM_ObjectiveLensNumericalAperture DcmTagKey(0x0048, 0x0113) +#define DCM_ConfocalMode DcmTagKey(0x0048, 0x0114) +#define DCM_TissueLocation DcmTagKey(0x0048, 0x0115) +#define DCM_ConfocalMicroscopyImageFrameTypeSequence DcmTagKey(0x0048, 0x0116) +#define DCM_ImageAcquisitionDepth DcmTagKey(0x0048, 0x0117) #define DCM_PaletteColorLookupTableSequence DcmTagKey(0x0048, 0x0120) #define DCM_RETIRED_ReferencedImageNavigationSequence DcmTagKey(0x0048, 0x0200) #define DCM_RETIRED_TopLeftHandCornerOfLocalizerArea DcmTagKey(0x0048, 0x0201) @@ -3106,6 +3222,7 @@ #define DCM_SurfaceSequence DcmTagKey(0x0066, 0x0002) #define DCM_SurfaceNumber DcmTagKey(0x0066, 0x0003) #define DCM_SurfaceComments DcmTagKey(0x0066, 0x0004) +#define DCM_SurfaceOffset DcmTagKey(0x0066, 0x0005) #define DCM_SurfaceProcessing DcmTagKey(0x0066, 0x0009) #define DCM_SurfaceProcessingRatio DcmTagKey(0x0066, 0x000a) #define DCM_SurfaceProcessingDescription DcmTagKey(0x0066, 0x000b) @@ -3423,8 +3540,8 @@ #define DCM_VolumetricPresentationInputIndex DcmTagKey(0x0070, 0x1804) #define DCM_PresentationStateCompositorComponentSequence DcmTagKey(0x0070, 0x1805) #define DCM_WeightingTransferFunctionSequence DcmTagKey(0x0070, 0x1806) -#define DCM_WeightingLookupTableDescriptor DcmTagKey(0x0070, 0x1807) -#define DCM_WeightingLookupTableData DcmTagKey(0x0070, 0x1808) +#define DCM_RETIRED_WeightingLookupTableDescriptor DcmTagKey(0x0070, 0x1807) +#define DCM_RETIRED_WeightingLookupTableData DcmTagKey(0x0070, 0x1808) #define DCM_VolumetricAnnotationSequence DcmTagKey(0x0070, 0x1901) #define DCM_ReferencedStructuredContextSequence DcmTagKey(0x0070, 0x1903) #define DCM_ReferencedContentItem DcmTagKey(0x0070, 0x1904) @@ -3966,6 +4083,7 @@ #define DCM_EnergyDerivationCodeSequence DcmTagKey(0x3002, 0x0133) #define DCM_MaximumCumulativeMetersetExposure DcmTagKey(0x3002, 0x0134) #define DCM_AcquisitionInitiationSequence DcmTagKey(0x3002, 0x0135) +#define DCM_RTConeBeamImagingGeometrySequence DcmTagKey(0x3002, 0x0136) #define DCM_DVHType DcmTagKey(0x3004, 0x0001) #define DCM_DoseUnits DcmTagKey(0x3004, 0x0002) #define DCM_DoseType DcmTagKey(0x3004, 0x0004) @@ -3976,8 +4094,9 @@ #define DCM_GridFrameOffsetVector DcmTagKey(0x3004, 0x000c) #define DCM_DoseGridScaling DcmTagKey(0x3004, 0x000e) #define DCM_RETIRED_RTDoseROISequence DcmTagKey(0x3004, 0x0010) -#define DCM_RETIRED_DoseValue DcmTagKey(0x3004, 0x0012) +#define DCM_DoseValue DcmTagKey(0x3004, 0x0012) #define DCM_TissueHeterogeneityCorrection DcmTagKey(0x3004, 0x0014) +#define DCM_RecommendedIsodoseLevelSequence DcmTagKey(0x3004, 0x0016) #define DCM_DVHNormalizationPoint DcmTagKey(0x3004, 0x0040) #define DCM_DVHNormalizationDoseValue DcmTagKey(0x3004, 0x0042) #define DCM_DVHSequence DcmTagKey(0x3004, 0x0050) @@ -4007,6 +4126,8 @@ #define DCM_ROIDescription DcmTagKey(0x3006, 0x0028) #define DCM_ROIDisplayColor DcmTagKey(0x3006, 0x002a) #define DCM_ROIVolume DcmTagKey(0x3006, 0x002c) +#define DCM_ROIDateTime DcmTagKey(0x3006, 0x002d) +#define DCM_ROIObservationDateTime DcmTagKey(0x3006, 0x002e) #define DCM_RTRelatedROISequence DcmTagKey(0x3006, 0x0030) #define DCM_RTROIRelationship DcmTagKey(0x3006, 0x0033) #define DCM_ROIGenerationAlgorithm DcmTagKey(0x3006, 0x0036) @@ -4021,6 +4142,11 @@ #define DCM_ContourNumber DcmTagKey(0x3006, 0x0048) #define DCM_RETIRED_AttachedContours DcmTagKey(0x3006, 0x0049) #define DCM_SourcePixelPlanesCharacteristicsSequence DcmTagKey(0x3006, 0x004a) +#define DCM_SourceSeriesSequence DcmTagKey(0x3006, 0x004b) +#define DCM_SourceSeriesInformationSequence DcmTagKey(0x3006, 0x004c) +#define DCM_ROICreatorSequence DcmTagKey(0x3006, 0x004d) +#define DCM_ROIInterpreterSequence DcmTagKey(0x3006, 0x004e) +#define DCM_ROIObservationContextCodeSequence DcmTagKey(0x3006, 0x004f) #define DCM_ContourData DcmTagKey(0x3006, 0x0050) #define DCM_RTROIObservationsSequence DcmTagKey(0x3006, 0x0080) #define DCM_ObservationNumber DcmTagKey(0x3006, 0x0082) @@ -4191,6 +4317,7 @@ #define DCM_TableTopVerticalPositionTolerance DcmTagKey(0x300a, 0x0051) #define DCM_TableTopLongitudinalPositionTolerance DcmTagKey(0x300a, 0x0052) #define DCM_TableTopLateralPositionTolerance DcmTagKey(0x300a, 0x0053) +#define DCM_TableTopPositionAlignmentUID DcmTagKey(0x300a, 0x0054) #define DCM_RTPlanRelationship DcmTagKey(0x300a, 0x0055) #define DCM_FractionGroupSequence DcmTagKey(0x300a, 0x0070) #define DCM_FractionGroupNumber DcmTagKey(0x300a, 0x0071) @@ -4445,6 +4572,7 @@ #define DCM_CompensatorMillingToolDiameter DcmTagKey(0x300a, 0x02e8) #define DCM_IonRangeCompensatorSequence DcmTagKey(0x300a, 0x02ea) #define DCM_CompensatorDescription DcmTagKey(0x300a, 0x02eb) +#define DCM_CompensatorSurfaceRepresentationFlag DcmTagKey(0x300a, 0x02ec) #define DCM_RadiationMassNumber DcmTagKey(0x300a, 0x0302) #define DCM_RadiationAtomicNumber DcmTagKey(0x300a, 0x0304) #define DCM_RadiationChargeState DcmTagKey(0x300a, 0x0306) @@ -4687,6 +4815,7 @@ #define DCM_RTBeamModifierDefinitionDistance DcmTagKey(0x300a, 0x0688) #define DCM_BeamAreaLimitSequence DcmTagKey(0x300a, 0x0689) #define DCM_ReferencedRTPrescriptionSequence DcmTagKey(0x300a, 0x068a) +#define DCM_DoseValueInterpretation DcmTagKey(0x300a, 0x068b) #define DCM_TreatmentSessionUID DcmTagKey(0x300a, 0x0700) #define DCM_RTRadiationUsage DcmTagKey(0x300a, 0x0701) #define DCM_ReferencedRTRadiationSetSequence DcmTagKey(0x300a, 0x0702) @@ -4755,6 +4884,9 @@ #define DCM_PatientSupportDisplacementSequence DcmTagKey(0x300a, 0x079c) #define DCM_DisplacementReferenceLocationCodeSequence DcmTagKey(0x300a, 0x079d) #define DCM_RTRadiationSetDeliveryUsage DcmTagKey(0x300a, 0x079e) +#define DCM_PatientTreatmentPreparationSequence DcmTagKey(0x300a, 0x079f) +#define DCM_PatientToEquipmentRelationshipSequence DcmTagKey(0x300a, 0x07a0) +#define DCM_ImagingEquipmentToTreatmentDeliveryDeviceRelationshipSequence DcmTagKey(0x300a, 0x07a1) #define DCM_ReferencedRTPlanSequence DcmTagKey(0x300c, 0x0002) #define DCM_ReferencedBeamSequence DcmTagKey(0x300c, 0x0004) #define DCM_ReferencedBeamNumber DcmTagKey(0x300c, 0x0006) @@ -4804,6 +4936,7 @@ #define DCM_BeamHoldTransition DcmTagKey(0x300c, 0x0126) #define DCM_BeamHoldTransitionDateTime DcmTagKey(0x300c, 0x0127) #define DCM_BeamHoldOriginatingDeviceSequence DcmTagKey(0x300c, 0x0128) +#define DCM_BeamHoldTransitionTriggerSource DcmTagKey(0x300c, 0x0129) #define DCM_ApprovalStatus DcmTagKey(0x300e, 0x0002) #define DCM_ReviewDate DcmTagKey(0x300e, 0x0004) #define DCM_ReviewTime DcmTagKey(0x300e, 0x0005) diff --git a/dcmdata/include/dcmtk/dcmdata/dcdicent.h b/dcmdata/include/dcmtk/dcmdata/dcdicent.h index d7d16403..949aa499 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcdicent.h +++ b/dcmdata/include/dcmtk/dcmdata/dcdicent.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -25,6 +25,7 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmdata/dctagkey.h" #include "dcmtk/dcmdata/dcvr.h" +#include /// constant describing an unlimited VM #define DcmVariableVM -1 @@ -159,7 +160,8 @@ public: return valueMultiplicityMin; } - /// returns upper limit for VM (value multiplicity), DcmVariableVM for unlimited + /// returns upper limit for VM (value multiplicity), DcmVariableVM for + /// unlimited int getVMMax() const { return valueMultiplicityMax; @@ -329,8 +331,8 @@ public: /* set relations */ - /** checks if this entry describes a true subset of tag range - * described by the given entry. + /** checks if this entry describes a true subset of tag range described by + * the given entry. * @param e entry to compare with * @return true if this object is subset of e */ diff --git a/dcmdata/include/dcmtk/dcmdata/dcdict.h b/dcmdata/include/dcmtk/dcmdata/dcdict.h index 6c1110d8..a18e0fa0 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcdict.h +++ b/dcmdata/include/dcmtk/dcmdata/dcdict.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -85,7 +85,7 @@ public: /// returns the number of normal (non-repeating) tag entries int numberOfNormalTagEntries() const { return hashDict.size(); } - /// returns the number of repeating tag entries + /// returns the number of repeating groups tag entries int numberOfRepeatingTagEntries() const { return OFstatic_cast(int, repDict.size()); } /** returns the number of dictionary entries that were loaded @@ -121,18 +121,19 @@ public: OFBool loadDictionary(const char* fileName, OFBool errorIfAbsent = OFTrue); /** dictionary lookup for the given tag key and private creator identifier. - * First the normal tag dictionary is searched. If not found then the - * repeating tag dictionary is searched. - * @param key tag key + * First, the normal tags data dictionary is searched. If not found, the + * repeating groups data dictionary is searched. + * @param key tag key to search for * @param privCreator private creator identifier, may be NULL */ const DcmDictEntry* findEntry(const DcmTagKey& key, const char *privCreator) const; /** dictionary lookup for the given attribute name. - * First the normal tag dictionary is searched. If not found then the - * repeating tag dictionary is searched. - * Only considers standard attributes (i. e. without private creator). - * @param name attribute name + * First, the normal tags data dictionary is searched. If not found, the + * repeating groups data dictionary is searched. + * Mainly considers standard attributes. Private attributes are also + * searched, but without their associated private creator identifier. + * @param name attribute name to search for */ const DcmDictEntry* findEntry(const char *name) const; @@ -156,10 +157,10 @@ public: /// returns an iterator to the end of the normal (non-repeating) dictionary DcmHashDictIterator normalEnd() { return hashDict.end(); } - /// returns an iterator to the start of the repeating tag dictionary + /// returns an iterator to the start of the repeating groups data dictionary DcmDictEntryListIterator repeatingBegin() { return repDict.begin(); } - /// returns an iterator to the end of the repeating tag dictionary + /// returns an iterator to the end of the repeating groups data dictionary DcmDictEntryListIterator repeatingEnd() { return repDict.end(); } private: @@ -178,8 +179,7 @@ private: OFBool loadExternalDictionaries(); /** loads a builtin (compiled) data dictionary. - * Depending on which code is in use, this function may not - * do anything. + * Depending on which code is in use, this function may not do anything. */ void loadBuiltinDictionary(); @@ -204,7 +204,7 @@ private: */ DcmHashDict hashDict; - /** dictionary of repeating tags + /** dictionary of repeating groups tags */ DcmDictEntryList repDict; @@ -219,7 +219,7 @@ private: }; -/** global singleton dicom dictionary that is used by DCMTK in order to lookup +/** global singleton DICOM dictionary that is used by DCMTK in order to lookup * attribute VR, tag names and so on. The dictionary is internally populated * on first use, if the user accesses it via rdlock() or wrlock(). The * dictionary allows safe read (shared) and write (exclusive) access from @@ -236,15 +236,13 @@ public: */ ~GlobalDcmDataDictionary(); - /** acquires a read lock and returns a const reference to - * the dictionary. + /** acquires a read lock and returns a const reference to the dictionary. * @return const reference to dictionary */ const DcmDataDictionary& rdlock(); - /** acquires a write lock and returns a non-const reference - * to the dictionary. - * @return non-const reference to dictionary. + /** acquires a write lock and returns a non-const reference to the dictionary. + * @return non-const reference to dictionary */ DcmDataDictionary& wrlock(); @@ -301,13 +299,11 @@ private: /** The Global DICOM Data Dictionary. * Will be created before main() starts and gets populated on its first use. * Tries to load a builtin data dictionary (if compiled in). - * Tries to load data dictionaries from files specified by - * the DCMDICTPATH environment variable. If this environment - * variable does not exist then a default file is loaded (if - * it exists). - * It is possible that no data dictionary gets loaded. This - * is likely to cause unexpected behaviour in the dcmdata - * toolkit classes. + * Tries to load data dictionaries from files specified by the DCMDICTPATH + * environment variable. If this environment variable does not exist then a + * default file is loaded (if it exists). + * It is possible that no data dictionary gets loaded. This is likely to + * cause unexpected behavior in the dcmdata toolkit classes. */ extern DCMTK_DCMDATA_EXPORT GlobalDcmDataDictionary dcmDataDict; diff --git a/dcmdata/include/dcmtk/dcmdata/dcelem.h b/dcmdata/include/dcmtk/dcmdata/dcelem.h index b6ffeb7e..2978e961 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcelem.h +++ b/dcmdata/include/dcmtk/dcmdata/dcelem.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -144,6 +144,11 @@ class DCMTK_DCMDATA_EXPORT DcmElement */ virtual OFBool isLeaf() const { return OFTrue; } + /** check if this element can be safely casted to DcmElement + * @return true if DcmElement, false otherwise + */ + virtual OFBool isElement() const { return OFTrue; } + /** check if value of this element is loaded into main memory * @return true if value is present in memory, false if value still resides in file */ diff --git a/dcmdata/include/dcmtk/dcmdata/dcencdoc.h b/dcmdata/include/dcmtk/dcmdata/dcencdoc.h old mode 100755 new mode 100644 diff --git a/dcmdata/include/dcmtk/dcmdata/dcfilefo.h b/dcmdata/include/dcmtk/dcmdata/dcfilefo.h index a95a4628..ca901e7f 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcfilefo.h +++ b/dcmdata/include/dcmtk/dcmdata/dcfilefo.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2020, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -152,7 +152,7 @@ class DCMTK_DCMDATA_EXPORT DcmFileFormat */ DcmDataset *getAndRemoveDataset(); - /** @copydoc DcmObject::calcElementLength() + /** @copydoc DcmSequenceOfItems::calcElementLength() */ virtual Uint32 calcElementLength(const E_TransferSyntax xfer, const E_EncodingType enctype); diff --git a/dcmdata/include/dcmtk/dcmdata/dcitem.h b/dcmdata/include/dcmtk/dcmdata/dcitem.h index e79d5580..a296c1c9 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcitem.h +++ b/dcmdata/include/dcmtk/dcmdata/dcitem.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -1438,9 +1438,10 @@ class DCMTK_DCMDATA_EXPORT DcmItem * 'US' depending on the value of PixelRepresentation. * @param item dataset or item that can be used to lookup other element values * @param tag tag of the element to be checked and updated (if required) + * @return OFTrue if the VR has changed, OFFalse otherwise */ - void checkAndUpdateVR(DcmItem &item, - DcmTag &tag); + OFBool checkAndUpdateVR(DcmItem &item, + DcmTag &tag); /** update the SpecificCharacterSet (0008,0005) element depending on the given * parameters. The current value of this element is either replaced or a new diff --git a/dcmdata/include/dcmtk/dcmdata/dcmetinf.h b/dcmdata/include/dcmtk/dcmdata/dcmetinf.h index 7d1c7d0d..8d7766a3 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcmetinf.h +++ b/dcmdata/include/dcmtk/dcmdata/dcmetinf.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2019, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -131,7 +131,7 @@ class DCMTK_DCMDATA_EXPORT DcmMetaInfo */ virtual void transferEnd(); - /** @copydoc DcmObject::calcElementLength() + /** @copydoc DcmItem::calcElementLength() */ virtual Uint32 calcElementLength(const E_TransferSyntax xfer, const E_EncodingType enctype); diff --git a/dcmdata/include/dcmtk/dcmdata/dcmxml/xml2dcm.h b/dcmdata/include/dcmtk/dcmdata/dcmxml/xml2dcm.h index 3dc3dd23..352ea0ad 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcmxml/xml2dcm.h +++ b/dcmdata/include/dcmtk/dcmdata/dcmxml/xml2dcm.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2021, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -38,18 +38,6 @@ #define LIBXML_ATTR_FORMAT(fmt,args) #endif -// The libxml library also uses unicode. So we have to reuse some -// workarounds for the ICU library here as well. -// The type char16_t is only supported since C++11. -#ifndef HAVE_CHAR16_T -#define UCHAR_TYPE uint16_t -#endif - -//If U_NOEXCEPT is not defined, ICU falls back to NOEXCEPT. -#ifndef HAVE_CXX11 -#define U_NOEXCEPT -#endif - // forward declarations to minimize the libxml2 header files needed here typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler; typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr; diff --git a/dcmdata/include/dcmtk/dcmdata/dcobject.h b/dcmdata/include/dcmtk/dcmdata/dcobject.h index 60490f6b..714520bc 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcobject.h +++ b/dcmdata/include/dcmtk/dcmdata/dcobject.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2020, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -308,6 +308,11 @@ class DCMTK_DCMDATA_EXPORT DcmObject */ virtual OFBool isLeaf() const = 0; + /** check if this element can be safely casted to DcmElement + * @return true if DcmElement, false otherwise + */ + virtual OFBool isElement() const { return OFFalse; } + /** check if this element is nested in a sequence of items, i.e.\ not a * top-level or stand-alone element * @return true if this element is nested, false otherwise diff --git a/dcmdata/include/dcmtk/dcmdata/dcostrmf.h b/dcmdata/include/dcmtk/dcmdata/dcostrmf.h index fe60c6b6..9c597281 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcostrmf.h +++ b/dcmdata/include/dcmtk/dcmdata/dcostrmf.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -96,6 +96,11 @@ public: */ virtual void flush(); + /** closes the file associated with this object. + * Updates the internal status variable in case of an error. + */ + virtual void fclose(); + private: /// private unimplemented copy constructor @@ -142,6 +147,11 @@ public: /// destructor virtual ~DcmOutputFileStream(); + /** close file + * @return EC_Normal if successful, an error code otherwise + */ + virtual OFCondition fclose(); + private: /// private unimplemented copy constructor diff --git a/dcmdata/include/dcmtk/dcmdata/dcpath.h b/dcmdata/include/dcmtk/dcmdata/dcpath.h index 31a6357a..8fb3f17f 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcpath.h +++ b/dcmdata/include/dcmtk/dcmdata/dcpath.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2008-2023, OFFIS e.V. + * Copyright (C) 2008-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -156,6 +156,12 @@ public: */ OFBool containsGroup(const Uint16 groupNo) const; + /** Returns whether the path contains tags with invalid group numbers + * (groups 1, 3, 5, 7 and 0xFFFF are illegal in DICOM). + * @return OFTrue if illegal group number is found in path, OFFalse otherwise + */ + OFBool containsInvalidGroup() const; + /** Returns a string representation of each path node separately. * Tags are represented as numbers surrounded by braces "(gggg,eeee)", * not dictionary names. Items are represented by a number or wildcard diff --git a/dcmdata/include/dcmtk/dcmdata/dcpixel.h b/dcmdata/include/dcmtk/dcmdata/dcpixel.h index c8c70b08..057af8ca 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcpixel.h +++ b/dcmdata/include/dcmtk/dcmdata/dcpixel.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -363,7 +363,7 @@ public: virtual OFBool canWriteXfer(const E_TransferSyntax newXfer, const E_TransferSyntax oldXfer); - /** @copydoc DcmObject::calcElementLength() + /** @copydoc DcmPolymorphOBOW::calcElementLength() */ virtual Uint32 calcElementLength(const E_TransferSyntax xfer, const E_EncodingType enctype); @@ -477,6 +477,7 @@ public: * is equal to the default representation parameters * @deprecated The direct call of this method by user code is deprecated. * Use DcmDataset::chooseRepresentation() instead. + * * @repType the representation type * @repParam the representation parameters * @stack the object stack diff --git a/dcmdata/include/dcmtk/dcmdata/dcpixseq.h b/dcmdata/include/dcmtk/dcmdata/dcpixseq.h index 78c0cc69..d7fd0d71 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcpixseq.h +++ b/dcmdata/include/dcmtk/dcmdata/dcpixseq.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2019, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -118,7 +118,7 @@ public: const char *pixelFileName = NULL, size_t *pixelCounter = NULL); - /** @copydoc DcmObject::calcElementLength() + /** @copydoc DcmSequenceOfItems::calcElementLength() */ virtual Uint32 calcElementLength(const E_TransferSyntax xfer, const E_EncodingType enctype); diff --git a/dcmdata/include/dcmtk/dcmdata/dcpxitem.h b/dcmdata/include/dcmtk/dcmdata/dcpxitem.h index 1b96bf9d..2bd7c683 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcpxitem.h +++ b/dcmdata/include/dcmtk/dcmdata/dcpxitem.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2019, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -120,7 +120,7 @@ class DCMTK_DCMDATA_EXPORT DcmPixelItem : public DcmOtherByteOtherWord const char *pixelFileName = NULL, size_t *pixelCounter = NULL); - /** @copydoc DcmObject::calcElementLength() + /** @copydoc DcmOtherByteOtherWord::calcElementLength() */ virtual Uint32 calcElementLength(const E_TransferSyntax xfer, const E_EncodingType enctype); diff --git a/dcmdata/include/dcmtk/dcmdata/dcrleenc.h b/dcmdata/include/dcmtk/dcmdata/dcrleenc.h index 93ff094e..143cbd51 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcrleenc.h +++ b/dcmdata/include/dcmtk/dcmdata/dcrleenc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2022, OFFIS e.V. + * Copyright (C) 2002-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -25,6 +25,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/ofstd/oflist.h" /* for class OFList<> */ #include "dcmtk/dcmdata/dcdefine.h" +#include #define DcmRLEEncoder_BLOCKSIZE 16384 diff --git a/dcmdata/include/dcmtk/dcmdata/dcsequen.h b/dcmdata/include/dcmtk/dcmdata/dcsequen.h index 36a490b0..0c41721f 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcsequen.h +++ b/dcmdata/include/dcmtk/dcmdata/dcsequen.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2020, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -207,7 +207,7 @@ public: const Uint32 subPadlen = 0, Uint32 instanceLength = 0); - /** @copydoc DcmObject::calcElementLength() + /** @copydoc DcmElement::calcElementLength() */ virtual Uint32 calcElementLength(const E_TransferSyntax xfer, const E_EncodingType enctype); diff --git a/dcmdata/include/dcmtk/dcmdata/dctag.h b/dcmdata/include/dcmtk/dcmdata/dctag.h index e279a61e..1bcc0c5e 100644 --- a/dcmdata/include/dcmtk/dcmdata/dctag.h +++ b/dcmdata/include/dcmtk/dcmdata/dctag.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -231,13 +231,17 @@ public: /** convert the given string to a DICOM tag value * @param name name or tag of the attribute to be searched for. - * If the name of the attribute is given the spelling has to be consistent + * If the name of the attribute is given, the spelling has to be consistent * with the spelling used in the data dictionary (e.g. "PatientName"). - * If the tag values are used the format is "gggg,eeee" (i.e. two hexa- - * decimal numbers separated by a comma). + * If the attribute tag is used, the format is "gggg,eeee" (i.e. two + * hexadecimal numbers separated by a comma). * @param value variable in which the resulting tag value is stored. * If this functions fails to find the specified tag, this variable * remains unchanged. + * @note This method also searches for private tags, but always returns + * the first entry that matches (if no standard attribute was found), + * i.e. the private creator identifier is ignored (it cannot be specified + * for this method). * @return status, EC_Normal upon success, an error code otherwise */ static OFCondition findTagFromName(const char *name, @@ -248,6 +252,19 @@ public: using DcmTagKey::operator==; using DcmTagKey::operator!=; +protected: + + /** set the members of this tag + * @param key attribute tag to be set + * @param avr value representation (VR) to be set + * @param name attribute name to be set + * @param privCreator private creator identifier to be set (might be NULL) + */ + void setTag(const DcmTagKey &key, + const DcmVR &avr, + const char *name, + const char *privCreator); + private: /** replace tagName with copy of given string diff --git a/dcmdata/include/dcmtk/dcmdata/dcuid.h b/dcmdata/include/dcmtk/dcmdata/dcuid.h index 5c2f4cbe..769e5354 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcuid.h +++ b/dcmdata/include/dcmtk/dcmdata/dcuid.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -13,7 +13,7 @@ * * Module: dcmdata * - * Author: Andrew Hewett + * Author: Andrew Hewett, Joerg Riesmeier * * Purpose: * Definitions of "well known" DICOM Unique Identifiers, @@ -35,7 +35,6 @@ * @brief global definitions and functions for UID handling */ - /// type of Storage SOP Class typedef enum { /// patient objects @@ -49,6 +48,117 @@ typedef enum { } E_StorageSOPClassType; +/// standard that defines the UID +typedef enum { + /// DICOM standard + EUS_DICOM, + /// DICOS standard + EUS_DICOS, + /// DICONDE standard + EUS_DICONDE, + /// anything else + EUS_other +} E_UIDStandard; + +/// validity of the UID definition +typedef enum { + /// defined in the standard + EUV_Standard, + /// retired from the standard + EUV_Retired, + /// draft definition, e.g. for trial implementation + EUV_Draft, + /// private definition + EUV_Private, + /// anything else + EUV_other +} E_UIDValidity; + +/// UID type +typedef enum { + /// Application Context Name + EUT_ApplicationContextName, + /// Transfer Syntax + EUT_TransferSyntax, + /// Service Class + EUT_ServiceClass, + /// SOP Class + EUT_SOPClass, + /// Meta SOP Class + EUT_MetaSOPClass, + /// Well-known SOP Instance + EUT_SOPInstance, + /// Coding Scheme + EUT_CodingScheme, + /// Context Group (not yet used) + EUT_ContextGroup, + /// Mapping Resource + EUT_MappingResource, + /// Well-known Frame of Reference + EUT_FrameOfReference, + /// Application Hosting + EUT_ApplicationHosting, + /// LDAP OID + EUT_LDAP, + /// anything else + EUT_other +} E_UIDType; + +/// UID sub type +typedef enum { + /// Storage + EUST_Storage, + /// Query/Retrieve + EUST_QueryRetrieve, + /// Worklist + EUST_Worklist, + /// Print Management + EUST_PrintManagement, + /// Color Palette + EUST_ColorPalette, + /// anything else + EUST_other +} E_UIDSubType; + +/// UID IOD type +typedef enum { + /// Image IOD + EUIT_Image, + /// Presentation State IOD + EUIT_PresentationState, + /// Structured Report IOD + EUIT_StructuredReport, + /// Waveform IOD + EUIT_Waveform, + /// Encapsulated IOD + EUIT_Encapsulated, + /// other IOD + EUIT_other +} E_UIDIODType; + +/// UID properties +struct DcmUIDProperties { + /// standard that defines the UID + E_UIDStandard standard; + /// validity of the UID definition + E_UIDValidity validity; + /// UID type + E_UIDType uidType; + /// UID sub type + E_UIDSubType subType; + /// UID IOD type + E_UIDIODType iodType; + /// other flags + size_t otherFlags; +}; + +// UID property flags +#define UID_PROP_NONE 0x0000UL +#define UID_PROP_NON_PATIENT 0x0001UL +#define UID_PROP_NO_DIR_RECORD 0x0002UL +#define UID_PROP_ENHANCED_MF 0x0004UL + + /** return the name of a UID. * Performs a table lookup and returns a pointer to a read-only string. * @param uid UID string for which the name is to be looked up @@ -79,6 +189,14 @@ DCMTK_DCMDATA_EXPORT const char* dcmFindKeywordOfUID(const char* uid, const char */ DCMTK_DCMDATA_EXPORT const char* dcmFindUIDFromKeyword(const char* keyword); +/** return properties of a UID. + * Performs a table lookup and fills a given struct with the properties. + * @param uid UID string for which the properties are to be looked up + * @param properties struct that is filled with the properties of the UID + * @return true if UID was found, false otherwise + */ +DCMTK_DCMDATA_EXPORT OFBool dcmGetPropertiesOfUID(const char* uid, DcmUIDProperties &properties); + /** an array of const strings containing all known Storage SOP Classes * that fit into the conventional PATIENT-STUDY-SERIES-INSTANCE information * model, i.e. everything a Storage SCP might want to store in a PACS. @@ -309,124 +427,142 @@ DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID */ /// Implicit VR Little Endian: Default Transfer Syntax for DICOM -#define UID_LittleEndianImplicitTransferSyntax "1.2.840.10008.1.2" +#define UID_LittleEndianImplicitTransferSyntax "1.2.840.10008.1.2" /// Explicit VR Little Endian -#define UID_LittleEndianExplicitTransferSyntax "1.2.840.10008.1.2.1" +#define UID_LittleEndianExplicitTransferSyntax "1.2.840.10008.1.2.1" /// Explicit VR Big Endian - RETIRED -#define UID_BigEndianExplicitTransferSyntax "1.2.840.10008.1.2.2" +#define UID_BigEndianExplicitTransferSyntax "1.2.840.10008.1.2.2" +/// Encapsulated Uncompressed Explicit VR Little Endian +#define UID_EncapsulatedUncompressedExplicitVRLittleEndianTransferSyntax "1.2.840.10008.1.2.1.98" /// Deflated Explicit VR Little Endian #define UID_DeflatedExplicitVRLittleEndianTransferSyntax "1.2.840.10008.1.2.1.99" /** JPEG Baseline (Process 1): Default Transfer Syntax * for Lossy JPEG 8 Bit Image Compression */ -#define UID_JPEGProcess1TransferSyntax "1.2.840.10008.1.2.4.50" +#define UID_JPEGProcess1TransferSyntax "1.2.840.10008.1.2.4.50" /** JPEG Extended (Process 2 & 4): Default Transfer Syntax * for Lossy JPEG 12 Bit Image Compression (Process 4 only) */ -#define UID_JPEGProcess2_4TransferSyntax "1.2.840.10008.1.2.4.51" +#define UID_JPEGProcess2_4TransferSyntax "1.2.840.10008.1.2.4.51" /// JPEG Extended (Process 3 & 5) - RETIRED -#define UID_JPEGProcess3_5TransferSyntax "1.2.840.10008.1.2.4.52" +#define UID_JPEGProcess3_5TransferSyntax "1.2.840.10008.1.2.4.52" /// JPEG Spectral Selection, Non-Hierarchical (Process 6 & 8) - RETIRED -#define UID_JPEGProcess6_8TransferSyntax "1.2.840.10008.1.2.4.53" +#define UID_JPEGProcess6_8TransferSyntax "1.2.840.10008.1.2.4.53" /// JPEG Spectral Selection, Non-Hierarchical (Process 7 & 9) - RETIRED -#define UID_JPEGProcess7_9TransferSyntax "1.2.840.10008.1.2.4.54" +#define UID_JPEGProcess7_9TransferSyntax "1.2.840.10008.1.2.4.54" /// JPEG Full Progression, Non-Hierarchical (Process 10 & 12) - RETIRED -#define UID_JPEGProcess10_12TransferSyntax "1.2.840.10008.1.2.4.55" +#define UID_JPEGProcess10_12TransferSyntax "1.2.840.10008.1.2.4.55" /// JPEG Full Progression, Non-Hierarchical (Process 11 & 13) - RETIRED -#define UID_JPEGProcess11_13TransferSyntax "1.2.840.10008.1.2.4.56" +#define UID_JPEGProcess11_13TransferSyntax "1.2.840.10008.1.2.4.56" /// JPEG Lossless, Non-Hierarchical (Process 14) -#define UID_JPEGProcess14TransferSyntax "1.2.840.10008.1.2.4.57" +#define UID_JPEGProcess14TransferSyntax "1.2.840.10008.1.2.4.57" /// JPEG Lossless, Non-Hierarchical (Process 15) - RETIRED -#define UID_JPEGProcess15TransferSyntax "1.2.840.10008.1.2.4.58" +#define UID_JPEGProcess15TransferSyntax "1.2.840.10008.1.2.4.58" /// JPEG Extended, Hierarchical (Process 16 & 18) - RETIRED -#define UID_JPEGProcess16_18TransferSyntax "1.2.840.10008.1.2.4.59" +#define UID_JPEGProcess16_18TransferSyntax "1.2.840.10008.1.2.4.59" /// JPEG Extended, Hierarchical (Process 17 & 19) - RETIRED -#define UID_JPEGProcess17_19TransferSyntax "1.2.840.10008.1.2.4.60" +#define UID_JPEGProcess17_19TransferSyntax "1.2.840.10008.1.2.4.60" /// JPEG Spectral Selection, Hierarchical (Process 20 & 22) - RETIRED -#define UID_JPEGProcess20_22TransferSyntax "1.2.840.10008.1.2.4.61" +#define UID_JPEGProcess20_22TransferSyntax "1.2.840.10008.1.2.4.61" /// JPEG Spectral Selection, Hierarchical (Process 21 & 23) - RETIRED -#define UID_JPEGProcess21_23TransferSyntax "1.2.840.10008.1.2.4.62" +#define UID_JPEGProcess21_23TransferSyntax "1.2.840.10008.1.2.4.62" /// JPEG Full Progression, Hierarchical (Process 24 & 26) - RETIRED -#define UID_JPEGProcess24_26TransferSyntax "1.2.840.10008.1.2.4.63" +#define UID_JPEGProcess24_26TransferSyntax "1.2.840.10008.1.2.4.63" /// JPEG Full Progression, Hierarchical (Process 25 & 27) - RETIRED -#define UID_JPEGProcess25_27TransferSyntax "1.2.840.10008.1.2.4.64" +#define UID_JPEGProcess25_27TransferSyntax "1.2.840.10008.1.2.4.64" /// JPEG Lossless, Hierarchical (Process 28) - RETIRED -#define UID_JPEGProcess28TransferSyntax "1.2.840.10008.1.2.4.65" +#define UID_JPEGProcess28TransferSyntax "1.2.840.10008.1.2.4.65" /// JPEG Lossless, Hierarchical (Process 29) - RETIRED -#define UID_JPEGProcess29TransferSyntax "1.2.840.10008.1.2.4.66" +#define UID_JPEGProcess29TransferSyntax "1.2.840.10008.1.2.4.66" /** JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 * [Selection Value 1]): Default Transfer Syntax for Lossless JPEG Image Compression */ -#define UID_JPEGProcess14SV1TransferSyntax "1.2.840.10008.1.2.4.70" +#define UID_JPEGProcess14SV1TransferSyntax "1.2.840.10008.1.2.4.70" /// JPEG-LS Lossless Image Compression -#define UID_JPEGLSLosslessTransferSyntax "1.2.840.10008.1.2.4.80" +#define UID_JPEGLSLosslessTransferSyntax "1.2.840.10008.1.2.4.80" /// JPEG-LS Lossy (Near-Lossless) Image Compression -#define UID_JPEGLSLossyTransferSyntax "1.2.840.10008.1.2.4.81" +#define UID_JPEGLSLossyTransferSyntax "1.2.840.10008.1.2.4.81" /// JPEG 2000 Image Compression (Lossless Only) -#define UID_JPEG2000LosslessOnlyTransferSyntax "1.2.840.10008.1.2.4.90" +#define UID_JPEG2000LosslessOnlyTransferSyntax "1.2.840.10008.1.2.4.90" /// JPEG 2000 Image Compression (Lossless or Lossy) -#define UID_JPEG2000TransferSyntax "1.2.840.10008.1.2.4.91" +#define UID_JPEG2000TransferSyntax "1.2.840.10008.1.2.4.91" /// JPEG 2000 Part 2 Multi-component Image Compression (Lossless Only) #define UID_JPEG2000Part2MulticomponentImageCompressionLosslessOnlyTransferSyntax "1.2.840.10008.1.2.4.92" /// JPEG 2000 Part 2 Multi-component Image Compression (Lossless or Lossy) -#define UID_JPEG2000Part2MulticomponentImageCompressionTransferSyntax "1.2.840.10008.1.2.4.93" +#define UID_JPEG2000Part2MulticomponentImageCompressionTransferSyntax "1.2.840.10008.1.2.4.93" /// JPIP Referenced -#define UID_JPIPReferencedTransferSyntax "1.2.840.10008.1.2.4.94" +#define UID_JPIPReferencedTransferSyntax "1.2.840.10008.1.2.4.94" /// JPIP Referenced Deflate -#define UID_JPIPReferencedDeflateTransferSyntax "1.2.840.10008.1.2.4.95" +#define UID_JPIPReferencedDeflateTransferSyntax "1.2.840.10008.1.2.4.95" /// MPEG2 Main Profile @ Main Level (changed with DICOM 2016e to: MPEG2 Main Profile / Main Level) -#define UID_MPEG2MainProfileAtMainLevelTransferSyntax "1.2.840.10008.1.2.4.100" +#define UID_MPEG2MainProfileAtMainLevelTransferSyntax "1.2.840.10008.1.2.4.100" /// Fragmentable MPEG2 Main Profile / Main Level -#define UID_FragmentableMPEG2MainProfileMainLevelTransferSyntax "1.2.840.10008.1.2.4.100.1" +#define UID_FragmentableMPEG2MainProfileMainLevelTransferSyntax "1.2.840.10008.1.2.4.100.1" /// MPEG2 Main Profile @ High Level (changed with DICOM 2016e to: MPEG2 Main Profile / High Level) -#define UID_MPEG2MainProfileAtHighLevelTransferSyntax "1.2.840.10008.1.2.4.101" +#define UID_MPEG2MainProfileAtHighLevelTransferSyntax "1.2.840.10008.1.2.4.101" /// Fragmentable MPEG-4 AVC/H.264 High Profile / Level 4.1 -#define UID_FragmentableMPEG2MainProfileHighLevelTransferSyntax "1.2.840.10008.1.2.4.101.1" +#define UID_FragmentableMPEG2MainProfileHighLevelTransferSyntax "1.2.840.10008.1.2.4.101.1" /// MPEG-4 AVC/H.264 High Profile / Level 4.1 -#define UID_MPEG4HighProfileLevel4_1TransferSyntax "1.2.840.10008.1.2.4.102" +#define UID_MPEG4HighProfileLevel4_1TransferSyntax "1.2.840.10008.1.2.4.102" /// Fragmentable MPEG-4 AVC/H.264 High Profile / Level 4.1 -#define UID_FragmentableMPEG4HighProfileLevel4_1TransferSyntax "1.2.840.10008.1.2.4.102.1" +#define UID_FragmentableMPEG4HighProfileLevel4_1TransferSyntax "1.2.840.10008.1.2.4.102.1" /// MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1 -#define UID_MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax "1.2.840.10008.1.2.4.103" +#define UID_MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax "1.2.840.10008.1.2.4.103" /// Fragmentable MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1 -#define UID_FragmentableMPEG4BDcompatibleHighProfileLevel4_1TransferSyntax "1.2.840.10008.1.2.4.103.1" +#define UID_FragmentableMPEG4BDcompatibleHighProfileLevel4_1TransferSyntax "1.2.840.10008.1.2.4.103.1" /// MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video -#define UID_MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax "1.2.840.10008.1.2.4.104" +#define UID_MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax "1.2.840.10008.1.2.4.104" /// Fragmentable MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video -#define UID_FragmentableMPEG4HighProfileLevel4_2_For2DVideoTransferSyntax "1.2.840.10008.1.2.4.104.1" +#define UID_FragmentableMPEG4HighProfileLevel4_2_For2DVideoTransferSyntax "1.2.840.10008.1.2.4.104.1" /// MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video -#define UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax "1.2.840.10008.1.2.4.105" +#define UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax "1.2.840.10008.1.2.4.105" /// Fragmentable MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video -#define UID_FragmentableMPEG4HighProfileLevel4_2_For3DVideoTransferSyntax "1.2.840.10008.1.2.4.105.1" +#define UID_FragmentableMPEG4HighProfileLevel4_2_For3DVideoTransferSyntax "1.2.840.10008.1.2.4.105.1" /// MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2 -#define UID_MPEG4StereoHighProfileLevel4_2TransferSyntax "1.2.840.10008.1.2.4.106" +#define UID_MPEG4StereoHighProfileLevel4_2TransferSyntax "1.2.840.10008.1.2.4.106" /// Fragmentable MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2 -#define UID_FragmentableMPEG4StereoHighProfileLevel4_2TransferSyntax "1.2.840.10008.1.2.4.106.1" +#define UID_FragmentableMPEG4StereoHighProfileLevel4_2TransferSyntax "1.2.840.10008.1.2.4.106.1" /// HEVC/H.265 Main Profile / Level 5.1 -#define UID_HEVCMainProfileLevel5_1TransferSyntax "1.2.840.10008.1.2.4.107" +#define UID_HEVCMainProfileLevel5_1TransferSyntax "1.2.840.10008.1.2.4.107" /// HEVC/H.265 Main 10 Profile / Level 5.1 -#define UID_HEVCMain10ProfileLevel5_1TransferSyntax "1.2.840.10008.1.2.4.108" +#define UID_HEVCMain10ProfileLevel5_1TransferSyntax "1.2.840.10008.1.2.4.108" +/// JPEG XL Lossless +#define UID_JPEGXLLosslessTransferSyntax "1.2.840.10008.1.2.4.110" +/// JPEG XL JPEG Recompression +#define UID_JPEGXLJPEGRecompressionTransferSyntax "1.2.840.10008.1.2.4.111" +/// JPEG XL +#define UID_JPEGXLTransferSyntax "1.2.840.10008.1.2.4.112" +/// High-Throughput JPEG 2000 Image Compression (Lossless Only) +#define UID_HighThroughputJPEG2000ImageCompressionLosslessOnlyTransferSyntax "1.2.840.10008.1.2.4.201" +/// High-Throughput JPEG 2000 with RPCL Options Image Compression (Lossless Only) +#define UID_HighThroughputJPEG2000RPCLImageCompressionLosslessOnlyTransferSyntax "1.2.840.10008.1.2.4.202" +/// High-Throughput JPEG 2000 Image Compression +#define UID_HighThroughputJPEG2000ImageCompressionTransferSyntax "1.2.840.10008.1.2.4.203" +/// JPIP HTJ2K Referenced +#define UID_JPIPHTJ2KReferencedTransferSyntax "1.2.840.10008.1.2.4.204" +/// JPIP HTJ2K Referenced Deflate +#define UID_JPIPHTJ2KReferencedDeflateTransferSyntax "1.2.840.10008.1.2.4.205" /// RLE Lossless -#define UID_RLELosslessTransferSyntax "1.2.840.10008.1.2.5" +#define UID_RLELosslessTransferSyntax "1.2.840.10008.1.2.5" /// SMPTE ST 2110-20 Uncompressed Progressive Active Video -#define UID_SMPTEST2110_20_UncompressedProgressiveActiveVideoTransferSyntax "1.2.840.10008.1.2.7.1" +#define UID_SMPTEST2110_20_UncompressedProgressiveActiveVideoTransferSyntax "1.2.840.10008.1.2.7.1" /// SMPTE ST 2110-20 Uncompressed Interlaced Active Video -#define UID_SMPTEST2110_20_UncompressedInterlacedActiveVideoTransferSyntax "1.2.840.10008.1.2.7.2" +#define UID_SMPTEST2110_20_UncompressedInterlacedActiveVideoTransferSyntax "1.2.840.10008.1.2.7.2" /// SMPTE ST 2110-30 PCM Digital Audio -#define UID_SMPTEST2110_30_PCMDigitalAudioTransferSyntax "1.2.840.10008.1.2.7.3" +#define UID_SMPTEST2110_30_PCMDigitalAudioTransferSyntax "1.2.840.10008.1.2.7.3" /** RFC 2557 MIME Encapsulation (RETIRED) was only a pseudo transfer syntax used * to refer to MIME encapsulated HL7 CDA documents from a DICOMDIR when stored * on a DICOM storage medium. It was never used for network communication * or encoding of DICOM objects. */ -#define UID_RETIRED_RFC2557MIMEEncapsulationTransferSyntax "1.2.840.10008.1.2.6.1" +#define UID_RETIRED_RFC2557MIMEEncapsulationTransferSyntax "1.2.840.10008.1.2.6.1" /** XML Encoding (RETIRED) was only a pseudo transfer syntax used to refer to * encapsulated HL7 CDA documents from a DICOMDIR when stored on a DICOM storage * medium. It was never used for network communication or encoding of DICOM objects. */ -#define UID_RETIRED_XMLEncodingTransferSyntax "1.2.840.10008.1.2.6.2" +#define UID_RETIRED_XMLEncodingTransferSyntax "1.2.840.10008.1.2.6.2" /** Private transfer syntax defined by GE. This transfer syntax is identical to * Implicit VR Little Endian, except that Pixel Data are encoded in big endian. @@ -521,6 +657,8 @@ DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID #define UID_SegmentationStorage "1.2.840.10008.5.1.4.1.1.66.4" #define UID_SurfaceSegmentationStorage "1.2.840.10008.5.1.4.1.1.66.5" #define UID_TractographyResultsStorage "1.2.840.10008.5.1.4.1.1.66.6" +#define UID_LabelMapSegmentationStorage "1.2.840.10008.5.1.4.1.1.66.7" +#define UID_HeightMapSegmentationStorage "1.2.840.10008.5.1.4.1.1.66.8" #define UID_RealWorldValueMappingStorage "1.2.840.10008.5.1.4.1.1.67" #define UID_SurfaceScanMeshStorage "1.2.840.10008.5.1.4.1.1.68.1" #define UID_SurfaceScanPointCloudStorage "1.2.840.10008.5.1.4.1.1.68.2" @@ -542,6 +680,8 @@ DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID #define UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage "1.2.840.10008.5.1.4.1.1.77.1.5.8" #define UID_VLWholeSlideMicroscopyImageStorage "1.2.840.10008.5.1.4.1.1.77.1.6" #define UID_DermoscopicPhotographyImageStorage "1.2.840.10008.5.1.4.1.1.77.1.7" +#define UID_ConfocalMicroscopyImageStorage "1.2.840.10008.5.1.4.1.1.77.1.8" +#define UID_ConfocalMicroscopyTiledPyramidalImageStorage "1.2.840.10008.5.1.4.1.1.77.1.9" #define UID_RETIRED_VLMultiframeImageStorage "1.2.840.10008.5.1.4.1.1.77.2" #define UID_LensometryMeasurementsStorage "1.2.840.10008.5.1.4.1.1.78.1" #define UID_AutorefractionMeasurementsStorage "1.2.840.10008.5.1.4.1.1.78.2" @@ -574,6 +714,7 @@ DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID #define UID_PlannedImagingAgentAdministrationSRStorage "1.2.840.10008.5.1.4.1.1.88.74" #define UID_PerformedImagingAgentAdministrationSRStorage "1.2.840.10008.5.1.4.1.1.88.75" #define UID_EnhancedXRayRadiationDoseSRStorage "1.2.840.10008.5.1.4.1.1.88.76" +#define UID_WaveformAnnotationSRStorage "1.2.840.10008.5.1.4.1.1.88.77" #define UID_ContentAssessmentResultsStorage "1.2.840.10008.5.1.4.1.1.90.1" #define UID_MicroscopyBulkSimpleAnnotationsStorage "1.2.840.10008.5.1.4.1.1.91.1" #define UID_EncapsulatedPDFStorage "1.2.840.10008.5.1.4.1.1.104.1" @@ -634,6 +775,8 @@ DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID // DICONDE Storage #define UID_DICONDE_EddyCurrentImageStorage "1.2.840.10008.5.1.4.1.1.601.1" #define UID_DICONDE_EddyCurrentMultiframeImageStorage "1.2.840.10008.5.1.4.1.1.601.2" +#define UID_DICONDE_ThermographyImageStorage "1.2.840.10008.5.1.4.1.1.601.3" +#define UID_DICONDE_ThermographyMultiFrameImageStorage "1.2.840.10008.5.1.4.1.1.601.4" // Query/Retrieve #define UID_FINDPatientRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.1.1" diff --git a/dcmdata/include/dcmtk/dcmdata/dcvr.h b/dcmdata/include/dcmtk/dcmdata/dcvr.h index f7584a75..c3c97fe4 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvr.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2020, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -273,7 +273,10 @@ enum DcmEVR EVR_OverlayData, /// used internally for elements with unknown VR with 2-byte length field in explicit VR - EVR_UNKNOWN2B + EVR_UNKNOWN2B, + + /// used internally for invalid VRs, e.g. when reading an invalid VR string from a data set + EVR_invalid }; @@ -302,7 +305,7 @@ public: /** constructor. * Please note that only the first two characters of the passed string are * actually checked. Value Representations that are labeled for internal - * use only are mapped to EVR_UNKNOWN. + * use only are mapped to an unknown VR. See setVR() for more details. * @param vrName symbolic name of value representation */ DcmVR(const char* vrName) @@ -327,7 +330,13 @@ public: /** assign new VR value by name. * Please note that only the first two characters of the passed string are * actually checked. Value Representations that are labeled for internal - * use only are mapped to EVR_UNKNOWN. + * use only are ignored, so they are mapped to an unknown VR. For unknown + * VRs consisting of two uppercase letters, extended length (4 bytes) is + * assumed, since it could be a new DICOM VR that is not yet supported. + * For other unknown VRs consisting of characters in the range of 32 to + * 127, a 2-byte length field is assumed. This also applies to a VR + * string of "??", which has been observed in the wild not to use extended + * length. All other VR strings are considered invalid. * @param vrName symbolic name of value representation */ void setVR(const char* vrName); @@ -363,7 +372,7 @@ public: * might not be correct. * * Also note that DcmItem::checkAndUpdateVR() will in some cases influence - * the VR which is written out. + * the VR that is written out. * @return enumerated VR */ DcmEVR getValidEVR() const; @@ -389,6 +398,16 @@ public: */ size_t getValueWidth() const; + /** returns true if VR is invalid, i.e.\ EVR_invalid + * @return true if VR is invalid, false otherwise + */ + OFBool isInvalid() const; + + /** returns true if VR is unknown, i.e.\ EVR_UNKNOWN or EVR_UNKNOWN2B + * @return true if VR is unknown, false otherwise + */ + OFBool isUnknown() const; + /** returns true if VR is a standard DICOM VR * @return true if VR is a standard DICOM VR, false otherwise */ @@ -399,11 +418,33 @@ public: */ OFBool isForInternalUseOnly() const; - /** returns true if VR represents a string + /** returns true if VR represents a string. + * @note This method is only applicable to standard DICOM VRs. * @return true if VR represents a string, false otherwise */ OFBool isaString() const; + /** returns true if VR represents a number (either encoded as a string or + * in binary format). + * @note This method is only applicable to standard DICOM VRs. + * @return true if VR represents a number, false otherwise + */ + OFBool isaNumber() const; + + /** returns true if VR represents an integer number (either encoded as a + * string or in binary format). + * @note This method is only applicable to standard DICOM VRs. + * @return true if VR represents an integer number, false otherwise + */ + OFBool isInteger() const; + + /** returns true if VR represents an unsigned number (either encoded as a + * string or in binary format). + * @note This method is only applicable to standard DICOM VRs. + * @return true if VR represents an unsigned number, false otherwise + */ + OFBool isUnsigned() const; + /** returns true if VR uses an extended length encoding for explicit * transfer syntaxes * @return true if VR uses an extended length encoding for explicit diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrae.h b/dcmdata/include/dcmtk/dcmdata/dcvrae.h index 17773662..df66f187 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrae.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrae.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2017, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -113,7 +113,7 @@ class DCMTK_DCMDATA_EXPORT DcmApplicationEntity const OFString& candidate, const OFBool enableWildCardMatching = OFTrue) const; - /// @copydoc DcmElement::isUniversalMatch() + /// @copydoc DcmByteString::isUniversalMatch() virtual OFBool isUniversalMatch(const OFBool normalize = OFTrue, const OFBool enableWildCardMatching = OFTrue); diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrcs.h b/dcmdata/include/dcmtk/dcmdata/dcvrcs.h index 5db0a4a3..c0613737 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrcs.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrcs.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2017, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -113,7 +113,7 @@ class DCMTK_DCMDATA_EXPORT DcmCodeString const OFString& candidate, const OFBool enableWildCardMatching = OFTrue) const; - /// @copydoc DcmElement::isUniversalMatch() + /// @copydoc DcmByteString::isUniversalMatch() virtual OFBool isUniversalMatch(const OFBool normalize = OFTrue, const OFBool enableWildCardMatching = OFTrue); diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrda.h b/dcmdata/include/dcmtk/dcmdata/dcvrda.h index ae485037..9019b4f9 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrda.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrda.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2018, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -155,7 +155,7 @@ class DCMTK_DCMDATA_EXPORT DcmDate const OFString& candidate, const OFBool enableWildCardMatching = OFTrue) const; - /// @copydoc DcmElement::combinationMatches() + /// @copydoc DcmByteString::combinationMatches() virtual OFBool combinationMatches(const DcmElement& keySecond, const DcmElement& candidateFirst, const DcmElement& candidateSecond) const; diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrur.h b/dcmdata/include/dcmtk/dcmdata/dcvrur.h index cbfe57ea..20d47287 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrur.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrur.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2014-2019, OFFIS e.V. + * Copyright (C) 2014-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -149,7 +149,7 @@ class DCMTK_DCMDATA_EXPORT DcmUniversalResourceIdentifierOrLocator const OFString& candidate, const OFBool enableWildCardMatching = OFTrue) const; - /// @copydoc DcmElement::isUniversalMatch() + /// @copydoc DcmByteString::isUniversalMatch() virtual OFBool isUniversalMatch(const OFBool normalize = OFTrue, const OFBool enableWildCardMatching = OFTrue); diff --git a/dcmdata/include/dcmtk/dcmdata/dcxfer.h b/dcmdata/include/dcmtk/dcmdata/dcxfer.h index 7a561199..93a7d688 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcxfer.h +++ b/dcmdata/include/dcmtk/dcmdata/dcxfer.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -13,7 +13,7 @@ * * Module: dcmdata * - * Author: Gerd Ehlers + * Author: Gerd Ehlers, Joerg Riesmeier * * Purpose: Handling of transfer syntaxes * @@ -25,6 +25,7 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmdata/dctypes.h" #include "dcmtk/dcmdata/dcvr.h" +#include "dcmtk/ofstd/ofdeprec.h" /* for OFdeprecated */ // include this file in doxygen documentation @@ -35,117 +36,134 @@ /** enumeration of all DICOM transfer syntaxes known to the toolkit */ typedef enum { - /// unknown transfer syntax or dataset created in-memory + /// unknown transfer syntax or dataset created in memory EXS_Unknown = -1, /// Implicit VR Little Endian EXS_LittleEndianImplicit = 0, - /// Implicit VR Big Endian (pseudo transfer syntax that does not really exist) + /// Implicit VR Big Endian (does not really exist, only used internally) EXS_BigEndianImplicit = 1, /// Explicit VR Little Endian EXS_LittleEndianExplicit = 2, /// Explicit VR Big Endian EXS_BigEndianExplicit = 3, + /// Encapsulated Uncompressed Explicit VR Little Endian + EXS_EncapsulatedUncompressedLittleEndianExplicit = 4, /// JPEG Baseline (lossy) - EXS_JPEGProcess1 = 4, + EXS_JPEGProcess1 = 5, /// JPEG Extended Sequential (lossy, 8/12 bit) - EXS_JPEGProcess2_4 = 5, + EXS_JPEGProcess2_4 = 6, /// JPEG Extended Sequential (lossy, 8/12 bit), arithmetic coding - EXS_JPEGProcess3_5 = 6, + EXS_JPEGProcess3_5 = 7, /// JPEG Spectral Selection, Non-Hierarchical (lossy, 8/12 bit) - EXS_JPEGProcess6_8 = 7, + EXS_JPEGProcess6_8 = 8, /// JPEG Spectral Selection, Non-Hierarchical (lossy, 8/12 bit), arithmetic coding - EXS_JPEGProcess7_9 = 8, + EXS_JPEGProcess7_9 = 9, /// JPEG Full Progression, Non-Hierarchical (lossy, 8/12 bit) - EXS_JPEGProcess10_12 = 9, + EXS_JPEGProcess10_12 = 10, /// JPEG Full Progression, Non-Hierarchical (lossy, 8/12 bit), arithmetic coding - EXS_JPEGProcess11_13 = 10, + EXS_JPEGProcess11_13 = 11, /// JPEG Lossless with any selection value - EXS_JPEGProcess14 = 11, + EXS_JPEGProcess14 = 12, /// JPEG Lossless with any selection value, arithmetic coding - EXS_JPEGProcess15 = 12, + EXS_JPEGProcess15 = 13, /// JPEG Extended Sequential, Hierarchical (lossy, 8/12 bit) - EXS_JPEGProcess16_18 = 13, + EXS_JPEGProcess16_18 = 14, /// JPEG Extended Sequential, Hierarchical (lossy, 8/12 bit), arithmetic coding - EXS_JPEGProcess17_19 = 14, + EXS_JPEGProcess17_19 = 15, /// JPEG Spectral Selection, Hierarchical (lossy, 8/12 bit) - EXS_JPEGProcess20_22 = 15, + EXS_JPEGProcess20_22 = 16, /// JPEG Spectral Selection, Hierarchical (lossy, 8/12 bit), arithmetic coding - EXS_JPEGProcess21_23 = 16, + EXS_JPEGProcess21_23 = 17, /// JPEG Full Progression, Hierarchical (lossy, 8/12 bit) - EXS_JPEGProcess24_26 = 17, + EXS_JPEGProcess24_26 = 18, /// JPEG Full Progression, Hierarchical (lossy, 8/12 bit), arithmetic coding - EXS_JPEGProcess25_27 = 18, + EXS_JPEGProcess25_27 = 19, /// JPEG Lossless, Hierarchical - EXS_JPEGProcess28 = 19, + EXS_JPEGProcess28 = 20, /// JPEG Lossless, Hierarchical, arithmetic coding - EXS_JPEGProcess29 = 20, + EXS_JPEGProcess29 = 21, /// JPEG Lossless, Selection Value 1 - EXS_JPEGProcess14SV1 = 21, + EXS_JPEGProcess14SV1 = 22, /// Run Length Encoding (lossless) - EXS_RLELossless = 22, + EXS_RLELossless = 23, /// Deflated Explicit VR Little Endian - EXS_DeflatedLittleEndianExplicit = 23, + EXS_DeflatedLittleEndianExplicit = 24, /// JPEG-LS (lossless) - EXS_JPEGLSLossless = 24, + EXS_JPEGLSLossless = 25, /// JPEG-LS (lossless or near-lossless mode) - EXS_JPEGLSLossy = 25, + EXS_JPEGLSLossy = 26, /// JPEG 2000 (lossless) - EXS_JPEG2000LosslessOnly = 26, + EXS_JPEG2000LosslessOnly = 27, /// JPEG 2000 (lossless or lossy) - EXS_JPEG2000 = 27, + EXS_JPEG2000 = 28, /// JPEG 2000 part 2 multi-component extensions (lossless) - EXS_JPEG2000MulticomponentLosslessOnly = 28, + EXS_JPEG2000MulticomponentLosslessOnly = 29, /// JPEG 2000 part 2 multi-component extensions (lossless or lossy) - EXS_JPEG2000Multicomponent = 29, + EXS_JPEG2000Multicomponent = 30, /// JPIP Referenced - EXS_JPIPReferenced = 30, + EXS_JPIPReferenced = 31, /// JPIP Referenced Deflate - EXS_JPIPReferencedDeflate = 31, + EXS_JPIPReferencedDeflate = 32, /// MPEG2 Main Profile at Main Level - EXS_MPEG2MainProfileAtMainLevel = 32, + EXS_MPEG2MainProfileAtMainLevel = 33, /// Fragmentable MPEG2 Main Profile / Main Level - EXS_FragmentableMPEG2MainProfileMainLevel = 33, + EXS_FragmentableMPEG2MainProfileMainLevel = 34, /// MPEG2 Main Profile at High Level - EXS_MPEG2MainProfileAtHighLevel = 34, + EXS_MPEG2MainProfileAtHighLevel = 35, /// Fragmentable MPEG2 Main Profile / High Level - EXS_FragmentableMPEG2MainProfileHighLevel = 35, + EXS_FragmentableMPEG2MainProfileHighLevel = 36, /// MPEG4 High Profile / Level 4.1 - EXS_MPEG4HighProfileLevel4_1 = 36, + EXS_MPEG4HighProfileLevel4_1 = 37, /// Fragmentable MPEG4 High Profile / Level 4.1 - EXS_FragmentableMPEG4HighProfileLevel4_1 = 37, + EXS_FragmentableMPEG4HighProfileLevel4_1 = 38, /// MPEG4 BD-compatible High Profile / Level 4.1 - EXS_MPEG4BDcompatibleHighProfileLevel4_1 = 38, + EXS_MPEG4BDcompatibleHighProfileLevel4_1 = 39, /// Fragmentable MPEG4 BD-compatible High Profile / Level 4.1 - EXS_FragmentableMPEG4BDcompatibleHighProfileLevel4_1 = 39, + EXS_FragmentableMPEG4BDcompatibleHighProfileLevel4_1 = 40, /// MPEG4 High Profile / Level 4.2 For 2D Video - EXS_MPEG4HighProfileLevel4_2_For2DVideo = 40, + EXS_MPEG4HighProfileLevel4_2_For2DVideo = 41, /// Fragmentable MPEG4 High Profile / Level 4.2 For 2D Video - EXS_FragmentableMPEG4HighProfileLevel4_2_For2DVideo = 41, + EXS_FragmentableMPEG4HighProfileLevel4_2_For2DVideo = 42, /// MPEG4 High Profile / Level 4.2 For 3D Video - EXS_MPEG4HighProfileLevel4_2_For3DVideo = 42, + EXS_MPEG4HighProfileLevel4_2_For3DVideo = 43, /// Fragmentable MPEG4 Stereo High Profile / Level 4.2 - EXS_FragmentableMPEG4HighProfileLevel4_2_For3DVideo = 43, + EXS_FragmentableMPEG4HighProfileLevel4_2_For3DVideo = 44, /// MPEG4 Stereo High Profile / Level 4.2 - EXS_MPEG4StereoHighProfileLevel4_2 = 44, + EXS_MPEG4StereoHighProfileLevel4_2 = 45, /// Fragmentable HEVC/H.265 Main Profile / Level 5.1 - EXS_FragmentableMPEG4StereoHighProfileLevel4_2 = 45, + EXS_FragmentableMPEG4StereoHighProfileLevel4_2 = 46, /// HEVC/H.265 Main Profile / Level 5.1 - EXS_HEVCMainProfileLevel5_1 = 46, + EXS_HEVCMainProfileLevel5_1 = 47, /// HEVC/H.265 Main 10 Profile / Level 5.1 - EXS_HEVCMain10ProfileLevel5_1 = 47, + EXS_HEVCMain10ProfileLevel5_1 = 48, + /// JPEG XL Lossless + EXS_JPEGXLLossless = 49, + /// JPEG XL JPEG Recompression + EXS_JPEGXLJPEGRecompression = 50, + /// JPEG XL + EXS_JPEGXL = 51, + /// High-Throughput JPEG 2000 Image Compression (Lossless Only) + EXS_HighThroughputJPEG2000LosslessOnly = 52, + /// High-Throughput JPEG 2000 with RPCL Options Image Compression (Lossless Only) + EXS_HighThroughputJPEG2000withRPCLOptionsLosslessOnly = 53, + /// High-Throughput JPEG 2000 Image Compression + EXS_HighThroughputJPEG2000 = 54, + /// JPIP HTJ2K Referenced + EXS_JPIPHTJ2KReferenced = 55, + /// JPIP HTJ2K Referenced Deflate + EXS_JPIPHTJ2KReferencedDeflate = 56, /// Private GE Little Endian Implicit with big endian pixel data - EXS_PrivateGE_LEI_WithBigEndianPixelData = 48 + EXS_PrivateGE_LEI_WithBigEndianPixelData = 57 } E_TransferSyntax; + /** enumeration of byte orders */ typedef enum { /// unknown EBO_unknown = 0, - /// little endian EBO_LittleEndian = 1, - /// big endian EBO_BigEndian = 2 } E_ByteOrder; @@ -155,20 +173,35 @@ typedef enum { typedef enum { /// implicit VR encoding EVT_Implicit = 0, - /// explicit VR encoding EVT_Explicit = 1 } E_VRType; -/** enumeration of pixel data encapsulation options +/** enumeration of pixel data encoding options */ typedef enum { - /// pixel data not encapsulated - EJE_NotEncapsulated = 0, - - /// pixel data encapsulated - EJE_Encapsulated = 1 -} E_JPEGEncapsulated; + /// unknown (e.g. invalid value) + EPE_unknown = 0, + /// pixel data in native format (uncompressed) + EPE_Native = 1, + /// pixel data encapsulated (e.g. compressed) + EPE_Encapsulated = 2, + /// pixel data referenced (e.g. using a URL) + EPE_Referenced = 3 +} E_PixelDataEncoding; + +/** enumeration of pixel data compression options + */ +typedef enum { + /// unknown (e.g. referenced pixel data) + EPC_unknown = 0, + /// pixel data is uncompressed + EPC_Uncompressed = 1, + /// pixel data is compressed in a lossless manner + EPC_LosslessCompressed = 2, + /// pixel data is compressed in a lossy manner + EPC_LossyCompressed = 3 +} E_PixelDataCompression; /** enumeration of stream compression techniques */ @@ -185,6 +218,21 @@ typedef enum #endif } E_StreamCompression; +/** validity of the transfer syntax definition + */ +typedef enum { + /// unknown (e.g. invalid value) + EXV_unknown = 0, + /// internal, not used outside DCMTK + EXV_Internal = 1, + /// defined in the DICOM standard + EXV_Standard = 2, + /// retired from the DICOM standard + EXV_Retired = 3, + /// private, non-standard definition + EXV_Private = 4 +} E_XferValidity; + /** a class that allows for a lookup of Transfer Syntax properties and readable descriptions */ @@ -196,22 +244,32 @@ public: */ DcmXfer(E_TransferSyntax xfer); - /** constructor - * @param xferName_xferID transfer syntax name as string + /** constructor. + * Performs a look-up based on the given transfer syntax name or identifier. + * @param xferName_xferID transfer syntax name or identifier (UID) */ DcmXfer(const char *xferName_xferID); - /// copy constructor + /** copy constructor + * @param newXfer transfer syntax to be copied + */ DcmXfer(const DcmXfer &newXfer); - /// destructor + /** destructor + */ ~DcmXfer(); - /// assignment operator for transfer syntax enum - DcmXfer & operator=(const E_TransferSyntax xfer); + /** assignment operator for transfer syntax enum + * @param xfer transfer syntax enum + * @return reference to this transfer syntax instance + */ + DcmXfer &operator=(const E_TransferSyntax xfer); - /// copy assignment operator - DcmXfer & operator=(const DcmXfer &newXfer); + /** copy assignment operator + * @param newXfer transfer syntax to be copied + * @return reference to this transfer syntax instance + */ + DcmXfer &operator=(const DcmXfer &newXfer); /** comparison operator * @param xfer transfer syntax enum to compare with @@ -249,79 +307,145 @@ public: return xferSyn != xfer.getXfer(); } - /// return transfer syntax enum for this transfer syntax + /** check whether transfer syntax is valid, i.e.\ not unknown or uninitialized. + * An unknown transfer syntax is usually the result of an unsuccessful look-up. + * An uninitialized transfer syntax is typically intended by the user (passing + * EXS_Unknown to the constructor of this class). + * @return true if transfer syntax is valid, false otherwise + */ + inline OFBool isValid() const + { + return xferSyn != EXS_Unknown; + } + + /** get transfer syntax enum for this transfer syntax + * @return transfer syntax enum for this transfer syntax + */ inline E_TransferSyntax getXfer() const { return xferSyn; } - /// return byte order for this transfer syntax + /** get byte order for this transfer syntax + * @return byte order for this transfer syntax + */ inline E_ByteOrder getByteOrder() const { return byteOrder; } - /// return byte order for this transfer syntax + /** get pixel data byte order for this transfer syntax + * @return pixel data byte order for this transfer syntax + */ inline E_ByteOrder getPixelDataByteOrder() const { return pixelDataByteOrder; } - /// return name string for this transfer syntax - inline const char* getXferName() const + /** get DCMTK-specific name for this transfer syntax + * @return name string for this transfer syntax, empty string if undefined + */ + inline const char *getXferName() const { return xferName; } - /// return keyword string for this transfer syntax - const char* getXferKeyword() const; + /** get DICOM keyword for this transfer syntax + * @return keyword string for this transfer syntax, empty string if undefined + */ + const char *getXferKeyword() const; - /// return UID string for this transfer syntax - inline const char* getXferID() const + /** get identifier (UID) for this transfer syntax + * @return UID string for this transfer syntax, empty string if undefined + */ + inline const char *getXferID() const { return xferID; } - /// return true if transfer syntax is little endian, false otherwise + /** check whether transfer syntax uses little endian byte order + * @return true if transfer syntax is little endian, false otherwise + */ inline OFBool isLittleEndian() const { return byteOrder == EBO_LittleEndian; } - /// return true if transfer syntax is big endian, false otherwise + /** check whether transfer syntax uses big endian byte order + * @return true if transfer syntax is big endian, false otherwise + */ inline OFBool isBigEndian() const { return byteOrder == EBO_BigEndian; } - /// return true if transfer syntax is implicit VR, false otherwise + /** check whether transfer syntax uses implicit VR encoding + * @return true if transfer syntax is implicit VR, false otherwise + */ inline OFBool isImplicitVR() const { return vrType == EVT_Implicit; } - /// return true if transfer syntax is explicit VR, false otherwise + /** check whether transfer syntax uses explicit VR encoding + * @return true if transfer syntax is explicit VR, false otherwise + */ inline OFBool isExplicitVR() const { return vrType == EVT_Explicit; } - /// return true if transfer syntax is encapsulated, false otherwise - inline OFBool isEncapsulated() const + /** check whether transfer syntax uses native format for pixel data + * @return true if transfer syntax uses native format, false otherwise + */ + inline OFBool usesNativeFormat() const { - return encapsulated == EJE_Encapsulated; + return pixelDataEncoding == EPE_Native; } - /// return true if transfer syntax is native (non-encapsulated), false otherwise - inline OFBool isNotEncapsulated() const + /** check whether transfer syntax uses encapsulated format for pixel data + * @return true if transfer syntax uses encapsulated format, false otherwise + */ + inline OFBool usesEncapsulatedFormat() const + { + return pixelDataEncoding == EPE_Encapsulated; + } + + /** check whether transfer syntax uses (0028,7FE0) Pixel Data Provider URL + * to reference pixel data + * @return true if transfer syntax uses URL reference to pixel data + */ + inline OFBool usesReferencedPixelData() const + { + return pixelDataEncoding == EPE_Referenced; + } + + /** check whether transfer syntax uses encapsulated format for pixel data + * (and whether the pixel data is compressed) + * @deprecated This method is deprecated and will be removed in the future. + * Instead, please use usesEncapsulatedFormat() and/or isPixelDataCompressed(). + * @return true if transfer syntax uses encapsulated format, false otherwise + */ + OFdeprecated inline OFBool isEncapsulated() const { - return encapsulated == EJE_NotEncapsulated; + return usesEncapsulatedFormat() && isPixelDataCompressed(); + } + + /** check whether transfer syntax uses non-encapsulated format for pixel data + * @deprecated This method is deprecated and will be removed in the future. + * Please use usesNativeFormat() or ! usesEncapsulatedFormat() instead. + * Also see usesReferencedPixelData(). + * @return true if transfer syntax uses non-encapsulated format, false otherwise + */ + OFdeprecated inline OFBool isNotEncapsulated() const + { + return usesNativeFormat(); } /** return 8-bit JPEG process ID for this transfer syntax. - * Lossy JPEG transfer syntaxes support two alternative JPEG encoding processes - 8 and 12 bits. - * When called for a non-JPEG transfer syntax, returns 0. - * @return 8-bit JPEG process ID + * Lossy JPEG transfer syntaxes support two alternative JPEG encoding processes: + * 8 and 12 bits. + * @return 8-bit JPEG process ID, or 0 for a non-JPEG transfer syntax */ inline Uint32 getJPEGProcess8Bit() const { @@ -329,38 +453,79 @@ public: } /** return 12-bit JPEG process ID for this transfer syntax. - * Lossy JPEG transfer syntaxes support two alternative JPEG encoding processes - 8 and 12 bits. - * When called for a non-JPEG transfer syntax, returns 0. - * @return 12-bit JPEG process ID + * Lossy JPEG transfer syntaxes support two alternative JPEG encoding processes: + * 8 and 12 bits. + * @return 12-bit JPEG process ID, or 0 for a non-JPEG transfer syntax */ inline Uint32 getJPEGProcess12Bit() const { return JPEGProcess12; } - /** check whether transfer syntax uses a lossy compression + /** check whether transfer syntax uses uncompressed pixel data + * @return true if transfer syntax uses uncompressed pixel data, false otherwise + */ + inline OFBool isPixelDataUncompressed() const + { + return pixelDataCompression == EPC_Uncompressed; + } + + /** check whether transfer syntax uses compressed pixel data + * @return true if transfer syntax uses compressed pixel data, false otherwise + */ + inline OFBool isPixelDataCompressed() const + { + return isPixelDataLossyCompressed() || isPixelDataLosslessCompressed(); + } + + /** check whether transfer syntax uses a lossy compression for pixel data * @return true if transfer syntax uses a lossy compression, false otherwise */ - inline OFBool isLossy() const + inline OFBool isPixelDataLossyCompressed() const { - return lossy; + return pixelDataCompression == EPC_LossyCompressed; } - /** check whether transfer syntax uses a lossless compression or no compression + /** check whether transfer syntax uses a lossless compression for pixel data * @return true if transfer syntax uses a lossless compression or no compression, * false otherwise */ - inline OFBool isLossless() const + inline OFBool isPixelDataLosslessCompressed() const + { + return pixelDataCompression == EPC_LosslessCompressed; + } + + /** check whether transfer syntax allows the encapsulated pixel stream of + * encoded pixel data to be split into one or more fragments + * @return true if transfer syntax supports fragmentable pixel data + */ + inline OFBool isPixelDataFragmentable() const + { + return usesEncapsulatedFormat() && pixelDataFragmentable; + } + + /** check whether transfer syntax is defined in the DICOM standard + * @return true if transfer syntax is standard, false otherwise + */ + inline OFBool isStandard() const { - return !lossy; + return xferValidity == EXV_Standard; } - /** check whether transfer syntax is retired + /** check whether transfer syntax has been retired from the DICOM standard * @return true if transfer syntax is retired, false otherwise */ inline OFBool isRetired() const { - return retired; + return xferValidity == EXV_Retired; + } + + /** check whether transfer syntax is a private definition + * @return true if transfer syntax is private, false otherwise + */ + inline OFBool isPrivate() const + { + return xferValidity == EXV_Private; } /** get stream compression type for this transfer syntax @@ -371,27 +536,27 @@ public: return streamCompression; } - /** check whether transfer syntax uses (0028,7FE0) Pixel Data Provider URL - * to reference pixel data - * @return true if transfer syntax uses URL reference to pixel data + /** check whether transfer syntax compresses the entire dataset. + * This does not mean that the stream compression is actually supported. + * @return true if transfer syntax compresses the dataset, false otherwise */ - inline OFBool isReferenced() const + inline OFBool isDatasetCompressed() const { - return referenced; + return streamCompression != ESC_none; } - /** check whether transfer syntax allows the encapsulated pixel stream of - * encoded pixel data to be split into one or more fragments - * @return true if transfer syntax supports fragmentable pixel data + /** check whether transfer syntax uses any kind of lossless compression, + * either for the pixel data or the entire dataset + * @return true if transfer syntax uses any kind of lossless compression, + * false otherwise */ - inline OFBool isFragmentable() const + inline OFBool isLosslessCompressed() const { - return fragmentable; + return isPixelDataLosslessCompressed() || isDatasetCompressed(); } - /** return the number of bytes needed to describe the tag, length, VR - * and any reserved fields for this transfer syntax when encoding the - * specified VR. + /** get the number of bytes needed to describe the tag, length, VR and any + * reserved fields for this transfer syntax when encoding the specified VR. * @param evr value representation to be encoded in this transfer syntax * @return number of bytes needed */ @@ -399,47 +564,43 @@ public: private: /// transfer syntax UID - const char *xferID; + const char *xferID; /// transfer syntax name - const char *xferName; + const char *xferName; /// transfer syntax enum - E_TransferSyntax xferSyn; + E_TransferSyntax xferSyn; /// transfer syntax byte order - E_ByteOrder byteOrder; + E_ByteOrder byteOrder; /// transfer syntax byte order for pixel data - E_ByteOrder pixelDataByteOrder; - - /// transfer syntax VR encoding (implicit/explicit) - E_VRType vrType; + E_ByteOrder pixelDataByteOrder; - /// transfer syntax encapsulated or native - E_JPEGEncapsulated encapsulated; - - /// 8-bit lossy JPEG process ID for this transfer syntax, 0 if not applicable - Uint32 JPEGProcess8; + /// transfer syntax VR encoding (implicit or explicit) + E_VRType vrType; - /// 12-bit lossy JPEG process ID for this transfer syntax, 0 if not applicable - Uint32 JPEGProcess12; + /// transfer syntax encoding of pixel data (e.g. native, encapsulated, referenced) + E_PixelDataEncoding pixelDataEncoding; - /// flag indicating whether this transfer syntax uses a lossy compression - OFBool lossy; + /// transfer syntax compression of pixel data (e.g. uncompressed, lossless, lossy) + E_PixelDataCompression pixelDataCompression; - /// flag indicating whether this transfer syntax has been retired from DICOM - OFBool retired; + /// flag indicating whether this transfer syntax supports fragmentable pixel data + OFBool pixelDataFragmentable; - /// transfer syntax stream compression type - E_StreamCompression streamCompression; + /// 8-bit lossy JPEG process ID for this transfer syntax, 0 if not applicable + Uint32 JPEGProcess8; - /// flag indicating whether this transfer syntax uses a pixel data URL reference - OFBool referenced; + /// 12-bit lossy JPEG process ID for this transfer syntax, 0 if not applicable + Uint32 JPEGProcess12; - /// flag indicating whether this transfer syntax supports fragmentable pixel data - OFBool fragmentable; + /// transfer syntax stream compression type (e.g. zlib) + E_StreamCompression streamCompression; + /// validity of the transfer syntax definition (e.g. standard, retired, private) + E_XferValidity xferValidity; }; /** global constant describing the byte order on the machine the application diff --git a/dcmdata/libdcxml/Makefile.dep b/dcmdata/libdcxml/Makefile.dep index 525bd328..bcf6e4ff 100644 --- a/dcmdata/libdcxml/Makefile.dep +++ b/dcmdata/libdcxml/Makefile.dep @@ -3,4 +3,61 @@ xml2dcm.o: xml2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcmxml/dcxmldf.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dcsequen.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ + ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dctag.h \ + ../include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ + ../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dcpcache.h \ + ../include/dcmtk/dcmdata/dcpixseq.h ../include/dcmtk/dcmdata/dcofsetl.h \ + ../include/dcmtk/dcmdata/dcpixel.h ../include/dcmtk/dcmdata/dcvrpobw.h \ + ../include/dcmtk/dcmdata/dcvrobow.h ../include/dcmtk/dcmdata/dcpxitem.h \ + ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dcfilefo.h \ + ../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcmetinf.h \ + ../include/dcmtk/dcmdata/dcswap.h diff --git a/dcmdata/libdcxml/xml2dcm.cc b/dcmdata/libdcxml/xml2dcm.cc index b08c9f67..6c134a3b 100644 --- a/dcmdata/libdcxml/xml2dcm.cc +++ b/dcmdata/libdcxml/xml2dcm.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2022, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -82,7 +82,7 @@ extern "C" void xml2dcm_errorFunction(void * /* ctx */, const char *msg, ...) pos = buffer.find('\n'); } -#elif defined(HAVE_VPRINTF) +#else // No vsnprint, but at least vfprintf. Output the messages directly to stderr. va_list ap; va_start(ap, msg); @@ -92,9 +92,6 @@ extern "C" void xml2dcm_errorFunction(void * /* ctx */, const char *msg, ...) vfprintf(stderr, msg, ap); #endif va_end(ap); -#else - // We can only show the most basic part of the message, this will look bad :( - printf("%s", msg); #endif } @@ -125,6 +122,12 @@ void DcmXMLParseHelper::initLibrary() /* initialize the XML library (only required for MT-safety) */ xmlInitParser(); +#if LIBXML_VERSION < 20703 + /* + * the following settings have been deprecated in newer versions of libxml, + * or they are not needed any more: + */ + /* do not substitute entities (other than the standard ones) */ xmlSubstituteEntitiesDefault(0); @@ -133,10 +136,13 @@ void DcmXMLParseHelper::initLibrary() /* enable node indenting for tree output */ xmlIndentTreeOutput = 1; + + /* remove ignorable whitespace */ xmlKeepBlanksDefault(0); /* enable libxml warnings and error messages */ xmlGetWarningsDefaultValue = 1; +#endif } @@ -218,32 +224,32 @@ OFCondition DcmXMLParseHelper::createNewElement( dcmTagKey.set(OFstatic_cast(Uint16, group), OFstatic_cast(Uint16, elem)); DcmTag dcmTag(dcmTagKey); /* convert vr string */ - DcmVR dcmVR(OFreinterpret_cast(char *, elemVR)); - DcmEVR dcmEVR = dcmVR.getEVR(); - if (dcmEVR == EVR_UNKNOWN) + const DcmVR dcmVR(OFreinterpret_cast(char *, elemVR)); + if (dcmVR.isUnknown() || dcmVR.isInvalid()) { /* check whether "vr" attribute exists */ if (elemVR == NULL) { DCMDATA_WARN("missing 'vr' attribute for " << dcmTag - << ", using unknown VR"); + << ", using the tag's VR (" << dcmTag.getVR().getVRName() << ")"); } else { - DCMDATA_WARN("invalid 'vr' attribute (" << elemVR - << ") for " << dcmTag << ", using unknown VR"); + DCMDATA_WARN("invalid 'vr' attribute (" << elemVR << ") for " << dcmTag + << ", using the tag's VR (" << dcmTag.getVR().getVRName() << ")"); + } + } else { + const DcmEVR dcmEVR = dcmVR.getEVR(); + const DcmEVR tagEVR = dcmTag.getEVR(); + /* check for correct vr */ + if ((tagEVR != dcmEVR) && (tagEVR != EVR_UNKNOWN) && + ((dcmTagKey != DCM_LUTData) || ((dcmEVR != EVR_US) && (dcmEVR != EVR_SS) && (dcmEVR != EVR_OW))) && + ((tagEVR != EVR_xs) || ((dcmEVR != EVR_US) && (dcmEVR != EVR_SS))) && + (((tagEVR != EVR_ox) && (tagEVR != EVR_px)) || ((dcmEVR != EVR_OB) && (dcmEVR != EVR_OW)))) + { + DCMDATA_WARN("element " << dcmTag << " has wrong VR (" << dcmVR.getVRName() + << "), correct is '" << dcmTag.getVR().getVRName() << "'"); } - } - /* check for correct vr */ - const DcmEVR tagEVR = dcmTag.getEVR(); - if ((tagEVR != dcmEVR) && (dcmEVR != EVR_UNKNOWN) && (tagEVR != EVR_UNKNOWN) && - ((dcmTagKey != DCM_LUTData) || ((dcmEVR != EVR_US) && (dcmEVR != EVR_SS) && (dcmEVR != EVR_OW))) && - ((tagEVR != EVR_xs) || ((dcmEVR != EVR_US) && (dcmEVR != EVR_SS))) && - (((tagEVR != EVR_ox) && (tagEVR != EVR_px)) || ((dcmEVR != EVR_OB) && (dcmEVR != EVR_OW)))) - { - DCMDATA_WARN("element " << dcmTag << " has wrong VR (" << dcmVR.getVRName() - << "), correct is " << dcmTag.getVR().getVRName()); - } - if (dcmEVR != EVR_UNKNOWN) dcmTag.setVR(dcmVR); + } /* create DICOM element */ result = DcmItem::newDicomElementWithVR(newElem, dcmTag); } else { @@ -696,8 +702,11 @@ OFCondition DcmXMLParseHelper::readXmlFile( /* * Starting with libxml version 2.7.3, the maximum length of XML element values * is limited to 10 MB. The following code disables this default limitation. + * + * Other flags are now also passed to the function instead of using global + * settings (some of them have been deprecated, see initLibrary()). */ - xmlDocPtr doc = xmlReadFile(ifname, NULL /*encoding*/, XML_PARSE_HUGE); + xmlDocPtr doc = xmlReadFile(ifname, NULL /*encoding*/, XML_PARSE_HUGE | XML_PARSE_NOBLANKS | XML_PARSE_NONET); #else xmlDocPtr doc = xmlParseFile(ifname); #endif diff --git a/dcmdata/libi2d/Makefile.dep b/dcmdata/libi2d/Makefile.dep index 7a7a70d6..6a1fa7f0 100644 --- a/dcmdata/libi2d/Makefile.dep +++ b/dcmdata/libi2d/Makefile.dep @@ -13,9 +13,9 @@ i2d.o: i2d.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -45,19 +45,19 @@ i2d.o: i2d.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcpixel.h ../include/dcmtk/dcmdata/dcvrpobw.h \ ../include/dcmtk/dcmdata/dcvrobow.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h ../include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcofsetl.h \ - ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcfilefo.h \ - ../include/dcmtk/dcmdata/dcsequen.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcfilefo.h \ + ../include/dcmtk/dcmdata/dcsequen.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcdatset.h \ ../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dcpcache.h \ ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dcuid.h \ @@ -73,8 +73,8 @@ i2dbmps.o: i2dbmps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -108,17 +108,17 @@ i2dbmps.o: i2dbmps.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/libi2d/i2define.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmdata/libi2d/i2doutpl.h -i2djpgs.o: i2djpgs.cc ../include/dcmtk/dcmdata/libi2d/i2djpgs.h \ - ../../config/include/dcmtk/config/osconfig.h \ +i2djpgs.o: i2djpgs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmdata/libi2d/i2djpgs.h \ ../include/dcmtk/dcmdata/libi2d/i2dimgs.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -126,8 +126,8 @@ i2djpgs.o: i2djpgs.cc ../include/dcmtk/dcmdata/libi2d/i2djpgs.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -161,12 +161,12 @@ i2djpgs.o: i2djpgs.cc ../include/dcmtk/dcmdata/libi2d/i2djpgs.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/libi2d/i2define.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmdata/libi2d/i2doutpl.h @@ -184,9 +184,9 @@ i2doutpl.o: i2doutpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -215,15 +215,15 @@ i2doutpl.o: i2doutpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcelem.h \ @@ -243,9 +243,9 @@ i2dplnsc.o: i2dplnsc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -278,15 +278,15 @@ i2dplnsc.o: i2dplnsc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmdata/dcpcache.h + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcpcache.h i2dplop.o: i2dplop.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/libi2d/i2dplop.h \ ../include/dcmtk/dcmdata/libi2d/i2doutpl.h \ @@ -302,9 +302,9 @@ i2dplop.o: i2dplop.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -340,15 +340,15 @@ i2dplop.o: i2dplop.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmdata/dcpcache.h + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcpcache.h i2dplsc.o: i2dplsc.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/libi2d/i2dplsc.h \ ../include/dcmtk/dcmdata/libi2d/i2doutpl.h \ @@ -364,9 +364,9 @@ i2dplsc.o: i2dplsc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -399,15 +399,15 @@ i2dplsc.o: i2dplsc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmdata/dcpcache.h + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcpcache.h i2dplvlp.o: i2dplvlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/libi2d/i2dplvlp.h \ ../include/dcmtk/dcmdata/libi2d/i2doutpl.h \ @@ -423,9 +423,9 @@ i2dplvlp.o: i2dplvlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -458,12 +458,12 @@ i2dplvlp.o: i2dplvlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmdata/dcpcache.h + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcpcache.h diff --git a/dcmdata/libi2d/i2d.cc b/dcmdata/libi2d/i2d.cc index d50d4e87..73897652 100644 --- a/dcmdata/libi2d/i2d.cc +++ b/dcmdata/libi2d/i2d.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2022, OFFIS e.V. + * Copyright (C) 2007-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -23,6 +23,7 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmdata/libi2d/i2d.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmdata/dcpxitem.h" #include "dcmtk/dcmdata/dcfilefo.h" /* for DcmFileFormat */ #include "dcmtk/dcmdata/dcdeftag.h" /* for DCM_ defines */ @@ -454,7 +455,7 @@ OFCondition Image2Dcm::incrementInstanceNumber(DcmDataset *targetDset) { instanceNumber++; char buf[100]; - sprintf(buf, "%ld", OFstatic_cast(long, instanceNumber)); + OFStandard::snprintf(buf, sizeof(buf), "%ld", OFstatic_cast(long, instanceNumber)); OFCondition cond = targetDset->putAndInsertOFStringArray(DCM_InstanceNumber, buf); if (cond.bad()) return makeOFCondition(OFM_dcmdata, 18, OF_error, "Unable write Instance Number to dataset"); @@ -607,7 +608,7 @@ OFCondition Image2Dcm::readAndInsertPixelDataFirstFrame( if (m_frameLength > 0) compressionRatio = uncompressedSize / m_frameLength; DcmXfer transport(outputTS); - if (transport.isEncapsulated()) + if (transport.usesEncapsulatedFormat()) { m_offsetList.clear(); insertEncapsulatedPixelDataFirstFrame(dset, pixData, m_frameLength, outputTS); @@ -686,7 +687,7 @@ OFCondition Image2Dcm::readAndInsertPixelDataFirstFrame( if ( m_pixelAspectRatioH != m_pixelAspectRatioV ) { char buf[200]; - int err = sprintf(buf, "%u\\%u", m_pixelAspectRatioV, m_pixelAspectRatioH); + int err = OFStandard::snprintf(buf, sizeof(buf), "%u\\%u", m_pixelAspectRatioV, m_pixelAspectRatioH); if (err == -1) return EC_IllegalCall; cond = dset->putAndInsertOFStringArray(DCM_PixelAspectRatio, buf); if (cond.bad()) @@ -785,7 +786,7 @@ OFCondition Image2Dcm::readAndInsertPixelDataNextFrame( cond = makeOFCondition(OFM_dcmdata, 18, OF_error, "Image2Dcm: value of vertical PixelAspectRatio not equal for all frames of the multi-frame image"); return cond; } - if ((!transport.isEncapsulated()) && (next_frameLength != m_frameLength)) + if (transport.isPixelDataUncompressed() && (next_frameLength != m_frameLength)) { // in the case of uncompressed images, all frames must have exactly the same size. // for compressed images, where we store the compressed bitstream as a pixel item, this does not matter. @@ -803,7 +804,7 @@ OFCondition Image2Dcm::readAndInsertPixelDataNextFrame( // We will divide this by the number of frames later. m_compressionRatio += compressionRatio; - if (transport.isEncapsulated()) + if (transport.usesEncapsulatedFormat()) { cond = insertEncapsulatedPixelDataNextFrame(pixData, next_frameLength); delete[] pixData; diff --git a/dcmdata/libi2d/i2djpgs.cc b/dcmdata/libi2d/i2djpgs.cc index fb5baa13..e9e9c5c7 100644 --- a/dcmdata/libi2d/i2djpgs.cc +++ b/dcmdata/libi2d/i2djpgs.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2022, OFFIS e.V. + * Copyright (C) 2007-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -19,8 +19,10 @@ * */ -#include "dcmtk/dcmdata/libi2d/i2djpgs.h" #include "dcmtk/config/osconfig.h" + +#include "dcmtk/dcmdata/libi2d/i2djpgs.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmdata/dcerror.h" #include "dcmtk/dcmdata/libi2d/i2doutpl.h" @@ -845,7 +847,7 @@ OFString I2DJpegSource::jpegMarkerToString(const E_JPGMARKER& marker, const OFBo } OFString msg = "UNKNOWN MARKER :"; char hexNo[10]; - sprintf(hexNo, "%x2", marker); + OFStandard::snprintf(hexNo, sizeof(hexNo), "%x2", marker); msg += hexNo; return msg; } diff --git a/dcmdata/libsrc/Makefile.dep b/dcmdata/libsrc/Makefile.dep index 64bdf2de..92b7a993 100644 --- a/dcmdata/libsrc/Makefile.dep +++ b/dcmdata/libsrc/Makefile.dep @@ -13,9 +13,9 @@ cmdlnarg.o: cmdlnarg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -43,7 +43,6 @@ cmdlnarg.o: cmdlnarg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h dcbytstr.o: dcbytstr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ @@ -62,7 +61,6 @@ dcbytstr.o: dcbytstr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \ ../include/dcmtk/dcmdata/dcdefine.h \ @@ -96,8 +94,10 @@ dcbytstr.o: dcbytstr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcmatch.h + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dcmatch.h dcchrstr.o: dcchrstr.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcspchrs.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \ @@ -107,8 +107,8 @@ dcchrstr.o: dcchrstr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -123,7 +123,6 @@ dcchrstr.o: dcchrstr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -151,8 +150,9 @@ dcchrstr.o: dcchrstr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcdeftag.h \ @@ -167,8 +167,8 @@ dccodec.o: dccodec.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -203,6 +203,7 @@ dccodec.o: dccodec.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -210,7 +211,6 @@ dccodec.o: dccodec.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcobject.h ../include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ @@ -238,7 +238,6 @@ dcdatset.o: dcdatset.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \ ../include/dcmtk/dcmdata/dcdefine.h \ @@ -274,16 +273,18 @@ dcdatset.o: dcdatset.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcvrus.h \ - ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcpixel.h \ - ../include/dcmtk/dcmdata/dcvrpobw.h ../include/dcmtk/dcmdata/dcvrobow.h \ - ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dcistrma.h \ - ../include/dcmtk/dcmdata/dcistrmf.h ../include/dcmtk/dcmdata/dcistrms.h \ - ../include/dcmtk/dcmdata/dcistrmb.h ../include/dcmtk/dcmdata/dcostrma.h \ - ../include/dcmtk/dcmdata/dcostrmf.h ../include/dcmtk/dcmdata/dcostrms.h \ - ../include/dcmtk/dcmdata/dcwcache.h ../include/dcmtk/dcmdata/dcfcache.h + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcpcache.h \ + ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcelem.h \ + ../include/dcmtk/dcmdata/dcpixel.h ../include/dcmtk/dcmdata/dcvrpobw.h \ + ../include/dcmtk/dcmdata/dcvrobow.h ../include/dcmtk/dcmdata/dcdeftag.h \ + ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcistrmf.h \ + ../include/dcmtk/dcmdata/dcistrms.h ../include/dcmtk/dcmdata/dcistrmb.h \ + ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcostrmf.h \ + ../include/dcmtk/dcmdata/dcostrms.h ../include/dcmtk/dcmdata/dcwcache.h \ + ../include/dcmtk/dcmdata/dcfcache.h dcdatutl.o: dcdatutl.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdatutl.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ @@ -323,7 +324,7 @@ dcdatutl.o: dcdatutl.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -333,15 +334,15 @@ dcdatutl.o: dcdatutl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../include/dcmtk/dcmdata/dcobject.h ../include/dcmtk/dcmdata/dcerror.h \ - ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcdeftag.h \ - ../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcfilefo.h \ - ../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcelem.h + ../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcitem.h \ + ../include/dcmtk/dcmdata/dcobject.h ../include/dcmtk/dcmdata/dcerror.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcpcache.h \ + ../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcsequen.h \ + ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcdatset.h dcddirif.o: dcddirif.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcddirif.h ../include/dcmtk/dcmdata/dcdicdir.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ @@ -352,12 +353,12 @@ dcddirif.o: dcddirif.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -365,7 +366,6 @@ dcddirif.o: dcddirif.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -394,8 +394,9 @@ dcddirif.o: dcddirif.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcsequen.h \ @@ -437,7 +438,6 @@ dcdicdir.o: dcdicdir.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -466,8 +466,9 @@ dcdicdir.o: dcdicdir.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcsequen.h \ @@ -503,7 +504,6 @@ dcdicent.o: dcdicent.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h dcdict.o: dcdict.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdict.h \ @@ -513,8 +513,8 @@ dcdict.o: dcdict.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dchashdi.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcdicent.h \ @@ -555,7 +555,6 @@ dcdict.o: dcdict.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/offile.h dcdictbi.o: dcdictbi.cc ../include/dcmtk/dcmdata/dcdict.h \ @@ -566,8 +565,8 @@ dcdictbi.o: dcdictbi.cc ../include/dcmtk/dcmdata/dcdict.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dchashdi.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmdata/dcdefine.h @@ -588,7 +587,6 @@ dcdirrec.o: dcdirrec.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -621,8 +619,9 @@ dcdirrec.o: dcdirrec.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcsequen.h \ @@ -667,8 +666,8 @@ dcelem.o: dcelem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -676,7 +675,6 @@ dcelem.o: dcelem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \ ../include/dcmtk/dcmdata/dcdefine.h \ @@ -710,9 +708,10 @@ dcelem.o: dcelem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcswap.h \ - ../include/dcmtk/dcmdata/dcistrma.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../include/dcmtk/dcmdata/dcostrma.h ../include/dcmtk/dcmdata/dcfcache.h \ ../include/dcmtk/dcmdata/dcwcache.h ../include/dcmtk/dcmdata/dcitem.h \ @@ -740,7 +739,6 @@ dcencdoc.o: dcencdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -771,8 +769,9 @@ dcencdoc.o: dcencdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \ @@ -799,8 +798,8 @@ dcerror.o: dcerror.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -825,7 +824,6 @@ dcfilefo.o: dcfilefo.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -856,8 +854,9 @@ dcfilefo.o: dcfilefo.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \ @@ -894,7 +893,6 @@ dcfilter.o: dcfilter.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -925,8 +923,9 @@ dcfilter.o: dcfilter.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \ @@ -983,9 +982,9 @@ dcistrma.o: dcistrma.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -995,7 +994,6 @@ dcistrma.o: dcistrma.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1025,6 +1023,7 @@ dcistrma.o: dcistrma.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrmz.h ../include/dcmtk/dcmdata/dcerror.h dcistrmb.o: dcistrmb.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcistrmb.h ../include/dcmtk/dcmdata/dcistrma.h \ @@ -1033,9 +1032,9 @@ dcistrmb.o: dcistrmb.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1045,7 +1044,6 @@ dcistrmb.o: dcistrmb.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1075,6 +1073,7 @@ dcistrmb.o: dcistrmb.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcerror.h dcistrmf.o: dcistrmf.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcistrmf.h ../include/dcmtk/dcmdata/dcistrma.h \ @@ -1083,9 +1082,9 @@ dcistrmf.o: dcistrmf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1095,7 +1094,6 @@ dcistrmf.o: dcistrmf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1125,6 +1123,7 @@ dcistrmf.o: dcistrmf.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrmb.h ../include/dcmtk/dcmdata/dcerror.h dcistrms.o: dcistrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcistrms.h ../include/dcmtk/dcmdata/dcistrma.h \ @@ -1133,9 +1132,9 @@ dcistrms.o: dcistrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1145,7 +1144,6 @@ dcistrms.o: dcistrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1175,6 +1173,7 @@ dcistrms.o: dcistrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrmb.h ../include/dcmtk/dcmdata/dcerror.h dcistrmz.o: dcistrmz.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcistrmz.h ../include/dcmtk/dcmdata/dcistrma.h \ @@ -1183,9 +1182,9 @@ dcistrmz.o: dcistrmz.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1195,7 +1194,6 @@ dcistrmz.o: dcistrmz.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1225,6 +1223,7 @@ dcistrmz.o: dcistrmz.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcerror.h dcitem.o: dcitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcitem.h \ @@ -1234,8 +1233,8 @@ dcitem.o: dcitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -1245,7 +1244,6 @@ dcitem.o: dcitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1276,8 +1274,9 @@ dcitem.o: dcitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcdeftag.h \ @@ -1369,8 +1368,9 @@ dclist.o: dclist.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h dcmatch.o: dcmatch.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1382,12 +1382,12 @@ dcmatch.o: dcmatch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../include/dcmtk/dcmdata/dcmatch.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ @@ -1419,6 +1419,7 @@ dcmatch.o: dcmatch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h \ @@ -1446,7 +1447,6 @@ dcmetinf.o: dcmetinf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1479,8 +1479,9 @@ dcmetinf.o: dcmetinf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcvrul.h \ @@ -1495,8 +1496,8 @@ dcobject.o: dcobject.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1504,7 +1505,6 @@ dcobject.o: dcobject.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \ ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1538,9 +1538,11 @@ dcobject.o: dcobject.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcdeftag.h \ - ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcistrma.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dcswap.h \ + ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../include/dcmtk/dcmdata/dcostrma.h dcostrma.o: dcostrma.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1550,9 +1552,9 @@ dcostrma.o: dcostrma.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1586,11 +1588,11 @@ dcostrma.o: dcostrma.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcostrmz.h ../include/dcmtk/dcmdata/dcerror.h dcostrmb.o: dcostrmb.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1600,9 +1602,9 @@ dcostrmb.o: dcostrmb.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1636,11 +1638,11 @@ dcostrmb.o: dcostrmb.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcerror.h dcostrmf.o: dcostrmf.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1650,9 +1652,9 @@ dcostrmf.o: dcostrmf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1686,11 +1688,11 @@ dcostrmf.o: dcostrmf.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h @@ -1701,9 +1703,9 @@ dcostrms.o: dcostrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1737,11 +1739,11 @@ dcostrms.o: dcostrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h @@ -1752,9 +1754,9 @@ dcostrmz.o: dcostrmz.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1788,11 +1790,11 @@ dcostrmz.o: dcostrmz.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcerror.h dcpath.o: dcpath.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1804,8 +1806,8 @@ dcpath.o: dcpath.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -1815,7 +1817,6 @@ dcpath.o: dcpath.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1846,8 +1847,9 @@ dcpath.o: dcpath.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcsequen.h \ @@ -1859,9 +1861,9 @@ dcpcache.o: dcpcache.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1900,8 +1902,9 @@ dcpcache.o: dcpcache.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h dcpixel.o: dcpixel.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcpixel.h ../include/dcmtk/dcmdata/dcvrpobw.h \ ../include/dcmtk/dcmdata/dcvrobow.h ../include/dcmtk/dcmdata/dcelem.h \ @@ -1913,8 +1916,8 @@ dcpixel.o: dcpixel.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1948,8 +1951,9 @@ dcpixel.o: dcpixel.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -1958,7 +1962,6 @@ dcpixel.o: dcpixel.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcofsetl.h \ ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dcitem.h \ @@ -1985,7 +1988,6 @@ dcpixseq.o: dcpixseq.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2016,8 +2018,9 @@ dcpixseq.o: dcpixseq.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcpxitem.h \ @@ -2068,15 +2071,15 @@ dcpxitem.o: dcpxitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcofsetl.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmdata/dcswap.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -2090,8 +2093,8 @@ dcrleccd.o: dcrleccd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2126,15 +2129,15 @@ dcrleccd.o: dcrleccd.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcrlecp.h ../include/dcmtk/dcmdata/dcrledec.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcdatset.h \ ../include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcobject.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2153,8 +2156,8 @@ dcrlecce.o: dcrlecce.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2189,6 +2192,7 @@ dcrlecce.o: dcrlecce.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmdata/dcrleenc.h ../include/dcmtk/dcmdata/dcrlecp.h \ ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dctagkey.h \ @@ -2197,7 +2201,6 @@ dcrlecce.o: dcrlecce.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dctag.h \ @@ -2213,8 +2216,8 @@ dcrlecp.o: dcrlecp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2249,6 +2252,7 @@ dcrlecp.o: dcrlecp.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h dcrledrg.o: dcrledrg.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcrledrg.h \ @@ -2257,10 +2261,10 @@ dcrledrg.o: dcrledrg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2294,6 +2298,7 @@ dcrledrg.o: dcrledrg.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmdata/dcrleccd.h ../include/dcmtk/dcmdata/dcrlecp.h dcrleerg.o: dcrleerg.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2303,10 +2308,10 @@ dcrleerg.o: dcrleerg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2340,6 +2345,7 @@ dcrleerg.o: dcrleerg.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmdata/dcrlecce.h ../include/dcmtk/dcmdata/dcrlecp.h dcrlerp.o: dcrlerp.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2353,8 +2359,8 @@ dcrlerp.o: dcrlerp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2388,8 +2394,9 @@ dcrlerp.o: dcrlerp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h @@ -2410,7 +2417,6 @@ dcsequen.o: dcsequen.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \ ../include/dcmtk/dcmdata/dcdefine.h \ @@ -2446,15 +2452,16 @@ dcsequen.o: dcsequen.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmdata/dcdirrec.h ../include/dcmtk/dcmdata/dcfilefo.h \ - ../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcpxitem.h \ - ../include/dcmtk/dcmdata/dcvrobow.h ../include/dcmtk/dcmdata/dcofsetl.h \ - ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcmetinf.h \ - ../include/dcmtk/dcmdata/dcdeftag.h ../include/dcmtk/dcmdata/dcistrma.h \ - ../include/dcmtk/dcmdata/dcostrma.h + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcitem.h \ + ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcdirrec.h \ + ../include/dcmtk/dcmdata/dcfilefo.h ../include/dcmtk/dcmdata/dcdatset.h \ + ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcvrobow.h \ + ../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcswap.h \ + ../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcdeftag.h \ + ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcostrma.h dcspchrs.o: dcspchrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcspchrs.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \ @@ -2464,8 +2471,8 @@ dcspchrs.o: dcspchrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2480,7 +2487,6 @@ dcspchrs.o: dcspchrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2508,8 +2514,9 @@ dcspchrs.o: dcspchrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcbytstr.h \ @@ -2533,8 +2540,8 @@ dcswap.o: dcswap.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2568,7 +2575,8 @@ dcswap.o: dcswap.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h dctag.o: dctag.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctag.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ @@ -2577,8 +2585,8 @@ dctag.o: dctag.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2595,7 +2603,6 @@ dctag.o: dctag.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h dctagkey.o: dctagkey.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -2617,7 +2624,6 @@ dctagkey.o: dctagkey.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h dctypes.o: dctypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctypes.h \ @@ -2633,9 +2639,9 @@ dctypes.o: dctypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -2699,7 +2705,6 @@ dcuid.o: dcuid.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofsockad.h dcvr.o: dcvr.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2711,8 +2716,8 @@ dcvr.o: dcvr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -2754,9 +2759,9 @@ dcvrae.o: dcvrae.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -2785,6 +2790,7 @@ dcvrae.o: dcvrae.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcmatch.h @@ -2803,9 +2809,9 @@ dcvras.o: dcvras.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -2834,12 +2840,11 @@ dcvras.o: dcvras.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h dcvrat.o: dcvrat.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../include/dcmtk/dcmdata/dcvrat.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2848,7 +2853,9 @@ dcvrat.o: dcvrat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2882,10 +2889,16 @@ dcvrat.o: dcvrat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcjson.h + ../include/dcmtk/dcmdata/dcstack.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmdata/dcjson.h dcvrcs.o: dcvrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrcs.h ../include/dcmtk/dcmdata/dcbytstr.h \ ../include/dcmtk/dcmdata/dctypes.h \ @@ -2901,9 +2914,9 @@ dcvrcs.o: dcvrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -2932,6 +2945,7 @@ dcvrcs.o: dcvrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcmatch.h @@ -2950,9 +2964,9 @@ dcvrda.o: dcvrda.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -2981,6 +2995,7 @@ dcvrda.o: dcvrda.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h \ @@ -2990,7 +3005,6 @@ dcvrda.o: dcvrda.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcmatch.h dcvrds.o: dcvrds.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3001,7 +3015,6 @@ dcvrds.o: dcvrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -3011,6 +3024,7 @@ dcvrds.o: dcvrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -3039,13 +3053,13 @@ dcvrds.o: dcvrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcjson.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h dcvrdt.o: dcvrdt.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrdt.h ../include/dcmtk/dcmdata/dcbytstr.h \ @@ -3062,9 +3076,9 @@ dcvrdt.o: dcvrdt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -3093,6 +3107,7 @@ dcvrdt.o: dcvrdt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h \ @@ -3104,7 +3119,6 @@ dcvrdt.o: dcvrdt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h dcvrfd.o: dcvrfd.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrfd.h ../include/dcmtk/dcmdata/dcelem.h \ @@ -3116,8 +3130,8 @@ dcvrfd.o: dcvrfd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3151,14 +3165,14 @@ dcvrfd.o: dcvrfd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofmath.h \ ../include/dcmtk/dcmdata/dcjson.h @@ -3172,8 +3186,8 @@ dcvrfl.o: dcvrfl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3207,14 +3221,14 @@ dcvrfl.o: dcvrfl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofmath.h \ ../include/dcmtk/dcmdata/dcjson.h @@ -3233,9 +3247,9 @@ dcvris.o: dcvris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -3264,6 +3278,7 @@ dcvris.o: dcvris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcjson.h @@ -3316,6 +3331,7 @@ dcvrlo.o: dcvrlo.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h dcvrlt.o: dcvrlt.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrlt.h ../include/dcmtk/dcmdata/dcchrstr.h \ @@ -3332,9 +3348,9 @@ dcvrlt.o: dcvrlt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -3363,39 +3379,29 @@ dcvrlt.o: dcvrlt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h dcvrobow.o: dcvrobow.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmdata/dcvrobow.h ../include/dcmtk/dcmdata/dcelem.h \ + ../include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../ofstd/include/dcmtk/ofstd/ofuuid.h \ - ../../ofstd/include/dcmtk/ofstd/ofrand.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \ - ../include/dcmtk/dcmdata/dcdefine.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../include/dcmtk/dcmdata/dcvrobow.h ../include/dcmtk/dcmdata/dcelem.h \ - ../include/dcmtk/dcmdata/dcobject.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ + ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -3410,6 +3416,7 @@ dcvrobow.o: dcvrobow.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -3421,8 +3428,19 @@ dcvrobow.o: dcvrobow.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcdeftag.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../include/dcmtk/dcmdata/dcstack.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../ofstd/include/dcmtk/ofstd/ofuuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofrand.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dcdeftag.h \ ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcuid.h dcvrod.o: dcvrod.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofuuid.h \ @@ -3431,8 +3449,8 @@ dcvrod.o: dcvrod.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofrand.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -3443,7 +3461,6 @@ dcvrod.o: dcvrod.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcvrod.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ @@ -3475,8 +3492,9 @@ dcvrod.o: dcvrod.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcswap.h \ ../include/dcmtk/dcmdata/dcjson.h @@ -3487,8 +3505,8 @@ dcvrof.o: dcvrof.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofrand.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -3499,7 +3517,6 @@ dcvrof.o: dcvrof.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcjson.h ../include/dcmtk/dcmdata/dctagkey.h \ ../include/dcmtk/dcmdata/dcdefine.h \ @@ -3534,8 +3551,10 @@ dcvrof.o: dcvrof.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcswap.h + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dcswap.h dcvrol.o: dcvrol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofuuid.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -3543,8 +3562,8 @@ dcvrol.o: dcvrol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofrand.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -3555,7 +3574,6 @@ dcvrol.o: dcvrol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/dcvrul.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ @@ -3587,8 +3605,9 @@ dcvrol.o: dcvrol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcjson.h \ ../include/dcmtk/dcmdata/dcswap.h @@ -3599,8 +3618,8 @@ dcvrov.o: dcvrov.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofrand.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -3611,7 +3630,6 @@ dcvrov.o: dcvrov.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcvrov.h ../include/dcmtk/dcmdata/dcvruv.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ @@ -3643,8 +3661,9 @@ dcvrov.o: dcvrov.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcjson.h \ ../include/dcmtk/dcmdata/dcswap.h @@ -3697,11 +3716,11 @@ dcvrpn.o: dcvrpn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h dcvrpobw.o: dcvrpobw.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrpobw.h ../include/dcmtk/dcmdata/dcvrobow.h \ @@ -3713,8 +3732,8 @@ dcvrpobw.o: dcvrpobw.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3748,8 +3767,9 @@ dcvrpobw.o: dcvrpobw.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h dcvrsh.o: dcvrsh.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3767,9 +3787,9 @@ dcvrsh.o: dcvrsh.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -3798,12 +3818,11 @@ dcvrsh.o: dcvrsh.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcjson.h dcvrsl.o: dcvrsl.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../include/dcmtk/dcmdata/dcvrsl.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -3812,7 +3831,9 @@ dcvrsl.o: dcvrsl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3846,13 +3867,16 @@ dcvrsl.o: dcvrsl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../include/dcmtk/dcmdata/dcstack.h + ../include/dcmtk/dcmdata/dcstack.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h dcvrss.o: dcvrss.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../include/dcmtk/dcmdata/dcvrss.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -3861,7 +3885,9 @@ dcvrss.o: dcvrss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3895,10 +3921,15 @@ dcvrss.o: dcvrss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../include/dcmtk/dcmdata/dcstack.h + ../include/dcmtk/dcmdata/dcstack.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h dcvrst.o: dcvrst.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrst.h ../include/dcmtk/dcmdata/dcchrstr.h \ ../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dctypes.h \ @@ -3914,9 +3945,9 @@ dcvrst.o: dcvrst.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -3945,6 +3976,7 @@ dcvrst.o: dcvrst.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h @@ -3958,8 +3990,8 @@ dcvrsv.o: dcvrsv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3993,10 +4025,16 @@ dcvrsv.o: dcvrsv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcjson.h + ../include/dcmtk/dcmdata/dcstack.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmdata/dcjson.h dcvrtm.o: dcvrtm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrtm.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -4011,9 +4049,9 @@ dcvrtm.o: dcvrtm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -4042,6 +4080,7 @@ dcvrtm.o: dcvrtm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h \ @@ -4049,7 +4088,6 @@ dcvrtm.o: dcvrtm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcmatch.h dcvruc.o: dcvruc.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -4066,9 +4104,9 @@ dcvruc.o: dcvruc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -4098,6 +4136,7 @@ dcvruc.o: dcvruc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h @@ -4118,7 +4157,6 @@ dcvrui.o: dcvrui.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcvrui.h ../include/dcmtk/dcmdata/dcbytstr.h \ ../include/dcmtk/dcmdata/dctypes.h \ @@ -4151,13 +4189,12 @@ dcvrui.o: dcvrui.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcuid.h dcvrul.o: dcvrul.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -4166,7 +4203,9 @@ dcvrul.o: dcvrul.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4200,10 +4239,15 @@ dcvrul.o: dcvrul.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../include/dcmtk/dcmdata/dcstack.h + ../include/dcmtk/dcmdata/dcstack.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h dcvrulup.o: dcvrulup.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrulup.h ../include/dcmtk/dcmdata/dcvrul.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ @@ -4214,8 +4258,8 @@ dcvrulup.o: dcvrulup.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4249,8 +4293,9 @@ dcvrulup.o: dcvrulup.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h dcvrur.o: dcvrur.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -4267,9 +4312,9 @@ dcvrur.o: dcvrur.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -4298,12 +4343,11 @@ dcvrur.o: dcvrur.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcmatch.h dcvrus.o: dcvrus.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -4312,7 +4356,9 @@ dcvrus.o: dcvrus.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4346,10 +4392,15 @@ dcvrus.o: dcvrus.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../include/dcmtk/dcmdata/dcstack.h + ../include/dcmtk/dcmdata/dcstack.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h dcvrut.o: dcvrut.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrut.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -4364,9 +4415,9 @@ dcvrut.o: dcvrut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -4396,6 +4447,7 @@ dcvrut.o: dcvrut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h @@ -4409,8 +4461,8 @@ dcvruv.o: dcvruv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4444,10 +4496,16 @@ dcvruv.o: dcvruv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcjson.h + ../include/dcmtk/dcmdata/dcstack.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmdata/dcjson.h dcwcache.o: dcwcache.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcwcache.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -4455,10 +4513,10 @@ dcwcache.o: dcwcache.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dcfcache.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -4468,7 +4526,6 @@ dcwcache.o: dcwcache.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dctypes.h \ @@ -4499,6 +4556,7 @@ dcwcache.o: dcwcache.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h \ @@ -4518,9 +4576,9 @@ dcxfer.o: dcxfer.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -4541,6 +4599,7 @@ dcxfer.o: dcxfer.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcuid.h mkdeftag.o: mkdeftag.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdict.h \ @@ -4550,8 +4609,8 @@ mkdeftag.o: mkdeftag.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dchashdi.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/cmdlnarg.h \ @@ -4566,7 +4625,6 @@ mkdeftag.o: mkdeftag.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcdicent.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4580,8 +4638,8 @@ mkdictbi.o: mkdictbi.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dchashdi.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/cmdlnarg.h \ @@ -4596,7 +4654,6 @@ mkdictbi.o: mkdictbi.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dcdicent.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4624,7 +4681,6 @@ vrscan.o: vrscan.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ diff --git a/dcmdata/libsrc/cmdlnarg.cc b/dcmdata/libsrc/cmdlnarg.cc index c3f93043..56b17205 100644 --- a/dcmdata/libsrc/cmdlnarg.cc +++ b/dcmdata/libsrc/cmdlnarg.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2021, OFFIS e.V. + * Copyright (C) 1996-2023, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -26,57 +26,6 @@ #include "dcmtk/dcmdata/dctypes.h" #include "dcmtk/ofstd/ofconsol.h" -/* -** prepareCmdLineArgs -** -** Should do nothing on Unix OS's. -** On other OS's (e.g. MacOS with CW6) allows command line arguments -** to be input from the standard input. -*/ - -#ifdef HAVE_EMPTY_ARGC_ARGV - -#include "dcmtk/ofstd/ofstream.h" -#include "dcmtk/ofstd/ofstd.h" - -void prepareCmdLineArgs(int& argc, char* argv[], - const char* progname) -{ - const int bufsize = 2024; - char buf[bufsize]; - char arg[1024]; - - size_t len = strlen(progname)+1; - argv[0] = new char[len]; - OFStandard::strlcpy(argv[0], progname, len); - argc = 1; - - ofConsole.lockCout() << "CmdLineArgs-> "; - ofConsole.unlockCout(); - cin.getline(buf, bufsize); - - istringstream is(buf); - - arg[0] = '\0'; - while (is.good()) { - is >> arg; - if (strlen(arg) > 0) { - size_t len = strlen(arg)+1; - argv[argc] = new char[len]; - OFStandard::strlcpy(argv[argc], arg, len); - argc++; - } - arg[0] = '\0'; - } -} - -#else // HAVE_EMPTY_ARGC_ARGV - -// #define INCLUDE_CSTDLIB -// #define INCLUDE_CSTDIO -// #define INCLUDE_CSTRING -// #include "dcmtk/ofstd/ofstdinc.h" - #ifdef HAVE_IO_H #include #endif @@ -130,4 +79,3 @@ void prepareCmdLineArgs(int& argc, wchar_t** /* argv */, #endif // HAVE_WINDOWS_H -#endif // HAVE_EMPTY_ARGC_ARGV diff --git a/dcmdata/libsrc/dcbytstr.cc b/dcmdata/libsrc/dcbytstr.cc index 2af7e94d..ae4a9b63 100644 --- a/dcmdata/libsrc/dcbytstr.cc +++ b/dcmdata/libsrc/dcbytstr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -544,7 +544,7 @@ OFCondition DcmByteString::putOFStringAtPos(const OFString& stringVal, // Otherwise replace existing old value (length > 1) else { - str = str.replace(leftPos+1, rightPos - leftPos, stringVal); + str = str.replace(leftPos+1, rightPos - leftPos - 1, stringVal); } // Finally re-insert all values include new value result = putOFStringArray( str ); @@ -756,8 +756,10 @@ OFCondition DcmByteString::verify(const OFBool autocorrect) << " bytes from the end of value " << vmNum); /* erase excessive part of the string component */ value.erase(posStart + maxLength, excess); - /* correct the position end marker */ - posEnd -= excess; + /* correct the position of the end marker by the number of bytes + we just cut off, if the end of the string is not already reached */ + if (posEnd != OFString_npos) + posEnd -= excess; } } posStart = (posEnd == OFString_npos) ? posEnd : posEnd + 1; diff --git a/dcmdata/libsrc/dcchrstr.cc b/dcmdata/libsrc/dcchrstr.cc index 598cccef..90c66fd4 100644 --- a/dcmdata/libsrc/dcchrstr.cc +++ b/dcmdata/libsrc/dcchrstr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -167,7 +167,6 @@ OFCondition DcmCharString::convertCharacterSet(DcmSpecificCharacterSet &converte if (status.good() && (str != NULL) && (len > 0)) { OFString resultStr; - // convert string to selected character string and replace the element value status = converter.convertString(str, len, resultStr, getDelimiterChars()); if (status.good()) { diff --git a/dcmdata/libsrc/dcdatset.cc b/dcmdata/libsrc/dcdatset.cc index 9a75f568..4ceb4a30 100644 --- a/dcmdata/libsrc/dcdatset.cc +++ b/dcmdata/libsrc/dcdatset.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -707,27 +707,30 @@ OFCondition DcmDataset::saveFile(const OFFilename &fileName, if (!fileName.isEmpty()) { DcmWriteCache wcache; - DcmOutputStream *fileStream; + DcmOutputStream *outStream = NULL; + DcmOutputFileStream *fileStream = NULL; if (fileName.isStandardStream()) { /* use stdout stream */ - fileStream = new DcmStdoutStream(fileName); + outStream = new DcmStdoutStream(fileName); } else { /* open file for output */ fileStream = new DcmOutputFileStream(fileName); + outStream = fileStream; } /* check stream status */ - l_error = fileStream->status(); + l_error = outStream->status(); if (l_error.good()) { /* write data to file */ transferInit(); - l_error = write(*fileStream, writeXfer, encodingType, &wcache, groupLength, padEncoding, padLength, subPadLength); + l_error = write(*outStream, writeXfer, encodingType, &wcache, groupLength, padEncoding, padLength, subPadLength); transferEnd(); } - delete fileStream; + if (l_error.good() && fileStream) l_error = fileStream->fclose(); + delete outStream; } return l_error; } @@ -751,7 +754,7 @@ OFCondition DcmDataset::chooseRepresentation(const E_TransferSyntax repType, // check if we are attempting to compress but the image contains // floating point or double floating point pixel data, which our codecs don't support. if ((tagExists(DCM_FloatPixelData, OFTrue) || tagExists(DCM_DoubleFloatPixelData, OFTrue)) && - (fromrep.isEncapsulated() || torep.isEncapsulated())) + (fromrep.isPixelDataCompressed() || torep.isPixelDataCompressed())) { DCMDATA_ERROR("DcmDataset: Unable to compress/decompress floating point pixel data, cannot change representation"); l_error = EC_CannotChangeRepresentation; @@ -763,7 +766,7 @@ OFCondition DcmDataset::chooseRepresentation(const E_TransferSyntax repType, // transfer syntax also uses a pixel data URL. if (tagExists(DCM_PixelDataProviderURL, OFTrue)) { - if (! torep.isReferenced()) + if (! torep.usesReferencedPixelData()) { DCMDATA_ERROR("DcmDataset: Unable to compress image containing a pixel data provider URL, cannot change representation"); l_error = EC_CannotChangeRepresentation; @@ -791,11 +794,11 @@ OFCondition DcmDataset::chooseRepresentation(const E_TransferSyntax repType, // If there are no pixel data elements in the dataset, issue a warning if (! pixelDataEncountered) { - if (torep.isEncapsulated() && ! fromrep.isEncapsulated()) + if (torep.isPixelDataCompressed() && fromrep.isPixelDataUncompressed()) { DCMDATA_WARN("DcmDataset: No pixel data present, nothing to compress"); } - if (! torep.isEncapsulated() && fromrep.isEncapsulated()) + if (torep.isPixelDataUncompressed() && fromrep.isPixelDataCompressed()) { DCMDATA_WARN("DcmDataset: No pixel data present, nothing to decompress"); } @@ -886,7 +889,7 @@ OFCondition DcmDataset::doPostReadChecks() if (findAndGetElement(DCM_PixelData, pixData).good()) { Uint32 valueLength = pixData->getLengthField(); - if (xf.isEncapsulated()) + if (xf.usesEncapsulatedFormat()) { if (valueLength != DCM_UndefinedLength) { @@ -897,8 +900,8 @@ OFCondition DcmDataset::doPostReadChecks() /* encapsulated pixel data (always encoded with undefined */ /* length). Print and return an error. */ DCMDATA_ERROR("Found explicit length Pixel Data in top level " - << "dataset with transfer syntax " << xf.getXferName() - << ": Only undefined length permitted"); + << "dataset with transfer syntax " << xf.getXferName() + << ": Only undefined length permitted"); result = EC_PixelDataExplLengthIllegal; } else @@ -907,8 +910,8 @@ OFCondition DcmDataset::doPostReadChecks() /* and behave like as we have the same case as for an */ /* icon image, which is always uncompressed (see above). */ DCMDATA_WARN("Found explicit length Pixel Data in top level " - << "dataset with transfer syntax " << xf.getXferName() - << ": Only undefined length permitted (ignored on explicit request)"); + << "dataset with transfer syntax " << xf.getXferName() + << ": Only undefined length permitted (ignored on explicit request)"); } } } diff --git a/dcmdata/libsrc/dcddirif.cc b/dcmdata/libsrc/dcddirif.cc index 3ff1057d..b1d30015 100644 --- a/dcmdata/libsrc/dcddirif.cc +++ b/dcmdata/libsrc/dcddirif.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2023, OFFIS e.V. + * Copyright (C) 2002-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -287,7 +287,7 @@ static OFString &constructTagName(DcmObject *object, if (compare(tagName, DcmTag_ERROR_TagName)) { char buffer[32]; - sprintf(buffer, "(0x%04x,0x%04x)", tag.getGTag(), tag.getETag()); + OFStandard::snprintf(buffer, sizeof(buffer), "(0x%04x,0x%04x)", tag.getGTag(), tag.getETag()); tagName = buffer; } } else @@ -433,7 +433,7 @@ static OFBool compareItems(DcmItem *item1, OFBool first = OFTrue; DcmStack stack1, stack2; /* check whether attributes are equal */ - while (item1->nextObject(stack1, first).good() && item2->nextObject(stack2, first).good()) + while (item1->nextObject(stack1, first).good() && item2->nextObject(stack2, first).good() && stack1.top()->isElement() && stack2.top()->isElement()) { if (!compareAttributes(OFstatic_cast(DcmElement *, stack1.top()), OFstatic_cast(DcmElement *, stack2.top()), fromSequence, i++, reason)) break; @@ -699,7 +699,8 @@ static E_DirRecType sopClassToRecordType(const OFString &sopClass) compare(sopClass, UID_SimplifiedAdultEchoSRStorage) || compare(sopClass, UID_PatientRadiationDoseSRStorage) || compare(sopClass, UID_PerformedImagingAgentAdministrationSRStorage) || - compare(sopClass, UID_PlannedImagingAgentAdministrationSRStorage)) + compare(sopClass, UID_PlannedImagingAgentAdministrationSRStorage) || + compare(sopClass, UID_WaveformAnnotationSRStorage)) { result = ERT_SRDocument; } @@ -719,7 +720,8 @@ static E_DirRecType sopClassToRecordType(const OFString &sopClass) { result = ERT_Presentation; } - else if (compare(sopClass, UID_TwelveLeadECGWaveformStorage) || + else if (compare(sopClass, UID_DRAFT_WaveformStorage) || + compare(sopClass, UID_TwelveLeadECGWaveformStorage) || compare(sopClass, UID_GeneralECGWaveformStorage) || compare(sopClass, UID_AmbulatoryECGWaveformStorage) || compare(sopClass, UID_HemodynamicWaveformStorage) || @@ -805,6 +807,7 @@ static E_DirRecType sopClassToRecordType(const OFString &sopClass) else if (compare(sopClass, UID_ImplantAssemblyTemplateStorage)) result = ERT_ImplantAssy; else if (compare(sopClass, UID_RTBeamsDeliveryInstructionStorage) || + compare(sopClass, UID_DRAFT_RTBeamsDeliveryInstructionStorage) || compare(sopClass, UID_RTBrachyApplicationSetupDeliveryInstructionStorage) || compare(sopClass, UID_RTPatientPositionAcquisitionInstructionStorage)) { @@ -1619,161 +1622,30 @@ OFCondition DicomDirInterface::checkSOPClassAndXfer(DcmMetaInfo *metainfo, expectedTransferSyntax = UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax; else if (ApplicationProfile == AP_GeneralPurposeBDMPEG4StereoHPatLV42) expectedTransferSyntax = UID_MPEG4StereoHighProfileLevel4_2TransferSyntax; - /* is it an image ? */ - for (int i = 0; i < numberOfDcmImageSOPClassUIDs && !found; i++) - found = compare(mediaSOPClassUID, dcmImageSOPClassUIDs[i]); - /* is it one of the RT SOP Classes? */ - if (!found) + /* check for Storage SOP Classes that should not be accepted: */ + if (!( + /* unsupported/outdated directory record definitions */ + compare(mediaSOPClassUID, UID_DRAFT_SRTextStorage) || + compare(mediaSOPClassUID, UID_DRAFT_SRAudioStorage) || + compare(mediaSOPClassUID, UID_DRAFT_SRDetailStorage) || + compare(mediaSOPClassUID, UID_DRAFT_SRComprehensiveStorage) + )) { - found = compare(mediaSOPClassUID, UID_RTDoseStorage) || - compare(mediaSOPClassUID, UID_RTStructureSetStorage) || - compare(mediaSOPClassUID, UID_RTPlanStorage) || - compare(mediaSOPClassUID, UID_RTTreatmentSummaryRecordStorage) || - compare(mediaSOPClassUID, UID_RTBeamsTreatmentRecordStorage) || - compare(mediaSOPClassUID, UID_RTBeamsDeliveryInstructionStorage) || - compare(mediaSOPClassUID, UID_RTBrachyTreatmentRecordStorage) || - compare(mediaSOPClassUID, UID_RTBrachyApplicationSetupDeliveryInstructionStorage) || - compare(mediaSOPClassUID, UID_RTIonPlanStorage) || - compare(mediaSOPClassUID, UID_RTIonBeamsTreatmentRecordStorage) || - compare(mediaSOPClassUID, UID_RTPhysicianIntentStorage) || - compare(mediaSOPClassUID, UID_RTSegmentAnnotationStorage) || - compare(mediaSOPClassUID, UID_RTRadiationSetStorage) || - compare(mediaSOPClassUID, UID_CArmPhotonElectronRadiationStorage); - } - /* is it one of the structured reporting SOP Classes? */ - if (!found) - { - found = compare(mediaSOPClassUID, UID_BasicTextSRStorage) || - compare(mediaSOPClassUID, UID_EnhancedSRStorage) || - compare(mediaSOPClassUID, UID_ComprehensiveSRStorage) || - compare(mediaSOPClassUID, UID_Comprehensive3DSRStorage) || - compare(mediaSOPClassUID, UID_ExtensibleSRStorage) || - compare(mediaSOPClassUID, UID_ProcedureLogStorage) || - compare(mediaSOPClassUID, UID_MammographyCADSRStorage) || - compare(mediaSOPClassUID, UID_ChestCADSRStorage) || - compare(mediaSOPClassUID, UID_ColonCADSRStorage) || - compare(mediaSOPClassUID, UID_XRayRadiationDoseSRStorage) || - compare(mediaSOPClassUID, UID_EnhancedXRayRadiationDoseSRStorage) || - compare(mediaSOPClassUID, UID_RadiopharmaceuticalRadiationDoseSRStorage) || - compare(mediaSOPClassUID, UID_SpectaclePrescriptionReportStorage) || - compare(mediaSOPClassUID, UID_MacularGridThicknessAndVolumeReportStorage) || - compare(mediaSOPClassUID, UID_ImplantationPlanSRStorage) || - compare(mediaSOPClassUID, UID_AcquisitionContextSRStorage) || - compare(mediaSOPClassUID, UID_SimplifiedAdultEchoSRStorage) || - compare(mediaSOPClassUID, UID_PatientRadiationDoseSRStorage) || - compare(mediaSOPClassUID, UID_PerformedImagingAgentAdministrationSRStorage) || - compare(mediaSOPClassUID, UID_PlannedImagingAgentAdministrationSRStorage); - } - /* is it one of the waveform SOP Classes? */ - if (!found) - { - found = compare(mediaSOPClassUID, UID_TwelveLeadECGWaveformStorage) || - compare(mediaSOPClassUID, UID_GeneralECGWaveformStorage) || - compare(mediaSOPClassUID, UID_AmbulatoryECGWaveformStorage) || - compare(mediaSOPClassUID, UID_HemodynamicWaveformStorage) || - compare(mediaSOPClassUID, UID_CardiacElectrophysiologyWaveformStorage) || - compare(mediaSOPClassUID, UID_BasicVoiceAudioWaveformStorage) || - compare(mediaSOPClassUID, UID_GeneralAudioWaveformStorage) || - compare(mediaSOPClassUID, UID_ArterialPulseWaveformStorage) || - compare(mediaSOPClassUID, UID_RespiratoryWaveformStorage) || - compare(mediaSOPClassUID, UID_MultichannelRespiratoryWaveformStorage) || - compare(mediaSOPClassUID, UID_RoutineScalpElectroencephalogramWaveformStorage) || - compare(mediaSOPClassUID, UID_ElectromyogramWaveformStorage) || - compare(mediaSOPClassUID, UID_ElectrooculogramWaveformStorage) || - compare(mediaSOPClassUID, UID_SleepElectroencephalogramWaveformStorage) || - compare(mediaSOPClassUID, UID_BodyPositionWaveformStorage) || - compare(mediaSOPClassUID, UID_General32BitECGWaveformStorage); - } - /* is it one of the presentation state SOP Classes? */ - if (!found) - { - found = compare(mediaSOPClassUID, UID_GrayscaleSoftcopyPresentationStateStorage) || - compare(mediaSOPClassUID, UID_ColorSoftcopyPresentationStateStorage) || - compare(mediaSOPClassUID, UID_PseudoColorSoftcopyPresentationStateStorage) || - compare(mediaSOPClassUID, UID_BlendingSoftcopyPresentationStateStorage) || - compare(mediaSOPClassUID, UID_XAXRFGrayscaleSoftcopyPresentationStateStorage) || - compare(mediaSOPClassUID, UID_GrayscalePlanarMPRVolumetricPresentationStateStorage) || - compare(mediaSOPClassUID, UID_CompositingPlanarMPRVolumetricPresentationStateStorage) || - compare(mediaSOPClassUID, UID_AdvancedBlendingPresentationStateStorage) || - compare(mediaSOPClassUID, UID_VolumeRenderingVolumetricPresentationStateStorage) || - compare(mediaSOPClassUID, UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage) || - compare(mediaSOPClassUID, UID_MultipleVolumeRenderingVolumetricPresentationStateStorage) || - compare(mediaSOPClassUID, UID_VariableModalityLUTSoftcopyPresentationStateStorage); - } - /* is it one of the encapsulated document SOP Classes? */ - if (!found) - { - found = compare(mediaSOPClassUID, UID_EncapsulatedPDFStorage) || - compare(mediaSOPClassUID, UID_EncapsulatedCDAStorage) || - compare(mediaSOPClassUID, UID_EncapsulatedSTLStorage); - } - /* is it one of the spatial registration SOP Classes? */ - if (!found) - { - found = compare(mediaSOPClassUID, UID_SpatialRegistrationStorage) || - compare(mediaSOPClassUID, UID_SpatialFiducialsStorage) || - compare(mediaSOPClassUID, UID_DeformableSpatialRegistrationStorage); - } - /* is it one of the segmentation SOP Classes? */ - if (!found) - { - found = compare(mediaSOPClassUID, UID_SegmentationStorage) || // will be mapped to IMAGE record - compare(mediaSOPClassUID, UID_SurfaceSegmentationStorage); - } - /* is it one of the measurement SOP Classes? */ - if (!found) - { - found = compare(mediaSOPClassUID, UID_LensometryMeasurementsStorage) || - compare(mediaSOPClassUID, UID_AutorefractionMeasurementsStorage) || - compare(mediaSOPClassUID, UID_KeratometryMeasurementsStorage) || - compare(mediaSOPClassUID, UID_SubjectiveRefractionMeasurementsStorage) || - compare(mediaSOPClassUID, UID_VisualAcuityMeasurementsStorage) || - compare(mediaSOPClassUID, UID_OphthalmicAxialMeasurementsStorage) || - compare(mediaSOPClassUID, UID_IntraocularLensCalculationsStorage) || - compare(mediaSOPClassUID, UID_OphthalmicVisualFieldStaticPerimetryMeasurementsStorage); - } - /* is it one of the implant SOP Classes? */ - if (!found) - { - found = compare(mediaSOPClassUID, UID_GenericImplantTemplateStorage) || - compare(mediaSOPClassUID, UID_ImplantAssemblyTemplateStorage) || - compare(mediaSOPClassUID, UID_ImplantTemplateGroupStorage); - } - /* is it one of the surface scan SOP Classes? */ - if (!found) - { - found = compare(mediaSOPClassUID, UID_SurfaceScanMeshStorage) || - compare(mediaSOPClassUID, UID_SurfaceScanPointCloudStorage); - } - /* is it any other SOP class? */ - if (!found) - { - found = compare(mediaSOPClassUID, UID_KeyObjectSelectionDocumentStorage) || - compare(mediaSOPClassUID, UID_RawDataStorage) || - compare(mediaSOPClassUID, UID_MRSpectroscopyStorage) || - compare(mediaSOPClassUID, UID_RealWorldValueMappingStorage) || - compare(mediaSOPClassUID, UID_HangingProtocolStorage) || - compare(mediaSOPClassUID, UID_BasicStructuredDisplayStorage) || - compare(mediaSOPClassUID, UID_StereometricRelationshipStorage) || - compare(mediaSOPClassUID, UID_ColorPaletteStorage) || - compare(mediaSOPClassUID, UID_TractographyResultsStorage) || - compare(mediaSOPClassUID, UID_ContentAssessmentResultsStorage) || - compare(mediaSOPClassUID, UID_MicroscopyBulkSimpleAnnotationsStorage) || - compare(mediaSOPClassUID, UID_InventoryStorage); - } - /* the following SOP classes have been retired with previous editions of the DICOM standard */ - if (!found && RetiredSOPClassSupport) - { - found = compare(mediaSOPClassUID, UID_RETIRED_StoredPrintStorage) || - compare(mediaSOPClassUID, UID_RETIRED_StandaloneOverlayStorage) || - compare(mediaSOPClassUID, UID_RETIRED_StandaloneCurveStorage) || - compare(mediaSOPClassUID, UID_RETIRED_StandaloneModalityLUTStorage) || - compare(mediaSOPClassUID, UID_RETIRED_StandaloneVOILUTStorage) || - compare(mediaSOPClassUID, UID_RETIRED_StandalonePETCurveStorage); - if (!found && (ApplicationProfile == AP_GeneralPurpose)) + /* check for retired SOP Classes that might also be accepted */ + if (compare(mediaSOPClassUID, UID_RETIRED_DetachedPatientManagementMetaSOPClass)) { - /* a detached patient mgmt sop class is also ok */ - found = compare(mediaSOPClassUID, UID_RETIRED_DetachedPatientManagementSOPClass); + /* detached patient management is only accepted in certain cases */ + found = RetiredSOPClassSupport && (ApplicationProfile == AP_GeneralPurpose); + } else { + /* otherwise: is it one of the known Storage SOP Classes? */ + DcmUIDProperties uidProperties; + if (dcmGetPropertiesOfUID(mediaSOPClassUID.c_str(), uidProperties)) + found = (uidProperties.uidType == EUT_SOPClass) && (uidProperties.subType == EUST_Storage); + /* check whether a directory record type is defined or not */ + found &= ((uidProperties.otherFlags & UID_PROP_NO_DIR_RECORD) != UID_PROP_NO_DIR_RECORD); + /* check whether retired SOP Classes should be supported or not */ + if (found && !RetiredSOPClassSupport) + found = (uidProperties.validity != EUV_Retired); } } } @@ -5463,7 +5335,7 @@ const char *DicomDirInterface::getProfileName(const E_ApplicationProfile profile switch(profile) { case AP_GeneralPurpose: - result = "STD-GEN-CD/DVD-RAM"; + result = "STD-GEN-CD/DVD-RAM/BD"; break; case AP_GeneralPurposeDVDJPEG: result = "STD-GEN-DVD-JPEG"; @@ -5586,7 +5458,7 @@ OFBool DicomDirInterface::warnAboutInconsistentAttributes(DcmDirectoryRecord *re OFBool first = OFTrue; DcmElement *delem = NULL; /* iterate over all record elements */ - while (record->nextObject(stack, first).good() && (result || !abortCheck)) + while (record->nextObject(stack, first).good() && (result || !abortCheck) && stack.top()->isElement()) { delem = OFstatic_cast(DcmElement *, stack.top()); if ((delem != NULL) && (delem->getLength() > 0)) @@ -6065,10 +5937,11 @@ void DicomDirInterface::setDefaultValue(DcmDirectoryRecord *record, /* use at most 10 chars from prefix */ OFStandard::strlcpy(buffer, prefix, 10 + 1); /* append a 6 digits number */ - sprintf(buffer + strlen(buffer), "%06lu", number); + size_t txlen = strlen(buffer); + OFStandard::snprintf(buffer + txlen, sizeof(buffer) - txlen, "%06lu", number); } else { /* create a number string only */ - sprintf(buffer, "%lu", number); + OFStandard::snprintf(buffer, sizeof(buffer), "%lu", number); } record->putAndInsertString(key, buffer); /* create warning message */ diff --git a/dcmdata/libsrc/dcdicdir.cc b/dcmdata/libsrc/dcdicdir.cc index 4475a6f2..82c79fc7 100644 --- a/dcmdata/libsrc/dcdicdir.cc +++ b/dcmdata/libsrc/dcdicdir.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,16 +21,6 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ - -#ifdef HAVE_UNIX_H -#if defined(macintosh) && defined (HAVE_WINSOCK_H) -/* unix.h defines timeval incompatible with winsock.h */ -#define timeval _UNWANTED_timeval -#endif -#include /* for unlink() under Metrowerks C++ (Macintosh) */ -#undef timeval -#endif - #include "dcmtk/ofstd/ofstream.h" #include "dcmtk/ofstd/ofdefine.h" #include "dcmtk/dcmdata/dcdicdir.h" @@ -1051,6 +1041,7 @@ OFCondition DcmDicomDir::write(const E_TransferSyntax oxfer, } // outStream is closed here + errorFlag = outStream->fclose(); delete outStream; OFFilename backupFilename; diff --git a/dcmdata/libsrc/dcdicent.cc b/dcmdata/libsrc/dcdicent.cc index 07e52211..c2f51dd0 100644 --- a/dcmdata/libsrc/dcdicent.cc +++ b/dcmdata/libsrc/dcdicent.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -136,16 +136,16 @@ STD_NAMESPACE ostream& operator<<(STD_NAMESPACE ostream& s, const DcmDictEntry& char tagBuf[16]; - sprintf(tagBuf, "(%04x", e.getGroup()); + OFStandard::snprintf(tagBuf, sizeof(tagBuf), "(%04x", e.getGroup()); s << tagBuf; if (e.isRepeatingGroup()) { - sprintf(tagBuf, "-%04x", e.getUpperGroup()); + OFStandard::snprintf(tagBuf, sizeof(tagBuf), "-%04x", e.getUpperGroup()); s << tagBuf; } - sprintf(tagBuf, ",%04x", e.getElement()); + OFStandard::snprintf(tagBuf, sizeof(tagBuf), ",%04x", e.getElement()); s << tagBuf; if (e.isRepeatingElement()) { - sprintf(tagBuf, "-%04x", e.getUpperElement()); + OFStandard::snprintf(tagBuf, sizeof(tagBuf), "-%04x", e.getUpperElement()); s << tagBuf; } s << ")"; diff --git a/dcmdata/libsrc/dcdict.cc b/dcmdata/libsrc/dcdict.cc index cc4cf907..0390c911 100644 --- a/dcmdata/libsrc/dcdict.cc +++ b/dcmdata/libsrc/dcdict.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -142,7 +142,7 @@ stripWhitespace(char* s) unsigned char *t; unsigned char *p; t=p=OFreinterpret_cast(unsigned char *, s); - while ((c = *t++) != '\0') if (!isspace(c)) *p++ = c; + while ((c = *t++) != '\0') if (!OFStandard::isspace(c)) *p++ = c; *p = '\0'; } } @@ -154,7 +154,7 @@ stripTrailingWhitespace(char* s) for ( char* it = s + strlen(s) - 1; - it >= s && isspace(OFstatic_cast(unsigned char, *it)); + it >= s && OFStandard::isspace(*it); *it-- = '\0' ); return s; @@ -169,7 +169,7 @@ stripLeadingWhitespace(char* s) unsigned char *t; unsigned char *p; t=p=OFreinterpret_cast(unsigned char *, s); - while (isspace(*t)) t++; + while (OFStandard::isspace(*t)) t++; while ((c = *t++) != '\0') *p++ = c; *p = '\0'; } @@ -379,7 +379,7 @@ onlyWhitespace(const char* s) int charsFound = OFFalse; for (size_t i = 0; (!charsFound) && (i < len); ++i) { - charsFound = !isspace(OFstatic_cast(unsigned char, s[i])); + charsFound = !OFStandard::isspace(s[i]); } return (!charsFound)? (OFTrue) : (OFFalse); } @@ -403,7 +403,7 @@ isaCommentLine(const char* s) OFBool isComment = OFFalse; /* assumption */ size_t len = strlen(s); size_t i = 0; - for (i = 0; i < len && isspace(OFstatic_cast(unsigned char, s[i])); ++i) /*loop*/; + for (i = 0; i < len && OFStandard::isspace(s[i]); ++i) /*loop*/; isComment = (s[i] == DCM_DICT_COMMENT_CHAR); return isComment; } @@ -575,15 +575,6 @@ DcmDataDictionary::loadDictionary(const char* fileName, OFBool errorIfAbsent) } } -#ifndef HAVE_GETENV - -static -char* getenv() { - return NULL; -} - -#endif /* !HAVE_GETENV */ - OFBool @@ -670,7 +661,7 @@ DcmDataDictionary::addEntry(DcmDictEntry* e) { if (e->isRepeating()) { /* - * Find the best position in repeating tag list + * Find the best position in repeating groups data dictionary. * Existing entries are replaced if the ranges and repetition * constraints are the same. * If a range represents a subset of an existing range then it @@ -747,14 +738,13 @@ DcmDataDictionary::findEntry(const DcmDictEntry& entry) const const DcmDictEntry* DcmDataDictionary::findEntry(const DcmTagKey& key, const char *privCreator) const { - /* search first in the normal tags dictionary and if not found - * then search in the repeating tags list. + /* first, search in the normal tags data dictionary (including private tags) */ const DcmDictEntry* e = NULL; - e = hashDict.get(key, privCreator); + if (e == NULL) { - /* search in the repeating tags dictionary */ + /* then, search in the repeating groups data dictionary */ OFBool found = OFFalse; DcmDictEntryListConstIterator iter(repDict.begin()); DcmDictEntryListConstIterator last(repDict.end()); @@ -774,8 +764,7 @@ DcmDataDictionary::findEntry(const char *name) const const DcmDictEntry* e = NULL; const DcmDictEntry* ePrivate = NULL; - /* search first in the normal tags dictionary and if not found - * then search in the repeating tags list. + /* first, search in the normal tags data dictionary */ DcmHashDictIterator iter; for (iter = hashDict.begin(); (e == NULL) && (iter != hashDict.end()); ++iter) { @@ -790,8 +779,9 @@ DcmDataDictionary::findEntry(const char *name) const } } - if (e == NULL) { - /* search in the repeating tags dictionary */ + /* if not found ... */ + if (e == NULL) { + /* search in the repeating groups data dictionary */ OFBool found = OFFalse; DcmDictEntryListConstIterator iter2(repDict.begin()); DcmDictEntryListConstIterator last(repDict.end()); diff --git a/dcmdata/libsrc/dcdictbi.cc b/dcmdata/libsrc/dcdictbi.cc index 0466d17c..2bf239d6 100644 --- a/dcmdata/libsrc/dcdictbi.cc +++ b/dcmdata/libsrc/dcdictbi.cc @@ -4,7 +4,7 @@ ** ** User: joergr ** Host: thinkpad2 -** Date: 2023-07-14 12:18:43 +** Date: 2024-11-16 10:42:05 ** Prog: /home/joergr/Source/dcmtk-full/public/dcmdata/libsrc/mkdictbi ** ** From: ../data/dicom.dic @@ -488,6 +488,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_UI, "OriginalSpecializedSOPClassUID", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0008, 0x001c, 0x0008, 0x001c, + EVR_CS, "SyntheticData", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0008, 0x0020, 0x0008, 0x0020, EVR_DA, "StudyDate", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -1108,6 +1112,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "ReferencedPerformedProcedureStepSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0008, 0x1112, 0x0008, 0x1112, + EVR_SQ, "ReferencedInstancesBySOPClassSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0008, 0x1115, 0x0008, 0x1115, EVR_SQ, "ReferencedSeriesSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -1148,6 +1156,14 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "ReferencedRealWorldValueMappingInstanceSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0008, 0x114c, 0x0008, 0x114c, + EVR_SQ, "ReferencedSegmentationSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0008, 0x114d, 0x0008, 0x114d, + EVR_SQ, "ReferencedSurfaceSegmentationSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0008, 0x1150, 0x0008, 0x1150, EVR_UI, "ReferencedSOPClassUID", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -1216,6 +1232,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "OtherFailuresSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0008, 0x119b, 0x0008, 0x119b, + EVR_SQ, "FailedStudySequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0008, 0x1200, 0x0008, 0x1200, EVR_SQ, "StudiesContainingOtherReferencedInstancesSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -2490,6 +2510,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SH, "EthnicGroup", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0010, 0x2161, 0x0010, 0x2161, + EVR_SQ, "EthnicGroupCodeSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0010, 0x2180, 0x0010, 0x2180, EVR_SH, "Occupation", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -3000,6 +3024,14 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_LO, "ClinicalTrialProtocolName", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0012, 0x0022, 0x0012, 0x0022, + EVR_LO, "IssuerOfClinicalTrialProtocolID", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0012, 0x0023, 0x0012, 0x0023, + EVR_SQ, "OtherClinicalTrialProtocolIDsSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0012, 0x0030, 0x0012, 0x0030, EVR_LO, "ClinicalTrialSiteID", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -3008,14 +3040,26 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_LO, "ClinicalTrialSiteName", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0012, 0x0032, 0x0012, 0x0032, + EVR_LO, "IssuerOfClinicalTrialSiteID", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0012, 0x0040, 0x0012, 0x0040, EVR_LO, "ClinicalTrialSubjectID", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0012, 0x0041, 0x0012, 0x0041, + EVR_LO, "IssuerOfClinicalTrialSubjectID", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0012, 0x0042, 0x0012, 0x0042, EVR_LO, "ClinicalTrialSubjectReadingID", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0012, 0x0043, 0x0012, 0x0043, + EVR_LO, "IssuerOfClinicalTrialSubjectReadingID", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0012, 0x0050, 0x0012, 0x0050, EVR_LO, "ClinicalTrialTimePointID", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -3036,6 +3080,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "ClinicalTrialTimePointTypeCodeSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0012, 0x0055, 0x0012, 0x0055, + EVR_LO, "IssuerOfClinicalTrialTimePointID", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0012, 0x0060, 0x0012, 0x0060, EVR_LO, "ClinicalTrialCoordinatingCenterName", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -3060,6 +3108,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_LO, "ClinicalTrialSeriesDescription", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0012, 0x0073, 0x0012, 0x0073, + EVR_LO, "IssuerOfClinicalTrialSeriesID", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0012, 0x0081, 0x0012, 0x0081, EVR_LO, "ClinicalTrialProtocolEthicsCommitteeName", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -4034,6 +4086,374 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_DS, "RadiusAlongWedge", 1, 1, "DICOM/DICONDE", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0014, 0x6001, 0x0014, 0x6001, + EVR_SQ, "ThermalCameraSettingsSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6002, 0x0014, 0x6002, + EVR_DS, "AcquisitionFrameRate", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6003, 0x0014, 0x6003, + EVR_DS, "IntegrationTime", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6004, 0x0014, 0x6004, + EVR_DS, "NumberOfCalibrationFrames", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6005, 0x0014, 0x6005, + EVR_DS, "NumberOfRowsInFullAcquisitionImage", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6006, 0x0014, 0x6006, + EVR_DS, "NumberOfColumnsInFullAcquisitionImage", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6007, 0x0014, 0x6007, + EVR_SQ, "ThermalSourceSettingsSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6008, 0x0014, 0x6008, + EVR_DS, "SourceHorizontalPitch", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6009, 0x0014, 0x6009, + EVR_DS, "SourceVerticalPitch", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x600a, 0x0014, 0x600a, + EVR_DS, "SourceHorizontalScanSpeed", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x600b, 0x0014, 0x600b, + EVR_DS, "ThermalSourceModulationFrequency", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x600c, 0x0014, 0x600c, + EVR_SQ, "InductionSourceSettingSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x600d, 0x0014, 0x600d, + EVR_DS, "CoilFrequency", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x600e, 0x0014, 0x600e, + EVR_DS, "CurrentAmplitudeAcrossCoil", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x600f, 0x0014, 0x600f, + EVR_SQ, "FlashSourceSettingSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6010, 0x0014, 0x6010, + EVR_DS, "FlashDuration", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6011, 0x0014, 0x6011, + EVR_DS, "FlashFrameNumber", 1, -1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6012, 0x0014, 0x6012, + EVR_SQ, "LaserSourceSettingSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6013, 0x0014, 0x6013, + EVR_DS, "HorizontalLaserSpotDimension", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6014, 0x0014, 0x6014, + EVR_DS, "VerticalLaserSpotDimension", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6015, 0x0014, 0x6015, + EVR_DS, "LaserWavelength", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6016, 0x0014, 0x6016, + EVR_DS, "LaserPower", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6017, 0x0014, 0x6017, + EVR_SQ, "ForcedGasSettingSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6018, 0x0014, 0x6018, + EVR_SQ, "VibrationSourceSettingSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6019, 0x0014, 0x6019, + EVR_DS, "VibrationExcitationFrequency", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x601a, 0x0014, 0x601a, + EVR_DS, "VibrationExcitationVoltage", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x601b, 0x0014, 0x601b, + EVR_CS, "ThermographyDataCaptureMethod", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x601c, 0x0014, 0x601c, + EVR_CS, "ThermalTechnique", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x601d, 0x0014, 0x601d, + EVR_SQ, "ThermalCameraCoreSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x601e, 0x0014, 0x601e, + EVR_CS, "DetectorWavelengthRange", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x601f, 0x0014, 0x601f, + EVR_CS, "ThermalCameraCalibrationType", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6020, 0x0014, 0x6020, + EVR_UV, "AcquisitionImageCounter", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6021, 0x0014, 0x6021, + EVR_DS, "FrontPanelTemperature", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6022, 0x0014, 0x6022, + EVR_DS, "AirGapTemperature", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6023, 0x0014, 0x6023, + EVR_DS, "VerticalPixelSize", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6024, 0x0014, 0x6024, + EVR_DS, "HorizontalPixelSize", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6025, 0x0014, 0x6025, + EVR_ST, "DataStreamingProtocol", 1, -1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6026, 0x0014, 0x6026, + EVR_SQ, "LensSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6027, 0x0014, 0x6027, + EVR_DS, "FieldOfView", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6028, 0x0014, 0x6028, + EVR_LO, "LensFilterManufacturer", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6029, 0x0014, 0x6029, + EVR_CS, "CutoffFilterType", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x602a, 0x0014, 0x602a, + EVR_DS, "LensFilterCutOffWavelength", 1, -1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x602b, 0x0014, 0x602b, + EVR_SQ, "ThermalSourceSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x602c, 0x0014, 0x602c, + EVR_CS, "ThermalSourceMotionState", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x602d, 0x0014, 0x602d, + EVR_CS, "ThermalSourceMotionType", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x602e, 0x0014, 0x602e, + EVR_SQ, "InductionHeatingSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x602f, 0x0014, 0x602f, + EVR_ST, "CoilConfigurationID", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6030, 0x0014, 0x6030, + EVR_DS, "NumberOfTurnsInCoil", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6031, 0x0014, 0x6031, + EVR_CS, "ShapeOfIndividualTurn", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6032, 0x0014, 0x6032, + EVR_DS, "SizeOfIndividualTurn", 1, -1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6033, 0x0014, 0x6033, + EVR_DS, "DistanceBetweenTurns", 1, -1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6034, 0x0014, 0x6034, + EVR_SQ, "FlashHeatingSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6035, 0x0014, 0x6035, + EVR_DS, "NumberOfLamps", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6036, 0x0014, 0x6036, + EVR_ST, "FlashSynchronizationProtocol", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6037, 0x0014, 0x6037, + EVR_CS, "FlashModificationStatus", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6038, 0x0014, 0x6038, + EVR_SQ, "LaserHeatingSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6039, 0x0014, 0x6039, + EVR_LO, "LaserManufacturer", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x603a, 0x0014, 0x603a, + EVR_LO, "LaserModelNumber", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x603b, 0x0014, 0x603b, + EVR_ST, "LaserTypeDescription", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x603c, 0x0014, 0x603c, + EVR_SQ, "ForcedGasHeatingSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x603d, 0x0014, 0x603d, + EVR_LO, "GasUsedForHeatingCoolingPart", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x603e, 0x0014, 0x603e, + EVR_SQ, "VibrationSonicHeatingSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x603f, 0x0014, 0x603f, + EVR_LO, "ProbeManufacturer", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6040, 0x0014, 0x6040, + EVR_LO, "ProbeModelNumber", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6041, 0x0014, 0x6041, + EVR_DS, "ApertureSize", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6042, 0x0014, 0x6042, + EVR_DS, "ProbeResonantFrequency", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6043, 0x0014, 0x6043, + EVR_UT, "HeatSourceDescription", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6044, 0x0014, 0x6044, + EVR_CS, "SurfacePreparationWithOpticalCoating", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6045, 0x0014, 0x6045, + EVR_ST, "OpticalCoatingType", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6046, 0x0014, 0x6046, + EVR_DS, "ThermalConductivityOfExposedSurface", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6047, 0x0014, 0x6047, + EVR_DS, "MaterialDensity", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6048, 0x0014, 0x6048, + EVR_DS, "SpecificHeatOfInspectionSurface", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6049, 0x0014, 0x6049, + EVR_DS, "EmissivityOfInspectionSurface", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x604a, 0x0014, 0x604a, + EVR_CS, "ElectromagneticClassificationOfInspectionSurface", 1, -1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x604c, 0x0014, 0x604c, + EVR_DS, "MovingWindowSize", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x604d, 0x0014, 0x604d, + EVR_CS, "MovingWindowType", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x604e, 0x0014, 0x604e, + EVR_DS, "MovingWindowWeights", 1, -1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x604f, 0x0014, 0x604f, + EVR_DS, "MovingWindowPitch", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6050, 0x0014, 0x6050, + EVR_CS, "MovingWindowPaddingScheme", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6051, 0x0014, 0x6051, + EVR_DS, "MovingWindowPaddingLength", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6052, 0x0014, 0x6052, + EVR_SQ, "SpatialFilteringParametersSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6053, 0x0014, 0x6053, + EVR_CS, "SpatialFilteringScheme", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6056, 0x0014, 0x6056, + EVR_DS, "HorizontalMovingWindowSize", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6057, 0x0014, 0x6057, + EVR_DS, "VerticalMovingWindowSize", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6059, 0x0014, 0x6059, + EVR_SQ, "PolynomialFittingSequence", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x605a, 0x0014, 0x605a, + EVR_CS, "FittingDataType", 1, -1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x605b, 0x0014, 0x605b, + EVR_CS, "OperationOnTimeAxisBeforeFitting", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x605c, 0x0014, 0x605c, + EVR_CS, "OperationOnPixelIntensityBeforeFitting", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x605d, 0x0014, 0x605d, + EVR_DS, "OrderOfPolynomial", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x605e, 0x0014, 0x605e, + EVR_CS, "IndependentVariableForPolynomialFit", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x605f, 0x0014, 0x605f, + EVR_DS, "PolynomialCoefficients", 1, -1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0014, 0x6060, 0x0014, 0x6060, + EVR_CS, "ThermographyPixelDataUnit", 1, 1, "DICOM/DICONDE", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } #ifdef ENABLE_PRIVATE_TAGS , { 0x0015, 0x0001, 0x0015, 0x0001, EVR_DS, "StenosisCalibrationRatio", 1, 1, "PrivateTag", @@ -14002,6 +14422,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_FL, "DegreeOfDilation", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0022, 0x000f, 0x0022, 0x000f, + EVR_FD, "VertexDistance", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0022, 0x0010, 0x0022, 0x0010, EVR_FL, "StereoBaselineAngle", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -14590,6 +15014,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_CS, "OphthalmicVolumetricPropertiesFlag", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0022, 0x1623, 0x0022, 0x1623, + EVR_FL, "OphthalmicAnatomicReferencePointFrameCoordinate", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0022, 0x1624, 0x0022, 0x1624, EVR_FL, "OphthalmicAnatomicReferencePointXCoordinate", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -14598,14 +15026,34 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_FL, "OphthalmicAnatomicReferencePointYCoordinate", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0022, 0x1627, 0x0022, 0x1627, + EVR_SQ, "OphthalmicEnFaceVolumeDescriptorSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0022, 0x1628, 0x0022, 0x1628, EVR_SQ, "OphthalmicEnFaceImageQualityRatingSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0022, 0x1629, 0x0022, 0x1629, + EVR_CS, "OphthalmicEnFaceVolumeDescriptorScope", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0022, 0x1630, 0x0022, 0x1630, EVR_DS, "QualityThreshold", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0022, 0x1632, 0x0022, 0x1632, + EVR_SQ, "OphthalmicAnatomicReferencePointSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0022, 0x1633, 0x0022, 0x1633, + EVR_CS, "OphthalmicAnatomicReferencePointLocalizationType", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0022, 0x1634, 0x0022, 0x1634, + EVR_IS, "PrimaryAnatomicStructureItemIndex", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0022, 0x1640, 0x0022, 0x1640, EVR_SQ, "OCTBscanAnalysisAcquisitionParametersSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -18745,7 +19193,7 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { "GEMS_DRS_1" } #endif , { 0x0038, 0x0004, 0x0038, 0x0004, - EVR_SQ, "ReferencedPatientAliasSequence", 1, 1, "DICOM", + EVR_SQ, "RETIRED_ReferencedPatientAliasSequence", 1, 1, "DICOM/retired", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x0038, 0x0008, 0x0038, 0x0008, @@ -19079,7 +19527,7 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x003a, 0x0320, 0x003a, 0x0320, - EVR_SQ, "SummarizedFilterLookupTable", 1, 1, "DICOM", + EVR_SQ, "SummarizedFilterLookupTableSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x003a, 0x0321, 0x003a, 0x0321, @@ -19099,7 +19547,7 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x003a, 0x0325, 0x003a, 0x0325, - EVR_SQ, "AnalogFilterType", 1, 1, "DICOM", + EVR_SQ, "AnalogFilterTypeCodeSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x003a, 0x0326, 0x003a, 0x0326, @@ -22038,6 +22486,22 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_DS, "ObjectiveLensNumericalAperture", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0048, 0x0114, 0x0048, 0x0114, + EVR_CS, "ConfocalMode", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0048, 0x0115, 0x0048, 0x0115, + EVR_CS, "TissueLocation", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0048, 0x0116, 0x0048, 0x0116, + EVR_SQ, "ConfocalMicroscopyImageFrameTypeSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0048, 0x0117, 0x0048, 0x0117, + EVR_FD, "ImageAcquisitionDepth", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0048, 0x0120, 0x0048, 0x0120, EVR_SQ, "PaletteColorLookupTableSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -22750,6 +23214,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_LT, "SurfaceComments", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0066, 0x0005, 0x0066, 0x0005, + EVR_FL, "SurfaceOffset", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0066, 0x0009, 0x0066, 0x0009, EVR_CS, "SurfaceProcessing", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -24019,11 +24487,11 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x0070, 0x1807, 0x0070, 0x1807, - EVR_US, "WeightingLookupTableDescriptor", 3, 3, "DICOM", + EVR_US, "RETIRED_WeightingLookupTableDescriptor", 3, 3, "DICOM/retired", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x0070, 0x1808, 0x0070, 0x1808, - EVR_OB, "WeightingLookupTableData", 1, 1, "DICOM", + EVR_OB, "RETIRED_WeightingLookupTableData", 1, 1, "DICOM/retired", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x0070, 0x1901, 0x0070, 0x1901, @@ -26860,6 +27328,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "AcquisitionInitiationSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x3002, 0x0136, 0x3002, 0x0136, + EVR_SQ, "RTConeBeamImagingGeometrySequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x3004, 0x0001, 0x3004, 0x0001, EVR_CS, "DVHType", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -26901,13 +27373,17 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x3004, 0x0012, 0x3004, 0x0012, - EVR_DS, "RETIRED_DoseValue", 1, 1, "DICOM/retired", + EVR_DS, "DoseValue", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x3004, 0x0014, 0x3004, 0x0014, EVR_CS, "TissueHeterogeneityCorrection", 1, 3, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x3004, 0x0016, 0x3004, 0x0016, + EVR_SQ, "RecommendedIsodoseLevelSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x3004, 0x0040, 0x3004, 0x0040, EVR_DS, "DVHNormalizationPoint", 3, 3, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -27024,6 +27500,14 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_DS, "ROIVolume", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x3006, 0x002d, 0x3006, 0x002d, + EVR_DT, "ROIDateTime", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x3006, 0x002e, 0x3006, 0x002e, + EVR_DT, "ROIObservationDateTime", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x3006, 0x0030, 0x3006, 0x0030, EVR_SQ, "RTRelatedROISequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -27080,6 +27564,26 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "SourcePixelPlanesCharacteristicsSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x3006, 0x004b, 0x3006, 0x004b, + EVR_SQ, "SourceSeriesSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x3006, 0x004c, 0x3006, 0x004c, + EVR_SQ, "SourceSeriesInformationSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x3006, 0x004d, 0x3006, 0x004d, + EVR_SQ, "ROICreatorSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x3006, 0x004e, 0x3006, 0x004e, + EVR_SQ, "ROIInterpreterSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x3006, 0x004f, 0x3006, 0x004f, + EVR_SQ, "ROIObservationContextCodeSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x3006, 0x0050, 0x3006, 0x0050, EVR_DS, "ContourData", 3, -1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -27760,6 +28264,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_DS, "TableTopLateralPositionTolerance", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x300a, 0x0054, 0x300a, 0x0054, + EVR_UI, "TableTopPositionAlignmentUID", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x300a, 0x0055, 0x300a, 0x0055, EVR_CS, "RTPlanRelationship", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -28776,6 +29284,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_LT, "CompensatorDescription", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x300a, 0x02ec, 0x300a, 0x02ec, + EVR_CS, "CompensatorSurfaceRepresentationFlag", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x300a, 0x0302, 0x300a, 0x0302, EVR_IS, "RadiationMassNumber", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -29744,6 +30256,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "ReferencedRTPrescriptionSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x300a, 0x068b, 0x300a, 0x068b, + EVR_CS, "DoseValueInterpretation", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x300a, 0x0700, 0x300a, 0x0700, EVR_UI, "TreatmentSessionUID", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -30016,6 +30532,18 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_CS, "RTRadiationSetDeliveryUsage", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x300a, 0x079f, 0x300a, 0x079f, + EVR_SQ, "PatientTreatmentPreparationSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x07a0, 0x300a, 0x07a0, + EVR_SQ, "PatientToEquipmentRelationshipSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x07a1, 0x300a, 0x07a1, + EVR_SQ, "ImagingEquipmentToTreatmentDeliveryDeviceRelationshipSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x300c, 0x0002, 0x300c, 0x0002, EVR_SQ, "ReferencedRTPlanSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -30212,6 +30740,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "BeamHoldOriginatingDeviceSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x300c, 0x0129, 0x300c, 0x0129, + EVR_CS, "BeamHoldTransitionTriggerSource", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x300e, 0x0002, 0x300e, 0x0002, EVR_CS, "ApprovalStatus", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, diff --git a/dcmdata/libsrc/dcdirrec.cc b/dcmdata/libsrc/dcdirrec.cc index c5d53e32..c374c347 100644 --- a/dcmdata/libsrc/dcdirrec.cc +++ b/dcmdata/libsrc/dcdirrec.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,15 +33,6 @@ #include "dcmtk/dcmdata/dcvrus.h" #include "dcmtk/dcmdata/dcspchrs.h" -#ifdef HAVE_UNIX_H -#if defined(macintosh) && defined (HAVE_WINSOCK_H) -/* unix.h defines timeval incompatible with winsock.h */ -#define timeval _UNWANTED_timeval -#endif -#include /* for unlink() under Metrowerks C++ (Macintosh) */ -#undef timeval -#endif - // ******************************** @@ -1007,7 +998,7 @@ OFCondition DcmDirectoryRecord::fillElementsAndReadSOP(const char *referencedFil DCMDATA_ERROR("Internal ERROR in DcmDirectoryRecord::fillElementsAndReadSOP()"); } uiP = new DcmUniqueIdentifier(refSOPClassTag); // (0004,1510) - if (refFile->search(DCM_SOPClassUID, stack).good()) + if (refFile->search(DCM_SOPClassUID, stack).good() && (stack.top()->ident() == EVR_UI)) { char *uid = NULL; OFstatic_cast(DcmUniqueIdentifier *, stack.top())->getString(uid); @@ -1020,7 +1011,7 @@ OFCondition DcmDirectoryRecord::fillElementsAndReadSOP(const char *referencedFil insert(uiP, OFTrue); uiP = new DcmUniqueIdentifier(refSOPInstTag); // (0004,1511) - if (refFile->search(DCM_SOPInstanceUID, stack).good() || refFile->search(DCM_MediaStorageSOPInstanceUID, stack).good()) + if ((refFile->search(DCM_SOPInstanceUID, stack).good() || refFile->search(DCM_MediaStorageSOPInstanceUID, stack).good()) && (stack.top()->ident() == EVR_UI)) { char *uid = NULL; OFstatic_cast(DcmUniqueIdentifier *, stack.top())->getString(uid); @@ -1033,7 +1024,7 @@ OFCondition DcmDirectoryRecord::fillElementsAndReadSOP(const char *referencedFil insert(uiP, OFTrue); uiP = new DcmUniqueIdentifier(refFileXferTag); // (0004,1512) - if (refFile->search(DCM_TransferSyntaxUID, stack).good()) + if (refFile->search(DCM_TransferSyntaxUID, stack).good() && (stack.top()->ident() == EVR_UI)) { char *uid = NULL; OFstatic_cast(DcmUniqueIdentifier *, stack.top())->getString(uid); diff --git a/dcmdata/libsrc/dcelem.cc b/dcmdata/libsrc/dcelem.cc index 1524904b..3b9cc2bf 100644 --- a/dcmdata/libsrc/dcelem.cc +++ b/dcmdata/libsrc/dcelem.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -717,6 +717,13 @@ OFCondition DcmElement::loadValue(DcmInputStream *inStream) if (isStreamNew) delete readStream; } + else + { + errorFlag = EC_InvalidStream; // incomplete dataset read from stream + DCMDATA_ERROR("DcmElement: " << getTagName() << " " << getTag() + << " larger (" << getLengthField() << ") than remaining bytes (" + << getTransferredBytes() << ") in file, premature end of stream"); + } } /* return result value */ return errorFlag; diff --git a/dcmdata/libsrc/dcencdoc.cc b/dcmdata/libsrc/dcencdoc.cc index 2073cc90..e9073064 100644 --- a/dcmdata/libsrc/dcencdoc.cc +++ b/dcmdata/libsrc/dcencdoc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2018-2023, OFFIS e.V. + * Copyright (C) 2018-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -26,6 +26,7 @@ #include "dcmtk/ofstd/ofconapp.h" #include "dcmtk/ofstd/ofxml.h" #include "dcmtk/ofstd/oftypes.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmdata/dcpath.h" #include "dcmtk/dcmdata/dccodec.h" @@ -1382,7 +1383,7 @@ OFCondition DcmEncapsulatedDocument::createHeader( { if (result.good()) result = dataset->putAndInsertString(DCM_HL7InstanceIdentifier, hl7_InstanceIdentifier.c_str()); } - sprintf(buf, "%ld", OFstatic_cast(long, opt_instance)); + OFStandard::snprintf(buf, sizeof(buf), "%ld", OFstatic_cast(long, opt_instance)); if (result.good()) result = dataset->putAndInsertString(DCM_InstanceNumber, buf); dcmGenerateUniqueIdentifier(buf, SITE_INSTANCE_UID_ROOT); if (result.good()) result = dataset->putAndInsertString(DCM_StudyInstanceUID, opt_studyUID.c_str()); diff --git a/dcmdata/libsrc/dcfilefo.cc b/dcmdata/libsrc/dcfilefo.cc index 4f72dee8..e8d6de68 100644 --- a/dcmdata/libsrc/dcfilefo.cc +++ b/dcmdata/libsrc/dcfilefo.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -362,7 +362,7 @@ OFCondition DcmFileFormat::checkMetaHeaderValue(DcmMetaInfo *metainfo, { if ((writeMode == EWM_updateMeta) || (elem->getLength() == 0)) { - if (dataset->search(DCM_SOPClassUID, stack).good()) + if (dataset->search(DCM_SOPClassUID, stack).good() && (stack.top()->ident() == EVR_UI)) { char *uid = NULL; l_error = OFstatic_cast(DcmUniqueIdentifier *, stack.top())->getString(uid); @@ -378,7 +378,7 @@ OFCondition DcmFileFormat::checkMetaHeaderValue(DcmMetaInfo *metainfo, else if (DCM_dcmdataLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) { // check whether UID in meta-header is identical to the one in the dataset - if (dataset->search(DCM_SOPClassUID, stack).good()) + if (dataset->search(DCM_SOPClassUID, stack).good() && (stack.top()->ident() == EVR_UI)) { OFString uidDataset, uidMetaHeader; OFstatic_cast(DcmUniqueIdentifier *, stack.top())->getOFStringArray(uidDataset); @@ -404,7 +404,7 @@ OFCondition DcmFileFormat::checkMetaHeaderValue(DcmMetaInfo *metainfo, { if ((writeMode == EWM_updateMeta) || (elem->getLength() == 0)) { - if (dataset->search(DCM_SOPInstanceUID, stack).good()) + if (dataset->search(DCM_SOPInstanceUID, stack).good() && (stack.top()->ident() == EVR_UI)) { char* uid = NULL; l_error = OFstatic_cast(DcmUniqueIdentifier *, stack.top())->getString(uid); @@ -422,7 +422,7 @@ OFCondition DcmFileFormat::checkMetaHeaderValue(DcmMetaInfo *metainfo, else if (DCM_dcmdataLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) { // check whether UID in meta-header is identical to the one in the dataset - if (dataset->search(DCM_SOPInstanceUID, stack).good()) + if (dataset->search(DCM_SOPInstanceUID, stack).good() && (stack.top()->ident() == EVR_UI)) { OFString uidDataset, uidMetaHeader; OFstatic_cast(DcmUniqueIdentifier *, stack.top())->getOFStringArray(uidDataset); @@ -633,7 +633,7 @@ E_TransferSyntax DcmFileFormat::lookForXfer(DcmMetaInfo *metainfo) /* check whether meta header is present (and non-empty, i.e. contains elements) */ if (metainfo && !metainfo->isEmpty()) { - if (metainfo->search(DCM_TransferSyntaxUID, stack).good()) + if (metainfo->search(DCM_TransferSyntaxUID, stack).good() && (stack.top()->ident() == EVR_UI)) { DcmUniqueIdentifier *xferUI = OFstatic_cast(DcmUniqueIdentifier *, stack.top()); if (xferUI->getTag() == DCM_TransferSyntaxUID) @@ -985,28 +985,31 @@ OFCondition DcmFileFormat::saveFile(const OFFilename &fileName, if (!fileName.isEmpty()) { DcmWriteCache wcache; - DcmOutputStream *fileStream; + DcmOutputStream *outStream = NULL; + DcmOutputFileStream *fileStream = NULL; if (fileName.isStandardStream()) { /* use stdout stream */ - fileStream = new DcmStdoutStream(fileName); + outStream = new DcmStdoutStream(fileName); } else { /* open file for output */ fileStream = new DcmOutputFileStream(fileName); + outStream = fileStream; } /* check stream status */ - l_error = fileStream->status(); + l_error = outStream->status(); if (l_error.good()) { /* write data to file */ transferInit(); - l_error = write(*fileStream, writeXfer, encodingType, &wcache, groupLength, + l_error = write(*outStream, writeXfer, encodingType, &wcache, groupLength, padEncoding, padLength, subPadLength, 0 /*instanceLength*/, writeMode); transferEnd(); } - delete fileStream; + if (l_error.good() && fileStream) l_error = fileStream->fclose(); + delete outStream; } return l_error; } diff --git a/dcmdata/libsrc/dcitem.cc b/dcmdata/libsrc/dcitem.cc index 3960fceb..244dbb7b 100644 --- a/dcmdata/libsrc/dcitem.cc +++ b/dcmdata/libsrc/dcitem.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -349,12 +349,14 @@ E_TransferSyntax DcmItem::checkTransferSyntax(DcmInputStream &inStream) // ******************************** -void DcmItem::checkAndUpdateVR(DcmItem &item, - DcmTag &tag) +OFBool DcmItem::checkAndUpdateVR(DcmItem &item, + DcmTag &tag) { + OFBool result = OFFalse; /* handle special cases where the VR can be determined by some other element values */ if (((tag == DCM_WaveformData) || (tag == DCM_WaveformPaddingValue) || - (tag == DCM_ChannelMinimumValue) || (tag == DCM_ChannelMaximumValue)) && (tag.getEVR() == EVR_ox)) + (tag == DCM_ChannelMinimumValue) || (tag == DCM_ChannelMaximumValue)) && + (tag.getEVR() == EVR_ox)) { /* case 1 (WaveformData and others): see section 8.3 in PS 3.5 */ Uint16 bitsAlloc; @@ -366,11 +368,13 @@ void DcmItem::checkAndUpdateVR(DcmItem &item, << tag.getTagName() << " " << tag << " to 'OB' because WaveformBitsAllocated " << DCM_WaveformBitsAllocated << " has a value of 8"); tag.setVR(EVR_OB); + result = OFTrue; } else { DCMDATA_DEBUG("DcmItem::checkAndUpdateVR() setting undefined VR of " << tag.getTagName() << " " << tag << " to 'OW' because WaveformBitsAllocated " << DCM_WaveformBitsAllocated << " has a value that is different from 8"); tag.setVR(EVR_OW); + result = OFTrue; } } } @@ -392,20 +396,24 @@ void DcmItem::checkAndUpdateVR(DcmItem &item, << " " << tag << " to 'SS' because PixelRepresentation " << DCM_PixelRepresentation << " has a value of 1"); tag.setVR(EVR_SS); + result = OFTrue; } else { DCMDATA_DEBUG("DcmItem::checkAndUpdateVR() setting undefined VR of " << tag.getTagName() << " " << tag << " to 'US' because PixelRepresentation " << DCM_PixelRepresentation << " has a value that is different from 1"); tag.setVR(EVR_US); + result = OFTrue; } } } - else if (((tag.getBaseTag() == DCM_OverlayData) || (tag == DCM_PixelData)) && (tag.getEVR() == EVR_ox)) + else if (((tag.getBaseTag() == DCM_OverlayData) && (tag.getEVR() == EVR_ox)) || + ((tag == DCM_PixelData) && (tag.getEVR() == EVR_px))) { /* case 3 (OverlayData and PixelData): see section 8.1.2 and 8.2 in PS 3.5 */ DCMDATA_DEBUG("DcmItem::checkAndUpdateVR() setting undefined VR of " << tag.getTagName() << " " << tag << " to 'OW'"); tag.setVR(EVR_OW); + result = OFTrue; } else if ((tag.getBaseTag() == DCM_RETIRED_CurveData) && (tag.getEVR() == EVR_ox)) { @@ -413,14 +421,17 @@ void DcmItem::checkAndUpdateVR(DcmItem &item, DCMDATA_DEBUG("DcmItem::checkAndUpdateVR() setting undefined VR of " << tag.getTagName() << " " << tag << " to 'OB'"); tag.setVR(EVR_OB); + result = OFTrue; } /* currently unhandled: + * - LUTData (0028,3006), US or OW * - MappedPixelValue (0022,1452), US or SS * - RedPaletteColorLookupTableDescriptor (0028,1101), US or SS * - GreenPaletteColorLookupTableDescriptor (0028,1102), US or SS * - BluePaletteColorLookupTableDescriptor (0028,1103), US or SS * and some retired DICOM attributes as well as some DICONDE attributes */ + return result; } @@ -555,7 +566,6 @@ OFCondition DcmItem::writeJson(STD_NAMESPACE ostream &out, return writeJsonExt(out, format, OFTrue, OFFalse); } -// ******************************** OFCondition DcmItem::writeJsonExt(STD_NAMESPACE ostream &out, DcmJsonFormat &format, @@ -1059,11 +1069,11 @@ OFCondition DcmItem::readTagAndLength(DcmInputStream &inStream, /* create a corresponding DcmVR object */ DcmVR vr(vrstr); - /* if the VR which was read is not a standard VR, print a warning */ + /* if the VR which was read is not a standard VR (e.g. invalid), print a warning */ if (!vr.isStandard()) { OFOStringStream oss; - oss << "DcmItem: Non-standard VR '" + oss << "DcmItem: " << (vr.isInvalid() ? "Invalid" : "Non-standard") << " VR '" << ((OFstatic_cast(unsigned char, vrstr[0]) < 32) ? ' ' : vrstr[0]) << ((OFstatic_cast(unsigned char, vrstr[1]) < 32) ? ' ' : vrstr[1]) << "' (" << STD_NAMESPACE hex << STD_NAMESPACE setfill('0') @@ -1098,6 +1108,10 @@ OFCondition DcmItem::readTagAndLength(DcmInputStream &inStream, /* the VR in the dataset might be wrong, so the user can decide to ignore it */ if (dcmPreferVRFromDataDictionary.get() && (newEVR != EVR_UNKNOWN) && (newEVR != EVR_UNKNOWN2B)) { + /* resolve ambiguous VRs, e.g. map the internal "ox" to either "OB" or "OW" */ + if (checkAndUpdateVR(*this, newTag)) + newEVR = newTag.getEVR(); + if (newEVR != vr.getEVR()) { /* ignore explicit VR in dataset if tag is defined in data dictionary */ @@ -1432,25 +1446,25 @@ OFCondition DcmItem::readUntilTag(DcmInputStream & inStream, /* check if we want to stop parsing at this point, in the main dataset only */ if ((stopParsingAtElement != DCM_UndefinedTagKey) && (newTag >= stopParsingAtElement) && (ident() == EVR_dataset)) { - lastElementComplete = OFTrue; - readStopElem = OFTrue; - DCMDATA_INFO("DcmItem: Element " << newTag.getTagName() << " " << newTag - << " encountered, skipping rest of dataset"); + lastElementComplete = OFTrue; + readStopElem = OFTrue; + DCMDATA_DEBUG("DcmItem: Element " << newTag.getTagName() << " " << newTag + << " encountered, skipping rest of dataset (as requested)"); } else { - /* read the actual data value which belongs to this element */ - /* (attribute) and insert this information into the elementList */ - errorFlag = readSubElement(inStream, newTag, newValueLength, xfer, glenc, maxReadLength); - /* if reading was successful, we read the entire data value information */ - /* for this element; hence lastElementComplete is true again */ - if (errorFlag.good()) - lastElementComplete = OFTrue; - - /* in data or command sets, group 0x0001 to 0x0003, 0x0005, 0x0007 and 0xFFFF are not allowed. */ - /* (we cannot check for group 0x0000 since we do not know whether we read a data or command set.)*/ - if (!newTag.hasValidGroup() || (newTag.getGroup() == 0x0002)) - DCMDATA_WARN("DcmItem: Invalid Element " << newTag << " found in data set"); + /* read the actual data value which belongs to this element */ + /* (attribute) and insert this information into the elementList */ + errorFlag = readSubElement(inStream, newTag, newValueLength, xfer, glenc, maxReadLength); + /* if reading was successful, we read the entire data value information */ + /* for this element; hence lastElementComplete is true again */ + if (errorFlag.good()) + lastElementComplete = OFTrue; + + /* in data or command sets, group 0x0001 to 0x0003, 0x0005, 0x0007 and 0xFFFF are not allowed. */ + /* (we cannot check for group 0x0000 since we do not know whether we read a data or command set.)*/ + if (!newTag.hasValidGroup() || (newTag.getGroup() == 0x0002)) + DCMDATA_WARN("DcmItem: Invalid Element " << newTag << " found in data set"); } } } else { @@ -1460,8 +1474,9 @@ OFCondition DcmItem::readUntilTag(DcmInputStream & inStream, /* information for this particular element. */ DcmObject *dO = elementList->get(); if (dO) - errorFlag = dO->read(inStream, xfer, glenc, maxReadLength); - else errorFlag = EC_InternalError; // should never happen + errorFlag = dO->read(inStream, xfer, glenc, maxReadLength); + else + errorFlag = EC_InternalError; // should never happen /* if reading was successful, we read the entire information */ /* for this element; hence lastElementComplete is true */ @@ -1481,8 +1496,8 @@ OFCondition DcmItem::readUntilTag(DcmInputStream & inStream, (dcmStopParsingAfterElement.get() == elementList->get()->getTag()) && ident() == EVR_dataset) { - DCMDATA_INFO("DcmItem: Element " << newTag.getTagName() << " " << newTag - << " encountered, skipping rest of data set"); + DCMDATA_DEBUG("DcmItem: Element " << newTag.getTagName() << " " << newTag + << " encountered, skipping rest of data set (as requested)"); readStopElem = OFTrue; } } @@ -2332,7 +2347,7 @@ OFBool DcmItem::tagExistsWithValue(const DcmTagKey &key, DcmStack stack; OFBool result = OFFalse; - if (search(key, stack, ESM_fromHere, searchIntoSub).good()) + if (search(key, stack, ESM_fromHere, searchIntoSub).good() && stack.top()->isElement()) { DcmElement *elem = OFstatic_cast(DcmElement *, stack.top()); if (elem != NULL) @@ -2355,7 +2370,7 @@ OFCondition DcmItem::findAndGetElement(const DcmTagKey &tagKey, DcmStack stack; /* find the element */ OFCondition status = search(tagKey, stack, ESM_fromHere, searchIntoSub); - if (status.good()) + if (status.good() && stack.top()->isElement()) { element = OFstatic_cast(DcmElement *, stack.top()); /* should never happen but ... */ @@ -2990,7 +3005,7 @@ OFCondition DcmItem::findAndGetSequence(const DcmTagKey &seqTagKey, DcmStack stack; /* find the element */ OFCondition status = search(seqTagKey, stack, ESM_fromHere, searchIntoSub); - if (status.good()) + if (status.good() && stack.top()->isElement()) { DcmElement *delem = OFstatic_cast(DcmElement *, stack.top()); /* should never happen but ... */ @@ -3027,7 +3042,7 @@ OFCondition DcmItem::findAndGetSequenceItem(const DcmTagKey &seqTagKey, DcmStack stack; /* find sequence */ OFCondition status = search(seqTagKey, stack, ESM_fromHere, OFFalse /*searchIntoSub*/); - if (status.good()) + if (status.good() && stack.top()->isElement()) { /* get element */ DcmElement *delem = OFstatic_cast(DcmElement *, stack.top()); @@ -3089,7 +3104,7 @@ OFCondition DcmItem::findOrCreateSequenceItem(const DcmTag& seqTag, OFCondition status = search(seqTag, stack, ESM_fromHere, OFFalse /*searchIntoSub*/); DcmSequenceOfItems *sequence = NULL; /* sequence found? */ - if (status.good()) + if (status.good() && stack.top()->isElement()) { /* get element */ DcmElement *delem = OFstatic_cast(DcmElement *, stack.top()); @@ -3223,7 +3238,7 @@ OFCondition DcmItem::findAndDeleteSequenceItem(const DcmTagKey &seqTagKey, DcmStack stack; /* find sequence */ OFCondition status = search(seqTagKey, stack, ESM_fromHere, OFFalse /*searchIntoSub*/); - if (status.good()) + if (status.good() && stack.top()->isElement()) { /* get element */ DcmElement *delem = OFstatic_cast(DcmElement *, stack.top()); @@ -4224,7 +4239,7 @@ OFCondition DcmItem::insertSequenceItem(const DcmTag &seqTag, status = search(seqTag, stack, ESM_fromHere, OFFalse /*searchIntoSub*/); DcmSequenceOfItems *sequence = NULL; /* sequence found? */ - if (status.good()) + if (status.good() && stack.top()->isElement()) { /* get element */ DcmElement *delem = OFstatic_cast(DcmElement *, stack.top()); @@ -4733,10 +4748,10 @@ OFCondition DcmItem::newDicomElement(DcmElement *&newElement, // Real-world examples of this issue have been reported in 2016. if (dcmConvertVOILUTSequenceOWtoSQ.get()) { - // Silently fix the error by interpreting as a sequence. - DcmTag newTag(tag); - newTag.setVR(DcmVR(EVR_SQ)); // on writing we will handle this element as SQ, not OB/OW - newElement = new DcmSequenceOfItems(newTag, length); + // Silently fix the error by interpreting as a sequence. + DcmTag newTag(tag); + newTag.setVR(DcmVR(EVR_SQ)); // on writing we will handle this element as SQ, not OB/OW + newElement = new DcmSequenceOfItems(newTag, length); } else { if (dcmIgnoreParsingErrors.get()) @@ -4832,6 +4847,7 @@ OFCondition DcmItem::newDicomElement(DcmElement *&newElement, case EVR_dirRecord : case EVR_pixelSQ : case EVR_pixelItem : + case EVR_invalid : l_error = EC_IllegalCall; break; diff --git a/dcmdata/libsrc/dcmetinf.cc b/dcmdata/libsrc/dcmetinf.cc index 2ab3c2ae..d3ce5927 100644 --- a/dcmdata/libsrc/dcmetinf.cc +++ b/dcmdata/libsrc/dcmetinf.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -405,8 +405,10 @@ OFCondition DcmMetaInfo::read(DcmInputStream &inStream, errorFlag = EC_IllegalCall; else { - Xfer = xfer; + if (getTransferState() == ERW_init) + Xfer = xfer; E_TransferSyntax newxfer = xfer; + // figure out if the stream reported an error errorFlag = inStream.status(); if (errorFlag.good() && inStream.eos()) @@ -427,7 +429,8 @@ OFCondition DcmMetaInfo::read(DcmInputStream &inStream, fStartPosition = inStream.tell(); setLengthField(0); } - } + } else newxfer = Xfer; // use stored transfer syntax which was determined from preamble + if (getTransferState() == ERW_inWork && getLengthField() == 0) { if (inStream.avail() < OFstatic_cast(offile_off_t, DCM_GroupLengthElementLength)) diff --git a/dcmdata/libsrc/dcostrmf.cc b/dcmdata/libsrc/dcostrmf.cc index 4bcd6978..c3ea92c4 100644 --- a/dcmdata/libsrc/dcostrmf.cc +++ b/dcmdata/libsrc/dcostrmf.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2022, OFFIS e.V. + * Copyright (C) 2002-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -134,6 +134,17 @@ void DcmFileConsumer::flush() // nothing to flush } +void DcmFileConsumer::fclose() +{ + int result = file_.fclose(); + if (result) + { + OFString buffer = OFStandard::getLastSystemErrorCode().message(); + status_ = makeOFCondition(OFM_dcmdata, 19, OF_error, buffer.c_str()); + } + else status_ = EC_Normal; +} + /* ======================================================================= */ DcmOutputFileStream::DcmOutputFileStream(const OFFilename &filename) @@ -154,6 +165,20 @@ DcmOutputFileStream::DcmOutputFileStream(OFFile& file) { } +OFCondition DcmOutputFileStream::fclose() +{ + // last attempt to flush stream before file is closed + flush(); +#ifdef DEBUG + if (! isFlushed()) + { + DCMDATA_WARN("closing unflushed DcmOutputFileStream, loss of data!"); + } +#endif + consumer_.fclose(); + return consumer_.status(); +} + DcmOutputFileStream::~DcmOutputFileStream() { // last attempt to flush stream before file is closed diff --git a/dcmdata/libsrc/dcpath.cc b/dcmdata/libsrc/dcpath.cc index c5a81180..a122d06a 100644 --- a/dcmdata/libsrc/dcpath.cc +++ b/dcmdata/libsrc/dcpath.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2008-2023, OFFIS e.V. + * Copyright (C) 2008-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,8 +21,8 @@ */ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ - #include "dcmtk/dcmdata/dcpath.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmdata/dcsequen.h" /*******************************************************************/ @@ -120,11 +120,11 @@ OFString DcmPath::toString() const else if ((vr == EVR_item) || (vr == EVR_dataset)) { #ifdef PRIu32 - sprintf(buf, "[%" PRIu32 "]", (*it)->m_itemNo); + OFStandard::snprintf(buf, sizeof(buf), "[%" PRIu32 "]", (*it)->m_itemNo); #elif SIZEOF_LONG == 8 - sprintf(buf, "[%u]", (*it)->m_itemNo); + OFStandard::snprintf(buf, sizeof(buf), "[%u]", (*it)->m_itemNo); #else - sprintf(buf, "[%lu]", (*it)->m_itemNo); + OFStandard::snprintf(buf, sizeof(buf), "[%lu]", (*it)->m_itemNo); #endif pathStr.append(buf); it++; @@ -157,6 +157,23 @@ OFBool DcmPath::containsGroup(const Uint16 groupNo) const return OFFalse; } +// Checks whether an invalid group number is used in the path's path nodes +OFBool DcmPath::containsInvalidGroup() const +{ + OFListConstIterator(DcmPathNode*) it = m_path.begin(); + OFListConstIterator(DcmPathNode*) endOfList = m_path.end(); + while (it != endOfList) + { + DcmPathNode* node = *it; + if ((node == NULL) || (node->m_obj == NULL)) + return OFFalse; + if (!node->m_obj->getTag().getTagKey().hasValidGroup()) + return OFTrue; + it++; + } + return OFFalse; +} + // Helper function for findOrCreatePath(). Parses item no from start of string OFCondition DcmPath::parseItemNoFromPath(OFString& path, // inout Uint32& itemNo, // out @@ -291,13 +308,13 @@ OFCondition DcmPath::separatePathNodes(const OFString& path, OFList& r else { #ifdef PRIu32 - if (sprintf(buf, "[%" PRIu32 "]", itemNo) < 2) + if (OFStandard::snprintf(buf, sizeof(buf), "[%" PRIu32 "]", itemNo) < 2) return EC_IllegalParameter; #elif SIZEOF_LONG == 8 - if (sprintf(buf, "[%u]", itemNo) < 2) + if (OFStandard::snprintf(buf, sizeof(buf), "[%u]", itemNo) < 2) return EC_IllegalParameter; #else - if (sprintf(buf, "[%lu]", itemNo) < 2) + if (OFStandard::snprintf(buf, sizeof(buf), "[%lu]", itemNo) < 2) return EC_IllegalParameter; #endif result.push_back(buf); @@ -310,7 +327,7 @@ OFCondition DcmPath::separatePathNodes(const OFString& path, OFList& r status = parseTagFromPath(pathStr, tag); if (status.bad()) return status; - if (sprintf(buf, "(%04X,%04X)", tag.getGroup(), tag.getElement()) != 11) + if (OFStandard::snprintf(buf, sizeof(buf), "(%04X,%04X)", tag.getGroup(), tag.getElement()) != 11) return EC_IllegalParameter; result.push_back(buf); nextIsItem = OFTrue; diff --git a/dcmdata/libsrc/dcpixel.cc b/dcmdata/libsrc/dcpixel.cc index b5c682fb..50451d60 100644 --- a/dcmdata/libsrc/dcpixel.cc +++ b/dcmdata/libsrc/dcpixel.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1997-2023, OFFIS e.V. + * Copyright (C) 1997-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -186,7 +186,7 @@ DcmPixelData::calcElementLength( errorFlag = EC_Normal; Uint32 elementLength = 0; - if (xferSyn.isEncapsulated() && (! writeUnencapsulated(xfer))) + if (xferSyn.usesEncapsulatedFormat() && (! writeUnencapsulated(xfer))) { DcmRepresentationListIterator found; errorFlag = findConformingEncapsulatedRepresentation(xfer, NULL, found); @@ -194,7 +194,7 @@ DcmPixelData::calcElementLength( elementLength = (*found)->pixSeq->calcElementLength(xfer, enctype); } else if (existUnencapsulated) - elementLength = DcmPolymorphOBOW::calcElementLength(xfer, enctype); + elementLength = DcmPolymorphOBOW::calcElementLength(xfer, enctype); else errorFlag = EC_RepresentationNotFound; @@ -216,9 +216,9 @@ DcmPixelData::canChooseRepresentation( // 1. we have uncompressed data, and target is uncompressed (conversion between uncompressed always possible) // 2. we have uncompressed and want compressed, but we are forced to write uncompressed anyway // 3. we want to go to compressed, and already have the desired representation available - if ((!toType.isEncapsulated() && existUnencapsulated) || - (toType.isEncapsulated() && writeUnencapsulated(repType) && existUnencapsulated) || - (toType.isEncapsulated() && findRepresentationEntry(findEntry, resultIt) == EC_Normal)) + if ((toType.usesNativeFormat() && existUnencapsulated) || + (toType.usesEncapsulatedFormat() && writeUnencapsulated(repType) && existUnencapsulated) || + (toType.usesEncapsulatedFormat() && findRepresentationEntry(findEntry, resultIt) == EC_Normal)) { // representation found result = OFTrue; @@ -233,9 +233,9 @@ DcmPixelData::canChooseRepresentation( // we have uncompressed data, check whether we know how to go from uncompressed to desired compression result = DcmCodecList::canChangeCoding(EXS_LittleEndianExplicit, toType.getXfer()); } - else if (toType.isEncapsulated()) + else if (toType.usesEncapsulatedFormat()) { - // we have already compressed data, check whether we know how to transcode + // we have encapsulated data, check whether we know how to transcode result = DcmCodecList::canChangeCoding((*original)->repType, toType.getXfer()); if (!result) { @@ -260,9 +260,9 @@ DcmPixelData::canWriteXfer( { DcmXfer newXferSyn(newXfer); DcmRepresentationListIterator found; - OFBool result = existUnencapsulated && (!newXferSyn.isEncapsulated() || writeUnencapsulated(newXfer)); + OFBool result = existUnencapsulated && (newXferSyn.usesNativeFormat() || writeUnencapsulated(newXfer)); - if (!result && newXferSyn.isEncapsulated()) + if (!result && newXferSyn.usesEncapsulatedFormat()) result = (findConformingEncapsulatedRepresentation(newXferSyn, NULL, found) == EC_Normal); return result; } @@ -278,8 +278,8 @@ DcmPixelData::chooseRepresentation( const DcmRepresentationEntry findEntry(repType, repParam, NULL); DcmRepresentationListIterator result(repListEnd); - if ((!toType.isEncapsulated() && existUnencapsulated) || - (toType.isEncapsulated() && findRepresentationEntry(findEntry, result) == EC_Normal)) + if ((toType.usesNativeFormat() && existUnencapsulated) || + (toType.usesEncapsulatedFormat() && findRepresentationEntry(findEntry, result) == EC_Normal)) { // representation found current = result; @@ -291,14 +291,14 @@ DcmPixelData::chooseRepresentation( if (original == repListEnd) l_error = encode(EXS_LittleEndianExplicit, NULL, NULL, toType, repParam, pixelStack); - else if (toType.isEncapsulated()) + else if (toType.usesEncapsulatedFormat()) l_error = encode((*original)->repType, (*original)->repParam, (*original)->pixSeq, toType, repParam, pixelStack); else l_error = decode((*original)->repType, (*original)->repParam, (*original)->pixSeq, pixelStack); } - if (l_error.bad() && toType.isEncapsulated() && existUnencapsulated && writeUnencapsulated(repType)) + if (l_error.bad() && toType.usesEncapsulatedFormat() && existUnencapsulated && writeUnencapsulated(repType)) // Encoding failed so this will be written out unencapsulated l_error = EC_Normal; return l_error; @@ -478,11 +478,11 @@ DcmPixelData::encode( DcmStack & pixelStack) { OFCondition l_error = EC_CannotChangeRepresentation; - if (toType.isEncapsulated()) + if (toType.usesEncapsulatedFormat()) { DcmPixelSequence * toPixSeq = NULL; OFBool removeOldPixelRepresentation = OFFalse; - if (fromType.isEncapsulated()) + if (fromType.usesEncapsulatedFormat()) { l_error = DcmCodecList::encode(fromType.getXfer(), fromParam, fromPixSeq, toType.getXfer(), toParam, toPixSeq, pixelStack, removeOldPixelRepresentation); @@ -513,7 +513,7 @@ DcmPixelData::encode( // if it was possible to convert one encapsulated syntax into // another directly try it using decoding and encoding! - if (l_error.bad() && fromType.isEncapsulated()) + if (l_error.bad() && fromType.usesEncapsulatedFormat()) { l_error = decode(fromType, fromParam, fromPixSeq, pixelStack); if (l_error.good()) l_error = encode(EXS_LittleEndianExplicit, NULL, NULL, toType, toParam, pixelStack); @@ -559,7 +559,7 @@ DcmPixelData::findConformingEncapsulatedRepresentation( // of this pixel data element which meets both // the transfer syntax and (if given) the representation // parameter (i.e. quality factor for lossy JPEG). - if (repTypeSyn.isEncapsulated()) + if (repTypeSyn.usesEncapsulatedFormat()) { // first we check the current (active) representation if any. if ((current != repListEnd) && ((*current)->repType == repType) && @@ -617,9 +617,9 @@ DcmPixelData::hasRepresentation( { DcmXfer repTypeSyn(repType); DcmRepresentationListIterator found; - if (!repTypeSyn.isEncapsulated() && existUnencapsulated) + if (repTypeSyn.usesNativeFormat() && existUnencapsulated) return OFTrue; - else if (repTypeSyn.isEncapsulated()) + else if (repTypeSyn.usesEncapsulatedFormat()) return findConformingEncapsulatedRepresentation(repTypeSyn, repParam, found).good(); return OFFalse; } @@ -633,7 +633,7 @@ DcmPixelData::getLength(const E_TransferSyntax xfer, errorFlag = EC_Normal; Uint32 valueLength = 0; - if (xferSyn.isEncapsulated() && !writeUnencapsulated(xfer)) + if (xferSyn.usesEncapsulatedFormat() && !writeUnencapsulated(xfer)) { DcmRepresentationListIterator foundEntry; errorFlag = findConformingEncapsulatedRepresentation( @@ -819,15 +819,14 @@ DcmPixelData::read( /* create a DcmXfer object based on the transfer syntax which was passed */ DcmXfer ixferSyn(ixfer); - /* determine if the pixel data is captured in native (uncompressed) or encapsulated - * (compressed) format. We only derive this information from the length field - * which is set to undefined length for encapsulated data because even in - * compressed transfer syntaxes the Icon Image Sequence may contain an - * uncompressed image. + /* determine if the pixel data is captured in native or encapsulated format. + * We only derive this information from the length field which is set to + * undefined length for encapsulated data because even in compressed transfer + * syntaxes the Icon Image Sequence may contain an uncompressed image. */ if (getLengthField() == DCM_UndefinedLength) { - /* the pixel data is captured in encapsulated (compressed) format */ + /* the pixel data is captured in encapsulated (e.g. compressed) format */ /* if the transfer state is ERW_init, we need to prepare */ /* the reading of the pixel data from the stream. */ @@ -841,14 +840,15 @@ DcmPixelData::read( existUnencapsulated = OFFalse; setTransferState(ERW_inWork); - if (! ixferSyn.isEncapsulated()) + if (! ixferSyn.usesEncapsulatedFormat()) { - /* Special case: we have encountered a compressed image - * although we're decoding an uncompressed transfer syntax. - * This could be a compressed image stored without meta-header. - * For now, we just accept the data element; however, any attempt - * to write the dataset will fail because no suitable decoder - * is known. + /* Special case: we have encountered encapsulated format for + * the pixel data (undefined element length) although we're + * decoding a non-encapsulated transfer syntax. This could e.g. + * be a compressed image stored without meta-header. For now, + * we just accept the data element; however, any attempt to + * write the dataset will fail because no suitable decoder is + * known. */ } } @@ -875,11 +875,11 @@ DcmPixelData::read( recalcVR(); existUnencapsulated = OFTrue; - if (ixferSyn.isEncapsulated()) + if (ixferSyn.usesEncapsulatedFormat()) { - /* Special case: we have encountered an uncompressed image - * although we're decoding an encapsulated transfer syntax. - * This is probably an icon image. + /* Special case: we have encountered native format for the pixel + * data (explicit element length) although we're decoding an + * encapsulated transfer syntax. This is probably an icon image. */ alwaysUnencapsulated = OFTrue; } @@ -930,7 +930,8 @@ DcmPixelData::removeOriginalRepresentation( OFCondition l_error = EC_Normal; DcmXfer repTypeSyn(repType); - if (!repTypeSyn.isEncapsulated()) + /* native format or referenced pixel data */ + if (!repTypeSyn.usesEncapsulatedFormat()) { if (original != repListEnd) { @@ -947,6 +948,7 @@ DcmPixelData::removeOriginalRepresentation( } else { + /* encapsulated format */ DcmRepresentationListIterator result; DcmRepresentationEntry findEntry(repType, repParam, NULL); if (findRepresentationEntry(findEntry, result) == EC_Normal) @@ -984,7 +986,8 @@ DcmPixelData::removeRepresentation( OFCondition l_error = EC_Normal; DcmXfer repTypeSyn(repType); - if (!repTypeSyn.isEncapsulated()) + /* native format or referenced pixel data */ + if (!repTypeSyn.usesEncapsulatedFormat()) { if (original != repListEnd && existUnencapsulated) { @@ -996,6 +999,7 @@ DcmPixelData::removeRepresentation( } else { + /* encapsulated format */ DcmRepresentationListIterator result; DcmRepresentationEntry findEntry(repType, repParam, NULL); if (findRepresentationEntry(findEntry, result) == EC_Normal) @@ -1063,11 +1067,11 @@ OFCondition DcmPixelData::write( if (getTransferState() == ERW_notInitialized) errorFlag = EC_IllegalCall; else { - // check if the output transfer syntax is encapsulated - // and we are not requested to write an uncompressed dataset + // check if the output transfer syntax is encapsulated and + // we are not requested to write an uncompressed dataset, // for example because this is within an Icon Image Sequence DcmXfer xferSyn(oxfer); - if (xferSyn.isEncapsulated() && (! writeUnencapsulated(oxfer))) + if (xferSyn.usesEncapsulatedFormat() && (! writeUnencapsulated(oxfer))) { // write encapsulated representation (i.e., compressed image) if (getTransferState() == ERW_init) @@ -1129,7 +1133,7 @@ OFCondition DcmPixelData::writeSignatureFormat( else if (getTag().isSignable()) { DcmXfer xferSyn(oxfer); - if (xferSyn.isEncapsulated() && (! writeUnencapsulated(oxfer))) + if (xferSyn.usesEncapsulatedFormat() && (! writeUnencapsulated(oxfer))) { if (getTransferState() == ERW_init) { @@ -1273,7 +1277,7 @@ OFBool DcmPixelData::writeUnencapsulated(const E_TransferSyntax xfer) if (alwaysUnencapsulated) return OFTrue; - if (DcmXfer(xfer).isEncapsulated()) { + if (DcmXfer(xfer).usesEncapsulatedFormat()) { DcmRepresentationListIterator found; OFCondition cond = findConformingEncapsulatedRepresentation(xfer, NULL, found); if (cond.good()) { diff --git a/dcmdata/libsrc/dcpixseq.cc b/dcmdata/libsrc/dcpixseq.cc index 1af63add..7d81fb68 100644 --- a/dcmdata/libsrc/dcpixseq.cc +++ b/dcmdata/libsrc/dcpixseq.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -341,7 +341,7 @@ OFBool DcmPixelSequence::canWriteXfer(const E_TransferSyntax newXfer, { DcmXfer newXferSyn(newXfer); - return newXferSyn.isEncapsulated() && newXfer == oldXfer && oldXfer == Xfer; + return newXferSyn.usesEncapsulatedFormat() && newXfer == oldXfer && oldXfer == Xfer; } diff --git a/dcmdata/libsrc/dcrleccd.cc b/dcmdata/libsrc/dcrleccd.cc index ffdd1411..fd01b63b 100644 --- a/dcmdata/libsrc/dcrleccd.cc +++ b/dcmdata/libsrc/dcrleccd.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2020, OFFIS e.V. + * Copyright (C) 2002-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,6 +21,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dcrleccd.h" +#include "dcmtk/ofstd/ofstd.h" // dcmdata includes #include "dcmtk/dcmdata/dcrlecp.h" /* for class DcmRLECodecParameter */ @@ -51,7 +52,8 @@ OFBool DcmRLECodecDecoder::canChangeCoding( { E_TransferSyntax myXfer = EXS_RLELossless; DcmXfer newRep(newRepType); - if (newRep.isNotEncapsulated() && (oldRepType == myXfer)) return OFTrue; // decompress requested + if (newRep.usesNativeFormat() && (oldRepType == myXfer)) + return OFTrue; // decompress requested // we don't support re-coding for now. return OFFalse; @@ -129,9 +131,25 @@ OFCondition DcmRLECodecDecoder::decode( if (rledecoder.fail()) result = EC_MemoryExhausted; // RLE decoder failed to initialize else { - const size_t frameSize = OFstatic_cast(size_t, imageBytesAllocated) * OFstatic_cast(size_t, imageRows) - * OFstatic_cast(size_t, imageColumns) * OFstatic_cast(size_t, imageSamplesPerPixel); - size_t totalSize = frameSize * imageFrames; + // compute size of uncompressed frame, in bytes + Uint32 frameSize = imageBytesAllocated * imageRows * imageColumns * imageSamplesPerPixel; + + // check for overflow + if (imageRows != 0 && frameSize / imageRows != OFstatic_cast(Uint32, imageBytesAllocated) * imageColumns * imageSamplesPerPixel) + { + DCMDATA_WARN("DcmRLECodecDecoder: Cannot decompress image because uncompressed representation would exceed maximum possible size of PixelData attribute"); + return EC_ElemLengthExceeds32BitField; + } + + Uint32 totalSize = frameSize * imageFrames; + + // check for overflow + if (totalSize == 0xFFFFFFFF || (frameSize != 0 && totalSize / frameSize != OFstatic_cast(Uint32, imageFrames))) + { + DCMDATA_WARN("DcmRLECodecDecoder: Cannot decompress image because uncompressed representation would exceed maximum possible size of PixelData attribute"); + return EC_ElemLengthExceeds32BitField; + } + if (totalSize & 1) totalSize++; // align on 16-bit word boundary Uint16 *imageData16 = NULL; Sint32 currentFrame = 0; @@ -139,7 +157,7 @@ OFCondition DcmRLECodecDecoder::decode( Uint32 numberOfStripes = 0; Uint32 fragmentLength = 0; - result = uncompressedPixelData.createUint16Array(OFstatic_cast(Uint32, totalSize/sizeof(Uint16)), imageData16); + result = uncompressedPixelData.createUint16Array(totalSize/sizeof(Uint16), imageData16); if (result.good()) { Uint8 *imageData8 = OFreinterpret_cast(Uint8 *, imageData16); @@ -416,7 +434,7 @@ OFCondition DcmRLECodecDecoder::decode( if (result.good() && (numberOfFramesPresent || (imageFrames > 1))) { char numBuf[20]; - sprintf(numBuf, "%ld", OFstatic_cast(long, imageFrames)); + OFStandard::snprintf(numBuf, sizeof(numBuf), "%ld", OFstatic_cast(long, imageFrames)); result = OFstatic_cast(DcmItem *, dataset)->putAndInsertString(DCM_NumberOfFrames, numBuf); } } @@ -463,7 +481,7 @@ OFCondition DcmRLECodecDecoder::decodeFrame( Uint16 imageColumns = 0; Sint32 imageFrames = 1; Uint16 imageBitsAllocated = 0; - Uint16 imageBytesAllocated = 0; + Uint32 imageBytesAllocated = 0; Uint16 imagePlanarConfiguration = 0; Uint32 rleHeader[16]; OFString photometricInterpretation; @@ -476,7 +494,7 @@ OFCondition DcmRLECodecDecoder::decodeFrame( if (result.good()) result = dataset->findAndGetOFString(DCM_PhotometricInterpretation, photometricInterpretation); if (result.good()) { - imageBytesAllocated = OFstatic_cast(Uint16, imageBitsAllocated / 8); + imageBytesAllocated = OFstatic_cast(Uint32, imageBitsAllocated / 8); if ((imageBitsAllocated < 8)||(imageBitsAllocated % 8 != 0)) { DCMDATA_ERROR("The RLE decoder only supports images where BitsAllocated is a multiple of 8."); @@ -500,9 +518,16 @@ OFCondition DcmRLECodecDecoder::decodeFrame( const size_t bytesPerStripe = OFstatic_cast(size_t, imageColumns) * OFstatic_cast(size_t, imageRows); Uint32 numberOfStripes = 0; Uint32 fragmentLength = 0; - Uint32 frameSize = OFstatic_cast(Uint32, imageBytesAllocated) * OFstatic_cast(Uint32, imageRows) + Uint32 frameSize = imageBytesAllocated * OFstatic_cast(Uint32, imageRows) * OFstatic_cast(Uint32, imageColumns) * OFstatic_cast(Uint32, imageSamplesPerPixel); + // check for overflow + if (imageRows != 0 && frameSize / imageRows != (imageBytesAllocated * imageColumns * imageSamplesPerPixel)) + { + DCMDATA_WARN("DcmRLECodecDecoder: Cannot decompress image because uncompressed representation would exceed maximum possible size of PixelData attribute"); + return EC_ElemLengthExceeds32BitField; + } + if (frameSize > bufSize) return EC_IllegalCall; DcmRLEDecoder rledecoder(bytesPerStripe); @@ -610,7 +635,13 @@ OFCondition DcmRLECodecDecoder::decodeFrame( bytesToDecode = OFstatic_cast(size_t, inputBytes); } - // last fragment for this RLE stripe + // make sure we don't overshoot the buffer size in case of an incorrect byte offset + if (fragmentLength < byteOffset + bytesToDecode) + { + DCMDATA_ERROR("Byte offset in RLE header is wrong."); + return EC_CannotChangeRepresentation; + } + result = rledecoder.decompress(rleData + byteOffset, bytesToDecode); // special handling for zero pad byte at the end of the RLE stream diff --git a/dcmdata/libsrc/dcrlecce.cc b/dcmdata/libsrc/dcrlecce.cc index 3c017354..ef835f4e 100644 --- a/dcmdata/libsrc/dcrlecce.cc +++ b/dcmdata/libsrc/dcrlecce.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2021, OFFIS e.V. + * Copyright (C) 2002-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -55,7 +55,7 @@ OFBool DcmRLECodecEncoder::canChangeCoding( E_TransferSyntax myXfer = EXS_RLELossless; DcmXfer newRep(newRepType); DcmXfer oldRep(oldRepType); - if (oldRep.isNotEncapsulated() && (newRepType == myXfer)) return OFTrue; // compress requested + if (oldRep.usesNativeFormat() && (newRepType == myXfer)) return OFTrue; // compress requested // we don't support re-coding for now. return OFFalse; diff --git a/dcmdata/libsrc/dcspchrs.cc b/dcmdata/libsrc/dcspchrs.cc index c327a1aa..c4f0ec29 100644 --- a/dcmdata/libsrc/dcspchrs.cc +++ b/dcmdata/libsrc/dcspchrs.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2022, OFFIS e.V. + * Copyright (C) 2011-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -244,17 +244,13 @@ OFCondition DcmSpecificCharacterSet::determineDestinationEncoding(const OFString else if (DestinationCharacterSet == "ISO_IR 203") // Latin alphabet No. 9 DestinationEncoding = "ISO-8859-15"; else if (DestinationCharacterSet == "ISO_IR 13") // Japanese -#if DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_ICONV +#if DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_ICONV || DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_OFICONV DestinationEncoding = "JIS_X0201"; // - the name "ISO-IR-13" is not supported by libiconv #else - DestinationEncoding = "Shift_JIS"; // - ICU and stdlibc iconv only know "Shift_JIS", which is a superset of JIS X0201 + DestinationEncoding = "Shift_JIS"; // - stdlibc iconv only knows "Shift_JIS", which is a superset of JIS X0201 #endif else if (DestinationCharacterSet == "ISO_IR 166") // Thai -#if DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_ICU - DestinationEncoding = "TIS-620"; // - the name "ISO-IR-166" is not supported by ICU -#else DestinationEncoding = "ISO-IR-166"; -#endif else if (DestinationCharacterSet == "ISO_IR 192") // Unicode in UTF-8 (multi-byte) DestinationEncoding = "UTF-8"; else if (DestinationCharacterSet == "GB18030") // Chinese (multi-byte) @@ -307,17 +303,13 @@ OFCondition DcmSpecificCharacterSet::selectCharacterSetWithoutCodeExtensions() else if (SourceCharacterSet == "ISO_IR 203") // Latin alphabet No. 9 fromEncoding = "ISO-8859-15"; else if (SourceCharacterSet == "ISO_IR 13") // Japanese -#if DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_ICONV +#if DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_ICONV || DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_OFICONV fromEncoding = "JIS_X0201"; // - the name "ISO-IR-13" is not supported by libiconv #else - fromEncoding = "Shift_JIS"; // - ICU and stdlibc iconv only know "Shift_JIS", which is a superset of JIS X0201 + fromEncoding = "Shift_JIS"; // - stdlibc iconv only knows "Shift_JIS", which is a superset of JIS X0201 #endif else if (SourceCharacterSet == "ISO_IR 166") // Thai -#if DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_ICU - fromEncoding = "TIS-620"; // - the name "ISO-IR-166" is not supported by ICU -#else fromEncoding = "ISO-IR-166"; -#endif else if (SourceCharacterSet == "ISO_IR 192") // Unicode in UTF-8 (multi-byte) fromEncoding = "UTF-8"; else if (SourceCharacterSet == "GB18030") // Chinese (multi-byte) @@ -421,29 +413,25 @@ OFCondition DcmSpecificCharacterSet::selectCharacterSetWithCodeExtensions(const } else if (definedTerm == "ISO 2022 IR 13") // Japanese { -#if DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_ICONV +#if DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_ICONV || DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_OFICONV encodingName = "JIS_X0201"; // - the name "ISO-IR-13" is not supported by libiconv #else - encodingName = "Shift_JIS"; // - ICU and stdlibc iconv only know "Shift_JIS", which is a superset of JIS X0201 + encodingName = "Shift_JIS"; // - stdlibc iconv only knows "Shift_JIS", which is a superset of JIS X0201 #endif } else if (definedTerm == "ISO 2022 IR 166") // Thai { -#if DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_ICU - encodingName = "TIS-620"; // - "ISO-IR-166" is not supported by ICU -#else encodingName = "ISO-IR-166"; -#endif needsASCII = OFTrue; } else if (definedTerm == "ISO 2022 IR 87") // Japanese (multi-byte), JIS X0208 { - encodingName = "ISO-IR-87"; // - this might generate an error since "ISO-IR-87" is not supported by ICU and stdlibc iconv + encodingName = "ISO-IR-87"; // - this might generate an error since "ISO-IR-87" is not supported by stdlibc iconv notFirstValue = OFTrue; } else if (definedTerm == "ISO 2022 IR 159") // Japanese (multi-byte), JIS X0212 { - encodingName = "ISO-IR-159"; // - this might generate an error since "ISO-IR-159" is not supported by ICU and stdlibc iconv + encodingName = "ISO-IR-159"; // - this might generate an error since "ISO-IR-159" is not supported by stdlibc iconv notFirstValue = OFTrue; } else if (definedTerm == "ISO 2022 IR 149") // Korean (multi-byte) @@ -453,7 +441,7 @@ OFCondition DcmSpecificCharacterSet::selectCharacterSetWithCodeExtensions(const } else if (definedTerm == "ISO 2022 IR 58") // Simplified Chinese (multi-byte) { - encodingName = "GB2312"; // - should work, but not tested yet! + encodingName = "GB2312"; notFirstValue = OFTrue; } else { @@ -548,13 +536,74 @@ OFCondition DcmSpecificCharacterSet::convertString(const char *fromString, const OFString &delimiters) { OFCondition status = EC_Normal; - // check whether there are any code extensions at all - if (EncodingConverters.empty() || !checkForEscapeCharacter(fromString, fromLength)) + // check whether there are or could be any code extensions + const OFBool hasEscapeChar = checkForEscapeCharacter(fromString, fromLength); + if (EncodingConverters.empty() || (!hasEscapeChar && delimiters.empty())) { - DCMDATA_DEBUG("DcmSpecificCharacterSet: Converting '" - << convertToLengthLimitedOctalString(fromString, fromLength) << "'"); - // no code extensions according to ISO 2022 used - this is the simple case - status = DefaultEncodingConverter.convertString(fromString, fromLength, toString, OFTrue /*clearMode*/); + if (delimiters.empty()) + { + // no code extensions according to ISO 2022 used and no delimiters - this is the simple case + DCMDATA_DEBUG("DcmSpecificCharacterSet: Converting '" + << convertToLengthLimitedOctalString(fromString, fromLength) << "'"); + status = DefaultEncodingConverter.convertString(fromString, fromLength, toString, OFTrue /*clearMode*/); + } else { + // no code extensions according to ISO 2022 used, but delimiters + DCMDATA_DEBUG("DcmSpecificCharacterSet: Converting '" + << convertToLengthLimitedOctalString(fromString, fromLength) + << "' (with delimiters '" << delimiters << "')"); + + toString.clear(); + size_t pos = 0; + const char *firstChar = fromString; + const char *currentChar = fromString; + + // iterate over all characters of the string (as long as there is no error) + while ((pos < fromLength) && status.good()) + { + const char c0 = *currentChar++; + + // check for characters ESC, HT, LF, FF, CR or any other specified delimiter + if ((c0 == '\011') || (c0 == '\012') || (c0 == '\014') || (c0 == '\015') || (delimiters.find(c0) != OFString_npos)) + { + // convert the sub-string (before the delimiter) with the current character set + const size_t convertLength = currentChar - firstChar - 1; + if (convertLength > 0) + { + // output some debug information + DCMDATA_TRACE(" Converting sub-string '" + << convertToLengthLimitedOctalString(firstChar, convertLength) << "'"); + status = DefaultEncodingConverter.convertString(firstChar, convertLength, toString, OFFalse /*clearMode*/); + if (status.bad()) + DCMDATA_TRACE(" -> ERROR: " << status.text()); + } + + // output some debug information + DCMDATA_TRACE(" Appending delimiter '" + << convertToLengthLimitedOctalString(currentChar - 1 /* identical to c0 */, 1) + << "' to the output"); + // don't forget to append the delimiter + toString += c0; + + // start new sub-string after delimiter + firstChar = currentChar; + } + ++pos; + } + if (status.good()) + { + // convert any remaining characters from the input string + const size_t convertLength = currentChar - firstChar; + if (convertLength > 0) + { + // output some debug information + DCMDATA_TRACE(" Converting remaining sub-string '" + << convertToLengthLimitedOctalString(firstChar, convertLength) << "'"); + status = DefaultEncodingConverter.convertString(firstChar, convertLength, toString, OFFalse /*clearMode*/); + if (status.bad()) + DCMDATA_TRACE(" -> ERROR: " << status.text()); + } + } + } } else { if (delimiters.empty()) { @@ -564,10 +613,11 @@ OFCondition DcmSpecificCharacterSet::convertString(const char *fromString, } else { DCMDATA_DEBUG("DcmSpecificCharacterSet: Converting '" << convertToLengthLimitedOctalString(fromString, fromLength) - << "' (with code extensions and delimiters '" << delimiters << "')"); + << "' (with " << (hasEscapeChar ? "code extensions and " : "") + << "delimiters '" << delimiters << "')"); } - // code extensions according to ISO 2022 used, so we need to check for - // particular escape sequences in order to switch between character sets + // code extensions according to ISO 2022 (possibly) used, so we need to check + // for particular escape sequences in order to switch between character sets toString.clear(); size_t pos = 0; // some (extended) character sets use more than 1 byte per character diff --git a/dcmdata/libsrc/dctag.cc b/dcmdata/libsrc/dctag.cc index 9166d51d..64aa7ab1 100644 --- a/dcmdata/libsrc/dctag.cc +++ b/dcmdata/libsrc/dctag.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -188,7 +188,7 @@ DcmVR DcmTag::setVR(const DcmVR& avr) // resolve ambiguous VR { vr = avr; - if (vr.getEVR() == EVR_UNKNOWN) + if (vr.isUnknown() || vr.isInvalid()) { errorFlag = EC_InvalidVR; } else { @@ -233,7 +233,7 @@ OFBool DcmTag::isUnknownVR() const OFBool result = OFFalse; switch (vr.getValidEVR()) // this is the VR we're going to write in explicit VR { - case EVR_UNKNOWN: + case EVR_UNKNOWN: // in fact, getValidEVR() should never return the first two case EVR_UNKNOWN2B: case EVR_UN: result = OFTrue; @@ -267,10 +267,7 @@ OFCondition DcmTag::findTagFromName(const char *name, DcmTag &value) const DcmDictEntry *dicent = globalDataDict.findEntry(name); /* store resulting tag value */ if (dicent != NULL) - { - value.set(dicent->getKey()); - value.setVR(dicent->getVR()); - } + value.setTag(dicent->getKey(), dicent->getVR(), dicent->getTagName(), dicent->getPrivateCreator()); else result = EC_TagNotFound; dcmDataDict.rdunlock(); @@ -295,6 +292,19 @@ void DcmTag::setPrivateCreator(const char *privCreator) } +void DcmTag::setTag(const DcmTagKey &key, + const DcmVR &avr, + const char *name, + const char *privCreator) +{ + set(key); + /* the following method also sets the errorFlag */ + setVR(avr); + updateTagName(name); + updatePrivateCreator(privCreator); +} + + void DcmTag::updateTagName(const char *c) { delete[] tagName; diff --git a/dcmdata/libsrc/dctagkey.cc b/dcmdata/libsrc/dctagkey.cc index 191d1836..a8cabcf0 100644 --- a/dcmdata/libsrc/dctagkey.cc +++ b/dcmdata/libsrc/dctagkey.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -48,7 +48,7 @@ OFString DcmTagKey::toString() const { OFStandard::strlcpy(tagBuf, "(\?\?\?\?,\?\?\?\?)", 16); // prevent trigraph expansion in string constant } else { - sprintf(tagBuf, "(%04x,%04x)", OFstatic_cast(unsigned, group), OFstatic_cast(unsigned, element)); + OFStandard::snprintf(tagBuf, sizeof(tagBuf), "(%04x,%04x)", OFstatic_cast(unsigned, group), OFstatic_cast(unsigned, element)); } return tagBuf; } diff --git a/dcmdata/libsrc/dcuid.cc b/dcmdata/libsrc/dcuid.cc index a95eb619..93eeeba7 100644 --- a/dcmdata/libsrc/dcuid.cc +++ b/dcmdata/libsrc/dcuid.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -13,7 +13,7 @@ * * Module: dcmdata * - * Author: Andrew Hewett + * Author: Andrew Hewett, Joerg Riesmeier * * Purpose: * Definitions of "well known" DICOM Unique Identifiers, @@ -78,551 +78,574 @@ END_EXTERN_C #include "dcmtk/ofstd/ofvector.h" #include "dcmtk/ofstd/ofsockad.h" +/** struct for mapping UID values to keywords, names and properties + */ struct UIDNameMap { const char* uid; const char* keyword; const char* name; + DcmUIDProperties properties; }; -// -// It is very important that the names of the UIDs (third value) may not use -// the following characters: space ( ) [ ], = < > - +/** UID mapping table. + * It is very important that the DCMTK-specific names of the UIDs (column #3) + * may not use the following characters: space ( ) [ ] , = < > + * For the official keywords (column #2) according to DICOM PS3.6, the DICOM + * standard already ensures this. + */ static const UIDNameMap uidNameMap[] = { + // column #1: UID #2: DICOM keyword #3: DCMTK-specific name #4: properties // Application Context - { UID_StandardApplicationContext, "DICOMApplicationContext", "StandardApplicationContext" }, + { UID_StandardApplicationContext, "DICOMApplicationContext", "StandardApplicationContext", { EUS_DICOM, EUV_Standard, EUT_ApplicationContextName, EUST_other, EUIT_other, UID_PROP_NONE } }, // Transfer Syntax - { UID_LittleEndianImplicitTransferSyntax, "ImplicitVRLittleEndian", "LittleEndianImplicit" }, - { UID_LittleEndianExplicitTransferSyntax, "ExplicitVRLittleEndian", "LittleEndianExplicit" }, - { UID_BigEndianExplicitTransferSyntax, "ExplicitVRBigEndian", "BigEndianExplicit" }, - { UID_JPEGProcess1TransferSyntax, "JPEGBaseline8Bit", "JPEGBaseline" }, - { UID_JPEGProcess2_4TransferSyntax, "JPEGExtended12Bit", "JPEGExtended:Process2+4" }, - { UID_JPEGProcess3_5TransferSyntax, "JPEGExtended35", "JPEGExtended:Process3+5" }, - { UID_JPEGProcess6_8TransferSyntax, "JPEGSpectralSelectionNonHierarchical68", "JPEGSpectralSelection:Non-hierarchical:Process6+8" }, - { UID_JPEGProcess7_9TransferSyntax, "JPEGSpectralSelectionNonHierarchical79", "JPEGSpectralSelection:Non-hierarchical:Process7+9" }, - { UID_JPEGProcess10_12TransferSyntax, "JPEGFullProgressionNonHierarchical1012", "JPEGFullProgression:Non-hierarchical:Process10+12" }, - { UID_JPEGProcess11_13TransferSyntax, "JPEGFullProgressionNonHierarchical1113", "JPEGFullProgression:Non-hierarchical:Process11+13" }, - { UID_JPEGProcess14TransferSyntax, "JPEGLossless", "JPEGLossless:Non-hierarchical:Process14" }, - { UID_JPEGProcess15TransferSyntax, "JPEGLosslessNonHierarchical15", "JPEGLossless:Non-hierarchical:Process15" }, - { UID_JPEGProcess16_18TransferSyntax, "JPEGExtendedHierarchical1618", "JPEGExtended:Hierarchical:Process16+18" }, - { UID_JPEGProcess17_19TransferSyntax, "JPEGExtendedHierarchical1719", "JPEGExtended:Hierarchical:Process17+19" }, - { UID_JPEGProcess20_22TransferSyntax, "JPEGSpectralSelectionHierarchical2022", "JPEGSpectralSelection:Hierarchical:Process20+22" }, - { UID_JPEGProcess21_23TransferSyntax, "JPEGSpectralSelectionHierarchical2123", "JPEGSpectralSelection:Hierarchical:Process21+23" }, - { UID_JPEGProcess24_26TransferSyntax, "JPEGFullProgressionHierarchical2426", "JPEGFullProgression:Hierarchical:Process24+26" }, - { UID_JPEGProcess25_27TransferSyntax, "JPEGFullProgressionHierarchical2527", "JPEGFullProgression:Hierarchical:Process25+27" }, - { UID_JPEGProcess28TransferSyntax, "JPEGLosslessHierarchical28", "JPEGLossless:Hierarchical:Process28" }, - { UID_JPEGProcess29TransferSyntax, "JPEGLosslessHierarchical29", "JPEGLossless:Hierarchical:Process29" }, - { UID_JPEGProcess14SV1TransferSyntax, "JPEGLosslessSV1", "JPEGLossless:Non-hierarchical-1stOrderPrediction" }, - { UID_JPEGLSLosslessTransferSyntax, "JPEGLSLossless", "JPEGLSLossless" }, - { UID_JPEGLSLossyTransferSyntax, "JPEGLSNearLossless", "JPEGLSLossy" }, - { UID_RLELosslessTransferSyntax, "RLELossless", "RLELossless" }, - { UID_DeflatedExplicitVRLittleEndianTransferSyntax, "DeflatedExplicitVRLittleEndian", "DeflatedLittleEndianExplicit" }, - { UID_JPEG2000LosslessOnlyTransferSyntax, "JPEG2000Lossless", "JPEG2000LosslessOnly" }, - { UID_JPEG2000TransferSyntax, "JPEG2000", "JPEG2000" }, - { UID_JPEG2000Part2MulticomponentImageCompressionLosslessOnlyTransferSyntax, "JPEG2000MCLossless", "JPEG2000MulticomponentLosslessOnly" }, - { UID_JPEG2000Part2MulticomponentImageCompressionTransferSyntax, "JPEG2000MC", "JPEG2000Multicomponent" }, - { UID_JPIPReferencedTransferSyntax, "JPIPReferenced", "JPIPReferenced" }, - { UID_JPIPReferencedDeflateTransferSyntax, "JPIPReferencedDeflate", "JPIPReferencedDeflate" }, - { UID_MPEG2MainProfileAtMainLevelTransferSyntax, "MPEG2MPML", "MPEG2MainProfile@MainLevel" }, - { UID_FragmentableMPEG2MainProfileMainLevelTransferSyntax, "MPEG2MPMLF", "FragmentableMPEG2MainProfile/MainLevel" }, - { UID_MPEG2MainProfileAtHighLevelTransferSyntax, "MPEG2MPHL", "MPEG2MainProfile@HighLevel" }, - { UID_FragmentableMPEG2MainProfileHighLevelTransferSyntax, "MPEG2MPHLF", "FragmentableMPEG2MainProfile/HighLevel" }, - { UID_MPEG4HighProfileLevel4_1TransferSyntax, "MPEG4HP41", "MPEG4HighProfile/Level4.1" }, - { UID_FragmentableMPEG4HighProfileLevel4_1TransferSyntax, "MPEG4HP41F", "FragmentableMPEG4HighProfile/Level4.1" }, - { UID_MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax, "MPEG4HP41BD", "MPEG4BDcompatibleHighProfile/Level4.1" }, - { UID_FragmentableMPEG4BDcompatibleHighProfileLevel4_1TransferSyntax, "MPEG4HP41BDF", "FragmentableMPEG4BDcompatibleHighProfile/Level4.1" }, - { UID_MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax, "MPEG4HP422D", "MPEG4HighProfile/Level4.2For2DVideo" }, - { UID_FragmentableMPEG4HighProfileLevel4_2_For2DVideoTransferSyntax, "MPEG4HP422DF", "FragmentableMPEG4HighProfile/Level4.2For2DVideo" }, - { UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax, "MPEG4HP423D", "MPEG4HighProfile/Level4.2For3DVideo" }, - { UID_FragmentableMPEG4HighProfileLevel4_2_For3DVideoTransferSyntax, "MPEG4HP423DF", "FragmentableMPEG4HighProfile/Level4.2For3DVideo" }, - { UID_MPEG4StereoHighProfileLevel4_2TransferSyntax, "MPEG4HP42STEREO", "MPEG4StereoHighProfile/Level4.2" }, - { UID_FragmentableMPEG4StereoHighProfileLevel4_2TransferSyntax, "MPEG4HP42STEREOF", "FragmentableMPEG4StereoHighProfile/Level4.2" }, - { UID_HEVCMainProfileLevel5_1TransferSyntax, "HEVCMP51", "HEVCMainProfile/Level5.1" }, - { UID_HEVCMain10ProfileLevel5_1TransferSyntax, "HEVCM10P51", "HEVCMain10Profile/Level5.1" }, - { UID_SMPTEST2110_20_UncompressedProgressiveActiveVideoTransferSyntax, "SMPTEST211020UncompressedProgressiveActiveVideo", "SMPTEST2110-20:UncompressedProgressiveActiveVideo" }, - { UID_SMPTEST2110_20_UncompressedInterlacedActiveVideoTransferSyntax, "SMPTEST211020UncompressedInterlacedActiveVideo", "SMPTEST2110-20:UncompressedInterlacedActiveVideo" }, - { UID_SMPTEST2110_30_PCMDigitalAudioTransferSyntax, "SMPTEST211030PCMDigitalAudio", "SMPTEST2110-30:PCMDigitalAudio" }, - { UID_RETIRED_RFC2557MIMEEncapsulationTransferSyntax, "RFC2557MIMEEncapsulation", "RETIRED_RFC2557MIMEEncapsulation" }, - { UID_RETIRED_XMLEncodingTransferSyntax, "XMLEncoding", "RETIRED_XMLEncoding" }, - { UID_PrivateGE_LEI_WithBigEndianPixelDataTransferSyntax, NULL /* no official keyword */, "PrivateGELittleEndianImplicitWithBigEndianPixelData" }, + { UID_LittleEndianImplicitTransferSyntax, "ImplicitVRLittleEndian", "LittleEndianImplicit", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LittleEndianExplicitTransferSyntax, "ExplicitVRLittleEndian", "LittleEndianExplicit", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_BigEndianExplicitTransferSyntax, "ExplicitVRBigEndian", "BigEndianExplicit", { EUS_DICOM, EUV_Retired, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_EncapsulatedUncompressedExplicitVRLittleEndianTransferSyntax, "EncapsulatedUncompressedExplicitVRLittleEndian", "EncapsulatedUncompressedLittleEndianExplicit", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess1TransferSyntax, "JPEGBaseline8Bit", "JPEGBaseline", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess2_4TransferSyntax, "JPEGExtended12Bit", "JPEGExtended:Process2+4", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess3_5TransferSyntax, "JPEGExtended35", "JPEGExtended:Process3+5", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess6_8TransferSyntax, "JPEGSpectralSelectionNonHierarchical68", "JPEGSpectralSelection:Non-hierarchical:Process6+8", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess7_9TransferSyntax, "JPEGSpectralSelectionNonHierarchical79", "JPEGSpectralSelection:Non-hierarchical:Process7+9", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess10_12TransferSyntax, "JPEGFullProgressionNonHierarchical1012", "JPEGFullProgression:Non-hierarchical:Process10+12", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess11_13TransferSyntax, "JPEGFullProgressionNonHierarchical1113", "JPEGFullProgression:Non-hierarchical:Process11+13", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess14TransferSyntax, "JPEGLossless", "JPEGLossless:Non-hierarchical:Process14", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess15TransferSyntax, "JPEGLosslessNonHierarchical15", "JPEGLossless:Non-hierarchical:Process15", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess16_18TransferSyntax, "JPEGExtendedHierarchical1618", "JPEGExtended:Hierarchical:Process16+18", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess17_19TransferSyntax, "JPEGExtendedHierarchical1719", "JPEGExtended:Hierarchical:Process17+19", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess20_22TransferSyntax, "JPEGSpectralSelectionHierarchical2022", "JPEGSpectralSelection:Hierarchical:Process20+22", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess21_23TransferSyntax, "JPEGSpectralSelectionHierarchical2123", "JPEGSpectralSelection:Hierarchical:Process21+23", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess24_26TransferSyntax, "JPEGFullProgressionHierarchical2426", "JPEGFullProgression:Hierarchical:Process24+26", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess25_27TransferSyntax, "JPEGFullProgressionHierarchical2527", "JPEGFullProgression:Hierarchical:Process25+27", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess28TransferSyntax, "JPEGLosslessHierarchical28", "JPEGLossless:Hierarchical:Process28", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess29TransferSyntax, "JPEGLosslessHierarchical29", "JPEGLossless:Hierarchical:Process29", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGProcess14SV1TransferSyntax, "JPEGLosslessSV1", "JPEGLossless:Non-hierarchical-1stOrderPrediction", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGLSLosslessTransferSyntax, "JPEGLSLossless", "JPEGLSLossless", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGLSLossyTransferSyntax, "JPEGLSNearLossless", "JPEGLSLossy", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RLELosslessTransferSyntax, "RLELossless", "RLELossless", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_DeflatedExplicitVRLittleEndianTransferSyntax, "DeflatedExplicitVRLittleEndian", "DeflatedLittleEndianExplicit", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEG2000LosslessOnlyTransferSyntax, "JPEG2000Lossless", "JPEG2000LosslessOnly", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEG2000TransferSyntax, "JPEG2000", "JPEG2000", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEG2000Part2MulticomponentImageCompressionLosslessOnlyTransferSyntax, "JPEG2000MCLossless", "JPEG2000MulticomponentLosslessOnly", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEG2000Part2MulticomponentImageCompressionTransferSyntax, "JPEG2000MC", "JPEG2000Multicomponent", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPIPReferencedTransferSyntax, "JPIPReferenced", "JPIPReferenced", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPIPReferencedDeflateTransferSyntax, "JPIPReferencedDeflate", "JPIPReferencedDeflate", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_MPEG2MainProfileAtMainLevelTransferSyntax, "MPEG2MPML", "MPEG2MainProfile@MainLevel", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_FragmentableMPEG2MainProfileMainLevelTransferSyntax, "MPEG2MPMLF", "FragmentableMPEG2MainProfile/MainLevel", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_MPEG2MainProfileAtHighLevelTransferSyntax, "MPEG2MPHL", "MPEG2MainProfile@HighLevel", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_FragmentableMPEG2MainProfileHighLevelTransferSyntax, "MPEG2MPHLF", "FragmentableMPEG2MainProfile/HighLevel", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_MPEG4HighProfileLevel4_1TransferSyntax, "MPEG4HP41", "MPEG4HighProfile/Level4.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_FragmentableMPEG4HighProfileLevel4_1TransferSyntax, "MPEG4HP41F", "FragmentableMPEG4HighProfile/Level4.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax, "MPEG4HP41BD", "MPEG4BDcompatibleHighProfile/Level4.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_FragmentableMPEG4BDcompatibleHighProfileLevel4_1TransferSyntax, "MPEG4HP41BDF", "FragmentableMPEG4BDcompatibleHighProfile/Level4.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax, "MPEG4HP422D", "MPEG4HighProfile/Level4.2For2DVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_FragmentableMPEG4HighProfileLevel4_2_For2DVideoTransferSyntax, "MPEG4HP422DF", "FragmentableMPEG4HighProfile/Level4.2For2DVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax, "MPEG4HP423D", "MPEG4HighProfile/Level4.2For3DVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_FragmentableMPEG4HighProfileLevel4_2_For3DVideoTransferSyntax, "MPEG4HP423DF", "FragmentableMPEG4HighProfile/Level4.2For3DVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_MPEG4StereoHighProfileLevel4_2TransferSyntax, "MPEG4HP42STEREO", "MPEG4StereoHighProfile/Level4.2", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_FragmentableMPEG4StereoHighProfileLevel4_2TransferSyntax, "MPEG4HP42STEREOF", "FragmentableMPEG4StereoHighProfile/Level4.2", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_HEVCMainProfileLevel5_1TransferSyntax, "HEVCMP51", "HEVCMainProfile/Level5.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_HEVCMain10ProfileLevel5_1TransferSyntax, "HEVCM10P51", "HEVCMain10Profile/Level5.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGXLLosslessTransferSyntax, "JPEGXLLossless", "JPEGXLLossless", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGXLJPEGRecompressionTransferSyntax, "JPEGXLJPEGRecompression", "JPEGXLJPEGRecompression", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPEGXLTransferSyntax, "JPEGXL", "JPEGXL", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_HighThroughputJPEG2000ImageCompressionLosslessOnlyTransferSyntax, "HTJ2KLossless", "HighThroughputJPEG2000ImageCompressionLosslessOnly", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_HighThroughputJPEG2000RPCLImageCompressionLosslessOnlyTransferSyntax, "HTJ2KLosslessRPCL", "HighThroughputJPEG2000withRPCLOptionsImageCompressionLosslessOnly", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_HighThroughputJPEG2000ImageCompressionTransferSyntax, "HTJ2K", "HighThroughputJPEG2000ImageCompression", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPIPHTJ2KReferencedTransferSyntax, "JPIPHTJ2KReferenced", "JPIPHTJ2KReferenced", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_JPIPHTJ2KReferencedDeflateTransferSyntax, "JPIPHTJ2KReferencedDeflate", "JPIPHTJ2KReferencedDeflate", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SMPTEST2110_20_UncompressedProgressiveActiveVideoTransferSyntax, "SMPTEST211020UncompressedProgressiveActiveVideo", "SMPTEST2110-20:UncompressedProgressiveActiveVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SMPTEST2110_20_UncompressedInterlacedActiveVideoTransferSyntax, "SMPTEST211020UncompressedInterlacedActiveVideo", "SMPTEST2110-20:UncompressedInterlacedActiveVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SMPTEST2110_30_PCMDigitalAudioTransferSyntax, "SMPTEST211030PCMDigitalAudio", "SMPTEST2110-30:PCMDigitalAudio", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_RFC2557MIMEEncapsulationTransferSyntax, "RFC2557MIMEEncapsulation", "RETIRED_RFC2557MIMEEncapsulation", { EUS_DICOM, EUV_Retired, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_XMLEncodingTransferSyntax, "XMLEncoding", "RETIRED_XMLEncoding", { EUS_DICOM, EUV_Retired, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_PrivateGE_LEI_WithBigEndianPixelDataTransferSyntax, NULL /* no official keyword */, "PrivateGELittleEndianImplicitWithBigEndianPixelData", { EUS_DICOM, EUV_Private, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, // Storage (DICOM) - { UID_AcquisitionContextSRStorage, "AcquisitionContextSRStorage", "AcquisitionContextSRStorage" }, - { UID_AdvancedBlendingPresentationStateStorage, "AdvancedBlendingPresentationStateStorage", "AdvancedBlendingPresentationStateStorage" }, - { UID_AmbulatoryECGWaveformStorage, "AmbulatoryECGWaveformStorage", "AmbulatoryECGWaveformStorage" }, - { UID_ArterialPulseWaveformStorage, "ArterialPulseWaveformStorage", "ArterialPulseWaveformStorage" }, - { UID_AutorefractionMeasurementsStorage, "AutorefractionMeasurementsStorage", "AutorefractionMeasurementsStorage" }, - { UID_BasicStructuredDisplayStorage, "BasicStructuredDisplayStorage", "BasicStructuredDisplayStorage" }, - { UID_BasicTextSRStorage, "BasicTextSRStorage", "BasicTextSRStorage" }, - { UID_BasicVoiceAudioWaveformStorage, "BasicVoiceAudioWaveformStorage", "BasicVoiceAudioWaveformStorage" }, - { UID_BlendingSoftcopyPresentationStateStorage, "BlendingSoftcopyPresentationStateStorage", "BlendingSoftcopyPresentationStateStorage" }, - { UID_BodyPositionWaveformStorage, "BodyPositionWaveformStorage", "BodyPositionWaveformStorage" }, - { UID_BreastProjectionXRayImageStorageForPresentation, "BreastProjectionXRayImageStorageForPresentation", "BreastProjectionXRayImageStorageForPresentation" }, - { UID_BreastProjectionXRayImageStorageForProcessing, "BreastProjectionXRayImageStorageForProcessing", "BreastProjectionXRayImageStorageForProcessing" }, - { UID_BreastTomosynthesisImageStorage, "BreastTomosynthesisImageStorage", "BreastTomosynthesisImageStorage" }, - { UID_CardiacElectrophysiologyWaveformStorage, "CardiacElectrophysiologyWaveformStorage", "CardiacElectrophysiologyWaveformStorage" }, - { UID_CArmPhotonElectronRadiationRecordStorage, "CArmPhotonElectronRadiationRecordStorage", "CArmPhotonElectronRadiationRecordStorage" }, - { UID_CArmPhotonElectronRadiationStorage, "CArmPhotonElectronRadiationStorage", "CArmPhotonElectronRadiationStorage" }, - { UID_ChestCADSRStorage, "ChestCADSRStorage", "ChestCADSRStorage" }, - { UID_ColonCADSRStorage, "ColonCADSRStorage", "ColonCADSRStorage" }, - { UID_ColorSoftcopyPresentationStateStorage, "ColorSoftcopyPresentationStateStorage", "ColorSoftcopyPresentationStateStorage" }, - { UID_CompositingPlanarMPRVolumetricPresentationStateStorage, "CompositingPlanarMPRVolumetricPresentationStateStorage", "CompositingPlanarMPRVolumetricPresentationStateStorage" }, - { UID_Comprehensive3DSRStorage, "Comprehensive3DSRStorage", "Comprehensive3DSRStorage" }, - { UID_ComprehensiveSRStorage, "ComprehensiveSRStorage", "ComprehensiveSRStorage" }, - { UID_ComputedRadiographyImageStorage, "ComputedRadiographyImageStorage", "ComputedRadiographyImageStorage" }, - { UID_ContentAssessmentResultsStorage, "ContentAssessmentResultsStorage", "ContentAssessmentResultsStorage" }, - { UID_CornealTopographyMapStorage, "CornealTopographyMapStorage", "CornealTopographyMapStorage" }, - { UID_CTDefinedProcedureProtocolStorage, "CTDefinedProcedureProtocolStorage", "CTDefinedProcedureProtocolStorage" }, - { UID_CTImageStorage, "CTImageStorage", "CTImageStorage" }, - { UID_CTPerformedProcedureProtocolStorage, "CTPerformedProcedureProtocolStorage", "CTPerformedProcedureProtocolStorage" }, - { UID_DeformableSpatialRegistrationStorage, "DeformableSpatialRegistrationStorage", "DeformableSpatialRegistrationStorage" }, - { UID_DermoscopicPhotographyImageStorage, "DermoscopicPhotographyImageStorage", "DermoscopicPhotographyImageStorage" }, - { UID_DigitalIntraOralXRayImageStorageForPresentation, "DigitalIntraOralXRayImageStorageForPresentation", "DigitalIntraOralXRayImageStorageForPresentation" }, - { UID_DigitalIntraOralXRayImageStorageForProcessing, "DigitalIntraOralXRayImageStorageForProcessing", "DigitalIntraOralXRayImageStorageForProcessing" }, - { UID_DigitalMammographyXRayImageStorageForPresentation, "DigitalMammographyXRayImageStorageForPresentation", "DigitalMammographyXRayImageStorageForPresentation" }, - { UID_DigitalMammographyXRayImageStorageForProcessing, "DigitalMammographyXRayImageStorageForProcessing", "DigitalMammographyXRayImageStorageForProcessing" }, - { UID_DigitalXRayImageStorageForPresentation, "DigitalXRayImageStorageForPresentation", "DigitalXRayImageStorageForPresentation" }, - { UID_DigitalXRayImageStorageForProcessing, "DigitalXRayImageStorageForProcessing", "DigitalXRayImageStorageForProcessing" }, - { UID_ElectromyogramWaveformStorage, "ElectromyogramWaveformStorage", "ElectromyogramWaveformStorage" }, - { UID_ElectrooculogramWaveformStorage, "ElectrooculogramWaveformStorage", "ElectrooculogramWaveformStorage" }, - { UID_EncapsulatedCDAStorage, "EncapsulatedCDAStorage", "EncapsulatedCDAStorage" }, - { UID_EncapsulatedMTLStorage, "EncapsulatedMTLStorage", "EncapsulatedMTLStorage" }, - { UID_EncapsulatedOBJStorage, "EncapsulatedOBJStorage", "EncapsulatedOBJStorage" }, - { UID_EncapsulatedPDFStorage, "EncapsulatedPDFStorage", "EncapsulatedPDFStorage" }, - { UID_EncapsulatedSTLStorage, "EncapsulatedSTLStorage", "EncapsulatedSTLStorage" }, - { UID_EnhancedContinuousRTImageStorage, "EnhancedContinuousRTImageStorage", "EnhancedContinuousRTImageStorage" }, - { UID_EnhancedCTImageStorage, "EnhancedCTImageStorage", "EnhancedCTImageStorage" }, - { UID_EnhancedMRColorImageStorage, "EnhancedMRColorImageStorage", "EnhancedMRColorImageStorage" }, - { UID_EnhancedMRImageStorage, "EnhancedMRImageStorage", "EnhancedMRImageStorage" }, - { UID_EnhancedPETImageStorage, "EnhancedPETImageStorage", "EnhancedPETImageStorage" }, - { UID_EnhancedRTImageStorage, "EnhancedRTImageStorage", "EnhancedRTImageStorage" }, - { UID_EnhancedSRStorage, "EnhancedSRStorage", "EnhancedSRStorage" }, - { UID_EnhancedUSVolumeStorage, "EnhancedUSVolumeStorage", "EnhancedUSVolumeStorage" }, - { UID_EnhancedXAImageStorage, "EnhancedXAImageStorage", "EnhancedXAImageStorage" }, - { UID_EnhancedXRayRadiationDoseSRStorage, "EnhancedXRayRadiationDoseSRStorage", "EnhancedXRayRadiationDoseSRStorage" }, - { UID_EnhancedXRFImageStorage, "EnhancedXRFImageStorage", "EnhancedXRFImageStorage" }, - { UID_ExtensibleSRStorage, "ExtensibleSRStorage", "ExtensibleSRStorage" }, - { UID_General32BitECGWaveformStorage, "General32bitECGWaveformStorage", "General32BitECGWaveformStorage" }, - { UID_GeneralAudioWaveformStorage, "GeneralAudioWaveformStorage", "GeneralAudioWaveformStorage" }, - { UID_GeneralECGWaveformStorage, "GeneralECGWaveformStorage", "GeneralECGWaveformStorage" }, - { UID_GrayscalePlanarMPRVolumetricPresentationStateStorage, "GrayscalePlanarMPRVolumetricPresentationStateStorage", "GrayscalePlanarMPRVolumetricPresentationStateStorage" }, - { UID_GrayscaleSoftcopyPresentationStateStorage, "GrayscaleSoftcopyPresentationStateStorage", "GrayscaleSoftcopyPresentationStateStorage" }, - { UID_HemodynamicWaveformStorage, "HemodynamicWaveformStorage", "HemodynamicWaveformStorage" }, - { UID_ImplantationPlanSRStorage, "ImplantationPlanSRStorage", "ImplantationPlanSRStorage" }, + { UID_AcquisitionContextSRStorage, "AcquisitionContextSRStorage", "AcquisitionContextSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_AdvancedBlendingPresentationStateStorage, "AdvancedBlendingPresentationStateStorage", "AdvancedBlendingPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_AmbulatoryECGWaveformStorage, "AmbulatoryECGWaveformStorage", "AmbulatoryECGWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_ArterialPulseWaveformStorage, "ArterialPulseWaveformStorage", "ArterialPulseWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_AutorefractionMeasurementsStorage, "AutorefractionMeasurementsStorage", "AutorefractionMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_BasicStructuredDisplayStorage, "BasicStructuredDisplayStorage", "BasicStructuredDisplayStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_BasicTextSRStorage, "BasicTextSRStorage", "BasicTextSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_BasicVoiceAudioWaveformStorage, "BasicVoiceAudioWaveformStorage", "BasicVoiceAudioWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_BlendingSoftcopyPresentationStateStorage, "BlendingSoftcopyPresentationStateStorage", "BlendingSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_BodyPositionWaveformStorage, "BodyPositionWaveformStorage", "BodyPositionWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_BreastProjectionXRayImageStorageForPresentation, "BreastProjectionXRayImageStorageForPresentation", "BreastProjectionXRayImageStorageForPresentation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_BreastProjectionXRayImageStorageForProcessing, "BreastProjectionXRayImageStorageForProcessing", "BreastProjectionXRayImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_BreastTomosynthesisImageStorage, "BreastTomosynthesisImageStorage", "BreastTomosynthesisImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_CardiacElectrophysiologyWaveformStorage, "CardiacElectrophysiologyWaveformStorage", "CardiacElectrophysiologyWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_CArmPhotonElectronRadiationRecordStorage, "CArmPhotonElectronRadiationRecordStorage", "CArmPhotonElectronRadiationRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_CArmPhotonElectronRadiationStorage, "CArmPhotonElectronRadiationStorage", "CArmPhotonElectronRadiationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_ChestCADSRStorage, "ChestCADSRStorage", "ChestCADSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_ColonCADSRStorage, "ColonCADSRStorage", "ColonCADSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_ColorSoftcopyPresentationStateStorage, "ColorSoftcopyPresentationStateStorage", "ColorSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_CompositingPlanarMPRVolumetricPresentationStateStorage, "CompositingPlanarMPRVolumetricPresentationStateStorage", "CompositingPlanarMPRVolumetricPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_Comprehensive3DSRStorage, "Comprehensive3DSRStorage", "Comprehensive3DSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_ComprehensiveSRStorage, "ComprehensiveSRStorage", "ComprehensiveSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_ComputedRadiographyImageStorage, "ComputedRadiographyImageStorage", "ComputedRadiographyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_ConfocalMicroscopyImageStorage, "ConfocalMicroscopyImageStorage", "ConfocalMicroscopyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_ConfocalMicroscopyTiledPyramidalImageStorage, "ConfocalMicroscopyTiledPyramidalImageStorage", "ConfocalMicroscopyTiledPyramidalImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_ContentAssessmentResultsStorage, "ContentAssessmentResultsStorage", "ContentAssessmentResultsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_CornealTopographyMapStorage, "CornealTopographyMapStorage", "CornealTopographyMapStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_CTDefinedProcedureProtocolStorage, "CTDefinedProcedureProtocolStorage", "CTDefinedProcedureProtocolStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT | UID_PROP_NO_DIR_RECORD } }, + { UID_CTImageStorage, "CTImageStorage", "CTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_CTPerformedProcedureProtocolStorage, "CTPerformedProcedureProtocolStorage", "CTPerformedProcedureProtocolStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_DeformableSpatialRegistrationStorage, "DeformableSpatialRegistrationStorage", "DeformableSpatialRegistrationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_DermoscopicPhotographyImageStorage, "DermoscopicPhotographyImageStorage", "DermoscopicPhotographyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DigitalIntraOralXRayImageStorageForPresentation, "DigitalIntraOralXRayImageStorageForPresentation", "DigitalIntraOralXRayImageStorageForPresentation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DigitalIntraOralXRayImageStorageForProcessing, "DigitalIntraOralXRayImageStorageForProcessing", "DigitalIntraOralXRayImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DigitalMammographyXRayImageStorageForPresentation, "DigitalMammographyXRayImageStorageForPresentation", "DigitalMammographyXRayImageStorageForPresentation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DigitalMammographyXRayImageStorageForProcessing, "DigitalMammographyXRayImageStorageForProcessing", "DigitalMammographyXRayImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DigitalXRayImageStorageForPresentation, "DigitalXRayImageStorageForPresentation", "DigitalXRayImageStorageForPresentation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DigitalXRayImageStorageForProcessing, "DigitalXRayImageStorageForProcessing", "DigitalXRayImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_ElectromyogramWaveformStorage, "ElectromyogramWaveformStorage", "ElectromyogramWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_ElectrooculogramWaveformStorage, "ElectrooculogramWaveformStorage", "ElectrooculogramWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_EncapsulatedCDAStorage, "EncapsulatedCDAStorage", "EncapsulatedCDAStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Encapsulated, UID_PROP_NONE } }, + { UID_EncapsulatedMTLStorage, "EncapsulatedMTLStorage", "EncapsulatedMTLStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Encapsulated, UID_PROP_NONE } }, + { UID_EncapsulatedOBJStorage, "EncapsulatedOBJStorage", "EncapsulatedOBJStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Encapsulated, UID_PROP_NONE } }, + { UID_EncapsulatedPDFStorage, "EncapsulatedPDFStorage", "EncapsulatedPDFStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Encapsulated, UID_PROP_NONE } }, + { UID_EncapsulatedSTLStorage, "EncapsulatedSTLStorage", "EncapsulatedSTLStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Encapsulated, UID_PROP_NONE } }, + { UID_EnhancedContinuousRTImageStorage, "EnhancedContinuousRTImageStorage", "EnhancedContinuousRTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_EnhancedCTImageStorage, "EnhancedCTImageStorage", "EnhancedCTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_EnhancedMRColorImageStorage, "EnhancedMRColorImageStorage", "EnhancedMRColorImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_EnhancedMRImageStorage, "EnhancedMRImageStorage", "EnhancedMRImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_EnhancedPETImageStorage, "EnhancedPETImageStorage", "EnhancedPETImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_EnhancedRTImageStorage, "EnhancedRTImageStorage", "EnhancedRTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_EnhancedSRStorage, "EnhancedSRStorage", "EnhancedSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_EnhancedUSVolumeStorage, "EnhancedUSVolumeStorage", "EnhancedUSVolumeStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_EnhancedXAImageStorage, "EnhancedXAImageStorage", "EnhancedXAImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_EnhancedXRayRadiationDoseSRStorage, "EnhancedXRayRadiationDoseSRStorage", "EnhancedXRayRadiationDoseSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_EnhancedXRFImageStorage, "EnhancedXRFImageStorage", "EnhancedXRFImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_ExtensibleSRStorage, "ExtensibleSRStorage", "ExtensibleSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_General32BitECGWaveformStorage, "General32bitECGWaveformStorage", "General32BitECGWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_GeneralAudioWaveformStorage, "GeneralAudioWaveformStorage", "GeneralAudioWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_GeneralECGWaveformStorage, "GeneralECGWaveformStorage", "GeneralECGWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_GrayscalePlanarMPRVolumetricPresentationStateStorage, "GrayscalePlanarMPRVolumetricPresentationStateStorage", "GrayscalePlanarMPRVolumetricPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_GrayscaleSoftcopyPresentationStateStorage, "GrayscaleSoftcopyPresentationStateStorage", "GrayscaleSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_HeightMapSegmentationStorage, "HeightMapSegmentationStorage", "HeightMapSegmentationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_HemodynamicWaveformStorage, "HemodynamicWaveformStorage", "HemodynamicWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_ImplantationPlanSRStorage, "ImplantationPlanSRStorage", "ImplantationPlanSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, // the following line is needed for reasons of backward compatibility (name of SOP Class changed, see the previous line) - { UID_ImplantationPlanSRStorage, NULL /* see above */, "ImplantationPlanSRDocumentStorage" }, - { UID_IntraocularLensCalculationsStorage, "IntraocularLensCalculationsStorage", "IntraocularLensCalculationsStorage" }, - { UID_IntravascularOpticalCoherenceTomographyImageStorageForPresentation, "IntravascularOpticalCoherenceTomographyImageStorageForPresentation", "IntravascularOpticalCoherenceTomographyImageStorageForPresentation" }, - { UID_IntravascularOpticalCoherenceTomographyImageStorageForProcessing, "IntravascularOpticalCoherenceTomographyImageStorageForProcessing", "IntravascularOpticalCoherenceTomographyImageStorageForProcessing" }, - { UID_KeratometryMeasurementsStorage, "KeratometryMeasurementsStorage", "KeratometryMeasurementsStorage" }, - { UID_KeyObjectSelectionDocumentStorage, "KeyObjectSelectionDocumentStorage", "KeyObjectSelectionDocumentStorage" }, - { UID_LegacyConvertedEnhancedCTImageStorage, "LegacyConvertedEnhancedCTImageStorage", "LegacyConvertedEnhancedCTImageStorage" }, - { UID_LegacyConvertedEnhancedMRImageStorage, "LegacyConvertedEnhancedMRImageStorage", "LegacyConvertedEnhancedMRImageStorage" }, - { UID_LegacyConvertedEnhancedPETImageStorage, "LegacyConvertedEnhancedPETImageStorage", "LegacyConvertedEnhancedPETImageStorage" }, - { UID_LensometryMeasurementsStorage, "LensometryMeasurementsStorage", "LensometryMeasurementsStorage" }, - { UID_MacularGridThicknessAndVolumeReportStorage, "MacularGridThicknessAndVolumeReportStorage", "MacularGridThicknessAndVolumeReportStorage" }, - { UID_MammographyCADSRStorage, "MammographyCADSRStorage", "MammographyCADSRStorage" }, - { UID_MediaStorageDirectoryStorage, "MediaStorageDirectoryStorage", "MediaStorageDirectoryStorage" }, - { UID_MicroscopyBulkSimpleAnnotationsStorage, "MicroscopyBulkSimpleAnnotationsStorage", "MicroscopyBulkSimpleAnnotationsStorage" }, - { UID_MRImageStorage, "MRImageStorage", "MRImageStorage" }, - { UID_MRSpectroscopyStorage, "MRSpectroscopyStorage", "MRSpectroscopyStorage" }, - { UID_MultichannelRespiratoryWaveformStorage, "MultichannelRespiratoryWaveformStorage", "MultichannelRespiratoryWaveformStorage" }, - { UID_MultiframeGrayscaleByteSecondaryCaptureImageStorage, "MultiFrameGrayscaleByteSecondaryCaptureImageStorage", "MultiframeGrayscaleByteSecondaryCaptureImageStorage" }, - { UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage, "MultiFrameGrayscaleWordSecondaryCaptureImageStorage", "MultiframeGrayscaleWordSecondaryCaptureImageStorage" }, - { UID_MultiframeSingleBitSecondaryCaptureImageStorage, "MultiFrameSingleBitSecondaryCaptureImageStorage", "MultiframeSingleBitSecondaryCaptureImageStorage" }, - { UID_MultiframeTrueColorSecondaryCaptureImageStorage, "MultiFrameTrueColorSecondaryCaptureImageStorage", "MultiframeTrueColorSecondaryCaptureImageStorage" }, - { UID_MultipleVolumeRenderingVolumetricPresentationStateStorage, "MultipleVolumeRenderingVolumetricPresentationStateStorage", "MultipleVolumeRenderingVolumetricPresentationStateStorage" }, - { UID_NuclearMedicineImageStorage, "NuclearMedicineImageStorage", "NuclearMedicineImageStorage" }, - { UID_OphthalmicAxialMeasurementsStorage, "OphthalmicAxialMeasurementsStorage", "OphthalmicAxialMeasurementsStorage" }, - { UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage, "OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage", "OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage" }, - { UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage, "OphthalmicOpticalCoherenceTomographyEnFaceImageStorage", "OphthalmicOpticalCoherenceTomographyEnFaceImageStorage" }, - { UID_OphthalmicPhotography16BitImageStorage, "OphthalmicPhotography16BitImageStorage", "OphthalmicPhotography16BitImageStorage" }, - { UID_OphthalmicPhotography8BitImageStorage, "OphthalmicPhotography8BitImageStorage", "OphthalmicPhotography8BitImageStorage" }, - { UID_OphthalmicThicknessMapStorage, "OphthalmicThicknessMapStorage", "OphthalmicThicknessMapStorage" }, - { UID_OphthalmicTomographyImageStorage, "OphthalmicTomographyImageStorage", "OphthalmicTomographyImageStorage" }, - { UID_OphthalmicVisualFieldStaticPerimetryMeasurementsStorage, "OphthalmicVisualFieldStaticPerimetryMeasurementsStorage", "OphthalmicVisualFieldStaticPerimetryMeasurementsStorage" }, - { UID_ParametricMapStorage, "ParametricMapStorage", "ParametricMapStorage" }, - { UID_PatientRadiationDoseSRStorage, "PatientRadiationDoseSRStorage", "PatientRadiationDoseSRStorage" }, - { UID_PerformedImagingAgentAdministrationSRStorage, "PerformedImagingAgentAdministrationSRStorage", "PerformedImagingAgentAdministrationSRStorage" }, - { UID_PhotoacousticImageStorage, "PhotoacousticImageStorage", "PhotoacousticImageStorage" }, - { UID_PlannedImagingAgentAdministrationSRStorage, "PlannedImagingAgentAdministrationSRStorage", "PlannedImagingAgentAdministrationSRStorage" }, - { UID_PositronEmissionTomographyImageStorage, "PositronEmissionTomographyImageStorage", "PositronEmissionTomographyImageStorage" }, - { UID_ProcedureLogStorage, "ProcedureLogStorage", "ProcedureLogStorage" }, - { UID_ProtocolApprovalStorage, "ProtocolApprovalStorage", "ProtocolApprovalStorage" }, - { UID_PseudoColorSoftcopyPresentationStateStorage, "PseudoColorSoftcopyPresentationStateStorage", "PseudoColorSoftcopyPresentationStateStorage" }, - { UID_RadiopharmaceuticalRadiationDoseSRStorage, "RadiopharmaceuticalRadiationDoseSRStorage", "RadiopharmaceuticalRadiationDoseSRStorage" }, - { UID_RawDataStorage, "RawDataStorage", "RawDataStorage" }, - { UID_RealWorldValueMappingStorage, "RealWorldValueMappingStorage", "RealWorldValueMappingStorage" }, - { UID_RespiratoryWaveformStorage, "RespiratoryWaveformStorage", "RespiratoryWaveformStorage" }, - { UID_RoboticArmRadiationStorage, "RoboticArmRadiationStorage", "RoboticArmRadiationStorage" }, - { UID_RoboticRadiationRecordStorage, "RoboticRadiationRecordStorage", "RoboticRadiationRecordStorage" }, - { UID_RoutineScalpElectroencephalogramWaveformStorage, "RoutineScalpElectroencephalogramWaveformStorage", "RoutineScalpElectroencephalogramWaveformStorage" }, - { UID_RTBeamsDeliveryInstructionStorage, "RTBeamsDeliveryInstructionStorage", "RTBeamsDeliveryInstructionStorage" }, - { UID_RTBeamsTreatmentRecordStorage, "RTBeamsTreatmentRecordStorage", "RTBeamsTreatmentRecordStorage" }, - { UID_RTBrachyApplicationSetupDeliveryInstructionStorage, "RTBrachyApplicationSetupDeliveryInstructionStorage", "RTBrachyApplicationSetupDeliveryInstructionStorage" }, - { UID_RTBrachyTreatmentRecordStorage, "RTBrachyTreatmentRecordStorage", "RTBrachyTreatmentRecordStorage" }, - { UID_RTDoseStorage, "RTDoseStorage", "RTDoseStorage" }, - { UID_RTImageStorage, "RTImageStorage", "RTImageStorage" }, - { UID_RTIonBeamsTreatmentRecordStorage, "RTIonBeamsTreatmentRecordStorage", "RTIonBeamsTreatmentRecordStorage" }, - { UID_RTIonPlanStorage, "RTIonPlanStorage", "RTIonPlanStorage" }, - { UID_RTPatientPositionAcquisitionInstructionStorage, "RTPatientPositionAcquisitionInstructionStorage", "RTPatientPositionAcquisitionInstructionStorage" }, - { UID_RTPhysicianIntentStorage, "RTPhysicianIntentStorage", "RTPhysicianIntentStorage" }, - { UID_RTPlanStorage, "RTPlanStorage", "RTPlanStorage" }, - { UID_RTRadiationRecordSetStorage, "RTRadiationRecordSetStorage", "RTRadiationRecordSetStorage" }, - { UID_RTRadiationSalvageRecordStorage, "RTRadiationSalvageRecordStorage", "RTRadiationSalvageRecordStorage" }, - { UID_RTRadiationSetDeliveryInstructionStorage, "RTRadiationSetDeliveryInstructionStorage", "RTRadiationSetDeliveryInstructionStorage" }, - { UID_RTRadiationSetStorage, "RTRadiationSetStorage", "RTRadiationSetStorage" }, - { UID_RTSegmentAnnotationStorage, "RTSegmentAnnotationStorage", "RTSegmentAnnotationStorage" }, - { UID_RTStructureSetStorage, "RTStructureSetStorage", "RTStructureSetStorage" }, - { UID_RTTreatmentPreparationStorage, "RTTreatmentPreparationStorage", "RTTreatmentPreparationStorage" }, - { UID_RTTreatmentSummaryRecordStorage, "RTTreatmentSummaryRecordStorage", "RTTreatmentSummaryRecordStorage" }, - { UID_SecondaryCaptureImageStorage, "SecondaryCaptureImageStorage", "SecondaryCaptureImageStorage" }, - { UID_SegmentationStorage, "SegmentationStorage", "SegmentationStorage" }, - { UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage, "SegmentedVolumeRenderingVolumetricPresentationStateStorage", "SegmentedVolumeRenderingVolumetricPresentationStateStorage" }, - { UID_SimplifiedAdultEchoSRStorage, "SimplifiedAdultEchoSRStorage", "SimplifiedAdultEchoSRStorage" }, - { UID_SleepElectroencephalogramWaveformStorage, "SleepElectroencephalogramWaveformStorage", "SleepElectroencephalogramWaveformStorage" }, - { UID_SpatialFiducialsStorage, "SpatialFiducialsStorage", "SpatialFiducialsStorage" }, - { UID_SpatialRegistrationStorage, "SpatialRegistrationStorage", "SpatialRegistrationStorage" }, - { UID_SpectaclePrescriptionReportStorage, "SpectaclePrescriptionReportStorage", "SpectaclePrescriptionReportStorage" }, - { UID_StereometricRelationshipStorage, "StereometricRelationshipStorage", "StereometricRelationshipStorage" }, - { UID_SubjectiveRefractionMeasurementsStorage, "SubjectiveRefractionMeasurementsStorage", "SubjectiveRefractionMeasurementsStorage" }, - { UID_SurfaceScanMeshStorage, "SurfaceScanMeshStorage", "SurfaceScanMeshStorage" }, - { UID_SurfaceScanPointCloudStorage, "SurfaceScanPointCloudStorage", "SurfaceScanPointCloudStorage" }, - { UID_SurfaceSegmentationStorage, "SurfaceSegmentationStorage", "SurfaceSegmentationStorage" }, - { UID_TomotherapeuticRadiationRecordStorage, "TomotherapeuticRadiationRecordStorage", "TomotherapeuticRadiationRecordStorage" }, - { UID_TomotherapeuticRadiationStorage, "TomotherapeuticRadiationStorage", "TomotherapeuticRadiationStorage" }, - { UID_TractographyResultsStorage, "TractographyResultsStorage", "TractographyResultsStorage" }, - { UID_TwelveLeadECGWaveformStorage, "TwelveLeadECGWaveformStorage", "TwelveLeadECGWaveformStorage" }, - { UID_UltrasoundImageStorage, "UltrasoundImageStorage", "UltrasoundImageStorage" }, - { UID_UltrasoundMultiframeImageStorage, "UltrasoundMultiFrameImageStorage", "UltrasoundMultiframeImageStorage" }, - { UID_VariableModalityLUTSoftcopyPresentationStateStorage, "VariableModalityLUTSoftcopyPresentationStateStorage", "VariableModalityLUTSoftcopyPresentationStateStorage" }, - { UID_VideoEndoscopicImageStorage, "VideoEndoscopicImageStorage", "VideoEndoscopicImageStorage" }, - { UID_VideoMicroscopicImageStorage, "VideoMicroscopicImageStorage", "VideoMicroscopicImageStorage" }, - { UID_VideoPhotographicImageStorage, "VideoPhotographicImageStorage", "VideoPhotographicImageStorage" }, - { UID_VisualAcuityMeasurementsStorage, "VisualAcuityMeasurementsStorage", "VisualAcuityMeasurementsStorage" }, - { UID_VLEndoscopicImageStorage, "VLEndoscopicImageStorage", "VLEndoscopicImageStorage" }, - { UID_VLMicroscopicImageStorage, "VLMicroscopicImageStorage", "VLMicroscopicImageStorage" }, - { UID_VLPhotographicImageStorage, "VLPhotographicImageStorage", "VLPhotographicImageStorage" }, - { UID_VLSlideCoordinatesMicroscopicImageStorage, "VLSlideCoordinatesMicroscopicImageStorage", "VLSlideCoordinatesMicroscopicImageStorage" }, - { UID_VLWholeSlideMicroscopyImageStorage, "VLWholeSlideMicroscopyImageStorage", "VLWholeSlideMicroscopyImageStorage" }, - { UID_VolumeRenderingVolumetricPresentationStateStorage, "VolumeRenderingVolumetricPresentationStateStorage", "VolumeRenderingVolumetricPresentationStateStorage" }, - { UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, "WideFieldOphthalmicPhotographyStereographicProjectionImageStorage", "WideFieldOphthalmicPhotographyStereographicProjectionImageStorage" }, - { UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, "WideFieldOphthalmicPhotography3DCoordinatesImageStorage", "WideFieldOphthalmicPhotography3DCoordinatesImageStorage" }, - { UID_XADefinedProcedureProtocolStorage, "XADefinedProcedureProtocolStorage", "XADefinedProcedureProtocolStorage" }, - { UID_XAPerformedProcedureProtocolStorage, "XAPerformedProcedureProtocolStorage", "XAPerformedProcedureProtocolStorage" }, - { UID_XAXRFGrayscaleSoftcopyPresentationStateStorage, "XAXRFGrayscaleSoftcopyPresentationStateStorage", "XAXRFGrayscaleSoftcopyPresentationStateStorage" }, - { UID_XRay3DAngiographicImageStorage, "XRay3DAngiographicImageStorage", "XRay3DAngiographicImageStorage" }, - { UID_XRay3DCraniofacialImageStorage, "XRay3DCraniofacialImageStorage", "XRay3DCraniofacialImageStorage" }, - { UID_XRayAngiographicImageStorage, "XRayAngiographicImageStorage", "XRayAngiographicImageStorage" }, - { UID_XRayRadiationDoseSRStorage, "XRayRadiationDoseSRStorage", "XRayRadiationDoseSRStorage" }, - { UID_XRayRadiofluoroscopicImageStorage, "XRayRadiofluoroscopicImageStorage", "XRayRadiofluoroscopicImageStorage" }, + { UID_ImplantationPlanSRStorage, NULL /* see above */, "ImplantationPlanSRDocumentStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_IntraocularLensCalculationsStorage, "IntraocularLensCalculationsStorage", "IntraocularLensCalculationsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_IntravascularOpticalCoherenceTomographyImageStorageForPresentation, "IntravascularOpticalCoherenceTomographyImageStorageForPresentation", "IntravascularOpticalCoherenceTomographyImageStorageForPresentation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_IntravascularOpticalCoherenceTomographyImageStorageForProcessing, "IntravascularOpticalCoherenceTomographyImageStorageForProcessing", "IntravascularOpticalCoherenceTomographyImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_KeratometryMeasurementsStorage, "KeratometryMeasurementsStorage", "KeratometryMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_KeyObjectSelectionDocumentStorage, "KeyObjectSelectionDocumentStorage", "KeyObjectSelectionDocumentStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_LabelMapSegmentationStorage, "LabelMapSegmentationStorage", "LabelMapSegmentationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_LegacyConvertedEnhancedCTImageStorage, "LegacyConvertedEnhancedCTImageStorage", "LegacyConvertedEnhancedCTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_LegacyConvertedEnhancedMRImageStorage, "LegacyConvertedEnhancedMRImageStorage", "LegacyConvertedEnhancedMRImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_LegacyConvertedEnhancedPETImageStorage, "LegacyConvertedEnhancedPETImageStorage", "LegacyConvertedEnhancedPETImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_LensometryMeasurementsStorage, "LensometryMeasurementsStorage", "LensometryMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_MacularGridThicknessAndVolumeReportStorage, "MacularGridThicknessAndVolumeReportStorage", "MacularGridThicknessAndVolumeReportStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_MammographyCADSRStorage, "MammographyCADSRStorage", "MammographyCADSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_MediaStorageDirectoryStorage, "MediaStorageDirectoryStorage", "MediaStorageDirectoryStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_MicroscopyBulkSimpleAnnotationsStorage, "MicroscopyBulkSimpleAnnotationsStorage", "MicroscopyBulkSimpleAnnotationsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_MRImageStorage, "MRImageStorage", "MRImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_MRSpectroscopyStorage, "MRSpectroscopyStorage", "MRSpectroscopyStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_MultichannelRespiratoryWaveformStorage, "MultichannelRespiratoryWaveformStorage", "MultichannelRespiratoryWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_MultiframeGrayscaleByteSecondaryCaptureImageStorage, "MultiFrameGrayscaleByteSecondaryCaptureImageStorage", "MultiframeGrayscaleByteSecondaryCaptureImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage, "MultiFrameGrayscaleWordSecondaryCaptureImageStorage", "MultiframeGrayscaleWordSecondaryCaptureImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_MultiframeSingleBitSecondaryCaptureImageStorage, "MultiFrameSingleBitSecondaryCaptureImageStorage", "MultiframeSingleBitSecondaryCaptureImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_MultiframeTrueColorSecondaryCaptureImageStorage, "MultiFrameTrueColorSecondaryCaptureImageStorage", "MultiframeTrueColorSecondaryCaptureImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_MultipleVolumeRenderingVolumetricPresentationStateStorage, "MultipleVolumeRenderingVolumetricPresentationStateStorage", "MultipleVolumeRenderingVolumetricPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_NuclearMedicineImageStorage, "NuclearMedicineImageStorage", "NuclearMedicineImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_OphthalmicAxialMeasurementsStorage, "OphthalmicAxialMeasurementsStorage", "OphthalmicAxialMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage, "OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage", "OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage, "OphthalmicOpticalCoherenceTomographyEnFaceImageStorage", "OphthalmicOpticalCoherenceTomographyEnFaceImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_OphthalmicPhotography16BitImageStorage, "OphthalmicPhotography16BitImageStorage", "OphthalmicPhotography16BitImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_OphthalmicPhotography8BitImageStorage, "OphthalmicPhotography8BitImageStorage", "OphthalmicPhotography8BitImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_OphthalmicThicknessMapStorage, "OphthalmicThicknessMapStorage", "OphthalmicThicknessMapStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_OphthalmicTomographyImageStorage, "OphthalmicTomographyImageStorage", "OphthalmicTomographyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_OphthalmicVisualFieldStaticPerimetryMeasurementsStorage, "OphthalmicVisualFieldStaticPerimetryMeasurementsStorage", "OphthalmicVisualFieldStaticPerimetryMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_ParametricMapStorage, "ParametricMapStorage", "ParametricMapStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_ENHANCED_MF } }, + { UID_PatientRadiationDoseSRStorage, "PatientRadiationDoseSRStorage", "PatientRadiationDoseSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_PerformedImagingAgentAdministrationSRStorage, "PerformedImagingAgentAdministrationSRStorage", "PerformedImagingAgentAdministrationSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_PhotoacousticImageStorage, "PhotoacousticImageStorage", "PhotoacousticImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_PlannedImagingAgentAdministrationSRStorage, "PlannedImagingAgentAdministrationSRStorage", "PlannedImagingAgentAdministrationSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_PositronEmissionTomographyImageStorage, "PositronEmissionTomographyImageStorage", "PositronEmissionTomographyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_ProcedureLogStorage, "ProcedureLogStorage", "ProcedureLogStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_ProtocolApprovalStorage, "ProtocolApprovalStorage", "ProtocolApprovalStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT | UID_PROP_NO_DIR_RECORD } }, + { UID_PseudoColorSoftcopyPresentationStateStorage, "PseudoColorSoftcopyPresentationStateStorage", "PseudoColorSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_RadiopharmaceuticalRadiationDoseSRStorage, "RadiopharmaceuticalRadiationDoseSRStorage", "RadiopharmaceuticalRadiationDoseSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_RawDataStorage, "RawDataStorage", "RawDataStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RealWorldValueMappingStorage, "RealWorldValueMappingStorage", "RealWorldValueMappingStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RespiratoryWaveformStorage, "RespiratoryWaveformStorage", "RespiratoryWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_RoboticArmRadiationStorage, "RoboticArmRadiationStorage", "RoboticArmRadiationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RoboticRadiationRecordStorage, "RoboticRadiationRecordStorage", "RoboticRadiationRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RoutineScalpElectroencephalogramWaveformStorage, "RoutineScalpElectroencephalogramWaveformStorage", "RoutineScalpElectroencephalogramWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_RTBeamsDeliveryInstructionStorage, "RTBeamsDeliveryInstructionStorage", "RTBeamsDeliveryInstructionStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTBeamsTreatmentRecordStorage, "RTBeamsTreatmentRecordStorage", "RTBeamsTreatmentRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTBrachyApplicationSetupDeliveryInstructionStorage, "RTBrachyApplicationSetupDeliveryInstructionStorage", "RTBrachyApplicationSetupDeliveryInstructionStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTBrachyTreatmentRecordStorage, "RTBrachyTreatmentRecordStorage", "RTBrachyTreatmentRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTDoseStorage, "RTDoseStorage", "RTDoseStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTImageStorage, "RTImageStorage", "RTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_RTIonBeamsTreatmentRecordStorage, "RTIonBeamsTreatmentRecordStorage", "RTIonBeamsTreatmentRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTIonPlanStorage, "RTIonPlanStorage", "RTIonPlanStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTPatientPositionAcquisitionInstructionStorage, "RTPatientPositionAcquisitionInstructionStorage", "RTPatientPositionAcquisitionInstructionStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTPhysicianIntentStorage, "RTPhysicianIntentStorage", "RTPhysicianIntentStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTPlanStorage, "RTPlanStorage", "RTPlanStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTRadiationRecordSetStorage, "RTRadiationRecordSetStorage", "RTRadiationRecordSetStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTRadiationSalvageRecordStorage, "RTRadiationSalvageRecordStorage", "RTRadiationSalvageRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTRadiationSetDeliveryInstructionStorage, "RTRadiationSetDeliveryInstructionStorage", "RTRadiationSetDeliveryInstructionStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTRadiationSetStorage, "RTRadiationSetStorage", "RTRadiationSetStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTSegmentAnnotationStorage, "RTSegmentAnnotationStorage", "RTSegmentAnnotationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTStructureSetStorage, "RTStructureSetStorage", "RTStructureSetStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTTreatmentPreparationStorage, "RTTreatmentPreparationStorage", "RTTreatmentPreparationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RTTreatmentSummaryRecordStorage, "RTTreatmentSummaryRecordStorage", "RTTreatmentSummaryRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_SecondaryCaptureImageStorage, "SecondaryCaptureImageStorage", "SecondaryCaptureImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_SegmentationStorage, "SegmentationStorage", "SegmentationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage, "SegmentedVolumeRenderingVolumetricPresentationStateStorage", "SegmentedVolumeRenderingVolumetricPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_SimplifiedAdultEchoSRStorage, "SimplifiedAdultEchoSRStorage", "SimplifiedAdultEchoSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_SleepElectroencephalogramWaveformStorage, "SleepElectroencephalogramWaveformStorage", "SleepElectroencephalogramWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_SpatialFiducialsStorage, "SpatialFiducialsStorage", "SpatialFiducialsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_SpatialRegistrationStorage, "SpatialRegistrationStorage", "SpatialRegistrationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_SpectaclePrescriptionReportStorage, "SpectaclePrescriptionReportStorage", "SpectaclePrescriptionReportStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_StereometricRelationshipStorage, "StereometricRelationshipStorage", "StereometricRelationshipStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_SubjectiveRefractionMeasurementsStorage, "SubjectiveRefractionMeasurementsStorage", "SubjectiveRefractionMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_SurfaceScanMeshStorage, "SurfaceScanMeshStorage", "SurfaceScanMeshStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_SurfaceScanPointCloudStorage, "SurfaceScanPointCloudStorage", "SurfaceScanPointCloudStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_SurfaceSegmentationStorage, "SurfaceSegmentationStorage", "SurfaceSegmentationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_TomotherapeuticRadiationRecordStorage, "TomotherapeuticRadiationRecordStorage", "TomotherapeuticRadiationRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_TomotherapeuticRadiationStorage, "TomotherapeuticRadiationStorage", "TomotherapeuticRadiationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_TractographyResultsStorage, "TractographyResultsStorage", "TractographyResultsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_TwelveLeadECGWaveformStorage, "TwelveLeadECGWaveformStorage", "TwelveLeadECGWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_UltrasoundImageStorage, "UltrasoundImageStorage", "UltrasoundImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_UltrasoundMultiframeImageStorage, "UltrasoundMultiFrameImageStorage", "UltrasoundMultiframeImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_VariableModalityLUTSoftcopyPresentationStateStorage, "VariableModalityLUTSoftcopyPresentationStateStorage", "VariableModalityLUTSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_VideoEndoscopicImageStorage, "VideoEndoscopicImageStorage", "VideoEndoscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_VideoMicroscopicImageStorage, "VideoMicroscopicImageStorage", "VideoMicroscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_VideoPhotographicImageStorage, "VideoPhotographicImageStorage", "VideoPhotographicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_VisualAcuityMeasurementsStorage, "VisualAcuityMeasurementsStorage", "VisualAcuityMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_VLEndoscopicImageStorage, "VLEndoscopicImageStorage", "VLEndoscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_VLMicroscopicImageStorage, "VLMicroscopicImageStorage", "VLMicroscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_VLPhotographicImageStorage, "VLPhotographicImageStorage", "VLPhotographicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_VLSlideCoordinatesMicroscopicImageStorage, "VLSlideCoordinatesMicroscopicImageStorage", "VLSlideCoordinatesMicroscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_VLWholeSlideMicroscopyImageStorage, "VLWholeSlideMicroscopyImageStorage", "VLWholeSlideMicroscopyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_VolumeRenderingVolumetricPresentationStateStorage, "VolumeRenderingVolumetricPresentationStateStorage", "VolumeRenderingVolumetricPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_WaveformAnnotationSRStorage, "WaveformAnnotationSRStorage", "WaveformAnnotationSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, "WideFieldOphthalmicPhotographyStereographicProjectionImageStorage", "WideFieldOphthalmicPhotographyStereographicProjectionImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, "WideFieldOphthalmicPhotography3DCoordinatesImageStorage", "WideFieldOphthalmicPhotography3DCoordinatesImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_XADefinedProcedureProtocolStorage, "XADefinedProcedureProtocolStorage", "XADefinedProcedureProtocolStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT | UID_PROP_NO_DIR_RECORD } }, + { UID_XAPerformedProcedureProtocolStorage, "XAPerformedProcedureProtocolStorage", "XAPerformedProcedureProtocolStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_XAXRFGrayscaleSoftcopyPresentationStateStorage, "XAXRFGrayscaleSoftcopyPresentationStateStorage", "XAXRFGrayscaleSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, + { UID_XRay3DAngiographicImageStorage, "XRay3DAngiographicImageStorage", "XRay3DAngiographicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_XRay3DCraniofacialImageStorage, "XRay3DCraniofacialImageStorage", "XRay3DCraniofacialImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, + { UID_XRayAngiographicImageStorage, "XRayAngiographicImageStorage", "XRayAngiographicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_XRayRadiationDoseSRStorage, "XRayRadiationDoseSRStorage", "XRayRadiationDoseSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_XRayRadiofluoroscopicImageStorage, "XRayRadiofluoroscopicImageStorage", "XRayRadiofluoroscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, // Storage (retired) - { UID_RETIRED_HardcopyColorImageStorage, "HardcopyColorImageStorage", "RETIRED_HardcopyColorImageStorage" }, - { UID_RETIRED_HardcopyGrayscaleImageStorage, "HardcopyGrayscaleImageStorage", "RETIRED_HardcopyGrayscaleImageStorage" }, - { UID_RETIRED_NuclearMedicineImageStorage, "NuclearMedicineImageStorageRetired", "RETIRED_NuclearMedicineImageStorage" }, - { UID_RETIRED_StandaloneCurveStorage, "StandaloneCurveStorage", "RETIRED_StandaloneCurveStorage" }, - { UID_RETIRED_StandaloneModalityLUTStorage, "StandaloneModalityLUTStorage", "RETIRED_StandaloneModalityLUTStorage" }, - { UID_RETIRED_StandaloneOverlayStorage, "StandaloneOverlayStorage", "RETIRED_StandaloneOverlayStorage" }, - { UID_RETIRED_StandalonePETCurveStorage, "StandalonePETCurveStorage", "RETIRED_StandalonePETCurveStorage" }, - { UID_RETIRED_StandaloneVOILUTStorage, "StandaloneVOILUTStorage", "RETIRED_StandaloneVOILUTStorage" }, - { UID_RETIRED_StoredPrintStorage, "StoredPrintStorage", "RETIRED_StoredPrintStorage" }, - { UID_RETIRED_UltrasoundImageStorage, "UltrasoundImageStorageRetired", "RETIRED_UltrasoundImageStorage" }, - { UID_RETIRED_UltrasoundMultiframeImageStorage, "UltrasoundMultiFrameImageStorageRetired", "RETIRED_UltrasoundMultiframeImageStorage" }, - { UID_RETIRED_VLImageStorage, "VLImageStorageTrial", "RETIRED_VLImageStorage" }, - { UID_RETIRED_VLMultiframeImageStorage, "VLMultiFrameImageStorageTrial", "RETIRED_VLMultiframeImageStorage" }, - { UID_RETIRED_XRayAngiographicBiPlaneImageStorage, "XRayAngiographicBiPlaneImageStorage", "RETIRED_XRayAngiographicBiPlaneImageStorage" }, + { UID_RETIRED_HardcopyColorImageStorage, "HardcopyColorImageStorage", "RETIRED_HardcopyColorImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_RETIRED_HardcopyGrayscaleImageStorage, "HardcopyGrayscaleImageStorage", "RETIRED_HardcopyGrayscaleImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_RETIRED_NuclearMedicineImageStorage, "NuclearMedicineImageStorageRetired", "RETIRED_NuclearMedicineImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_RETIRED_StandaloneCurveStorage, "StandaloneCurveStorage", "RETIRED_StandaloneCurveStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_StandaloneModalityLUTStorage, "StandaloneModalityLUTStorage", "RETIRED_StandaloneModalityLUTStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_StandaloneOverlayStorage, "StandaloneOverlayStorage", "RETIRED_StandaloneOverlayStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_StandalonePETCurveStorage, "StandalonePETCurveStorage", "RETIRED_StandalonePETCurveStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_StandaloneVOILUTStorage, "StandaloneVOILUTStorage", "RETIRED_StandaloneVOILUTStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_StoredPrintStorage, "StoredPrintStorage", "RETIRED_StoredPrintStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_UltrasoundImageStorage, "UltrasoundImageStorageRetired", "RETIRED_UltrasoundImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_RETIRED_UltrasoundMultiframeImageStorage, "UltrasoundMultiFrameImageStorageRetired", "RETIRED_UltrasoundMultiframeImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_RETIRED_VLImageStorage, "VLImageStorageTrial", "RETIRED_VLImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_RETIRED_VLMultiframeImageStorage, "VLMultiFrameImageStorageTrial", "RETIRED_VLMultiframeImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_RETIRED_XRayAngiographicBiPlaneImageStorage, "XRayAngiographicBiPlaneImageStorage", "RETIRED_XRayAngiographicBiPlaneImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, // Storage (DICOS) - { UID_DICOS_CTImageStorage, "DICOSCTImageStorage", "DICOS_CTImageStorage" }, - { UID_DICOS_DigitalXRayImageStorageForPresentation, "DICOSDigitalXRayImageStorageForPresentation", "DICOS_DigitalXRayImageStorageForPresentation" }, - { UID_DICOS_DigitalXRayImageStorageForProcessing, "DICOSDigitalXRayImageStorageForProcessing", "DICOS_DigitalXRayImageStorageForProcessing" }, - { UID_DICOS_ThreatDetectionReportStorage, "DICOSThreatDetectionReportStorage", "DICOS_ThreatDetectionReportStorage" }, - { UID_DICOS_2DAITStorage, "DICOS2DAITStorage", "DICOS_2DAITStorage" }, - { UID_DICOS_3DAITStorage, "DICOS3DAITStorage", "DICOS_3DAITStorage" }, - { UID_DICOS_QuadrupoleResonanceStorage, "DICOSQuadrupoleResonanceStorage", "DICOS_QuadrupoleResonanceStorage" }, + { UID_DICOS_CTImageStorage, "DICOSCTImageStorage", "DICOS_CTImageStorage", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DICOS_DigitalXRayImageStorageForPresentation, "DICOSDigitalXRayImageStorageForPresentation", "DICOS_DigitalXRayImageStorageForPresentation", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DICOS_DigitalXRayImageStorageForProcessing, "DICOSDigitalXRayImageStorageForProcessing", "DICOS_DigitalXRayImageStorageForProcessing", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DICOS_ThreatDetectionReportStorage, "DICOSThreatDetectionReportStorage", "DICOS_ThreatDetectionReportStorage", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NO_DIR_RECORD } }, + { UID_DICOS_2DAITStorage, "DICOS2DAITStorage", "DICOS_2DAITStorage", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NO_DIR_RECORD } }, + { UID_DICOS_3DAITStorage, "DICOS3DAITStorage", "DICOS_3DAITStorage", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NO_DIR_RECORD } }, + { UID_DICOS_QuadrupoleResonanceStorage, "DICOSQuadrupoleResonanceStorage", "DICOS_QuadrupoleResonanceStorage", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NO_DIR_RECORD } }, // Storage (DICONDE) - { UID_DICONDE_EddyCurrentImageStorage, "EddyCurrentImageStorage", "DICONDE_EddyCurrentImageStorage" }, - { UID_DICONDE_EddyCurrentMultiframeImageStorage, "EddyCurrentMultiFrameImageStorage", "DICONDE_EddyCurrentMultiframeImageStorage" }, + { UID_DICONDE_EddyCurrentImageStorage, "EddyCurrentImageStorage", "DICONDE_EddyCurrentImageStorage", { EUS_DICONDE, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DICONDE_EddyCurrentMultiframeImageStorage, "EddyCurrentMultiFrameImageStorage", "DICONDE_EddyCurrentMultiframeImageStorage", { EUS_DICONDE, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DICONDE_ThermographyImageStorage, "ThermographyImageStorage", "DICONDE_ThermographyImageStorage", { EUS_DICONDE, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, + { UID_DICONDE_ThermographyMultiFrameImageStorage, "ThermographyMultiFrameImageStorage", "DICONDE_ThermographyMultiFrameImageStorage", { EUS_DICONDE, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, // Query/Retrieve - { UID_FINDPatientRootQueryRetrieveInformationModel, "PatientRootQueryRetrieveInformationModelFind", "FINDPatientRootQueryRetrieveInformationModel" }, - { UID_FINDStudyRootQueryRetrieveInformationModel, "StudyRootQueryRetrieveInformationModelFind", "FINDStudyRootQueryRetrieveInformationModel" }, - { UID_GETPatientRootQueryRetrieveInformationModel, "PatientRootQueryRetrieveInformationModelGet", "GETPatientRootQueryRetrieveInformationModel" }, - { UID_GETStudyRootQueryRetrieveInformationModel, "StudyRootQueryRetrieveInformationModelGet", "GETStudyRootQueryRetrieveInformationModel" }, - { UID_MOVEPatientRootQueryRetrieveInformationModel, "PatientRootQueryRetrieveInformationModelMove", "MOVEPatientRootQueryRetrieveInformationModel" }, - { UID_MOVEStudyRootQueryRetrieveInformationModel, "StudyRootQueryRetrieveInformationModelMove", "MOVEStudyRootQueryRetrieveInformationModel" }, - { UID_RETIRED_FINDPatientStudyOnlyQueryRetrieveInformationModel, "PatientStudyOnlyQueryRetrieveInformationModelFind", "RETIRED_FINDPatientStudyOnlyQueryRetrieveInformationModel" }, - { UID_GETCompositeInstanceRetrieveWithoutBulkData, "CompositeInstanceRetrieveWithoutBulkDataGet", "GETCompositeInstanceRetrieveWithoutBulkData" }, - { UID_GETCompositeInstanceRootRetrieve, "CompositeInstanceRootRetrieveGet", "GETCompositeInstanceRootRetrieve" }, - { UID_RETIRED_GETPatientStudyOnlyQueryRetrieveInformationModel, "PatientStudyOnlyQueryRetrieveInformationModelGet", "RETIRED_GETPatientStudyOnlyQueryRetrieveInformationModel" }, - { UID_MOVECompositeInstanceRootRetrieve, "CompositeInstanceRootRetrieveMove", "MOVECompositeInstanceRootRetrieve" }, - { UID_RETIRED_MOVEPatientStudyOnlyQueryRetrieveInformationModel, "PatientStudyOnlyQueryRetrieveInformationModelMove", "RETIRED_MOVEPatientStudyOnlyQueryRetrieveInformationModel" }, + { UID_FINDPatientRootQueryRetrieveInformationModel, "PatientRootQueryRetrieveInformationModelFind", "FINDPatientRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_FINDStudyRootQueryRetrieveInformationModel, "StudyRootQueryRetrieveInformationModelFind", "FINDStudyRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETPatientRootQueryRetrieveInformationModel, "PatientRootQueryRetrieveInformationModelGet", "GETPatientRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETStudyRootQueryRetrieveInformationModel, "StudyRootQueryRetrieveInformationModelGet", "GETStudyRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_MOVEPatientRootQueryRetrieveInformationModel, "PatientRootQueryRetrieveInformationModelMove", "MOVEPatientRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_MOVEStudyRootQueryRetrieveInformationModel, "StudyRootQueryRetrieveInformationModelMove", "MOVEStudyRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_FINDPatientStudyOnlyQueryRetrieveInformationModel, "PatientStudyOnlyQueryRetrieveInformationModelFind", "RETIRED_FINDPatientStudyOnlyQueryRetrieveInformationModel", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETCompositeInstanceRetrieveWithoutBulkData, "CompositeInstanceRetrieveWithoutBulkDataGet", "GETCompositeInstanceRetrieveWithoutBulkData", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETCompositeInstanceRootRetrieve, "CompositeInstanceRootRetrieveGet", "GETCompositeInstanceRootRetrieve", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_GETPatientStudyOnlyQueryRetrieveInformationModel, "PatientStudyOnlyQueryRetrieveInformationModelGet", "RETIRED_GETPatientStudyOnlyQueryRetrieveInformationModel", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_MOVECompositeInstanceRootRetrieve, "CompositeInstanceRootRetrieveMove", "MOVECompositeInstanceRootRetrieve", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_MOVEPatientStudyOnlyQueryRetrieveInformationModel, "PatientStudyOnlyQueryRetrieveInformationModelMove", "RETIRED_MOVEPatientStudyOnlyQueryRetrieveInformationModel", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, // Modality Worklist - { UID_FINDModalityWorklistInformationModel, "ModalityWorklistInformationModelFind", "FINDModalityWorklistInformationModel" }, + { UID_FINDModalityWorklistInformationModel, "ModalityWorklistInformationModelFind", "FINDModalityWorklistInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Worklist, EUIT_other, UID_PROP_NONE } }, // General Purpose Worklist (retired) - { UID_RETIRED_FINDGeneralPurposeWorklistInformationModel, "GeneralPurposeWorklistInformationModelFind", "RETIRED_FINDGeneralPurposeWorklistInformationModel" }, - { UID_RETIRED_GeneralPurposePerformedProcedureStepSOPClass, "GeneralPurposePerformedProcedureStep", "RETIRED_GeneralPurposePerformedProcedureStepSOPClass" }, - { UID_RETIRED_GeneralPurposeScheduledProcedureStepSOPClass, "GeneralPurposeScheduledProcedureStep", "RETIRED_GeneralPurposeScheduledProcedureStepSOPClass" }, - { UID_RETIRED_GeneralPurposeWorklistManagementMetaSOPClass, "GeneralPurposeWorklistManagementMeta", "RETIRED_GeneralPurposeWorklistManagementMetaSOPClass" }, + { UID_RETIRED_FINDGeneralPurposeWorklistInformationModel, "GeneralPurposeWorklistInformationModelFind", "RETIRED_FINDGeneralPurposeWorklistInformationModel", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Worklist, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_GeneralPurposePerformedProcedureStepSOPClass, "GeneralPurposePerformedProcedureStep", "RETIRED_GeneralPurposePerformedProcedureStepSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Worklist, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_GeneralPurposeScheduledProcedureStepSOPClass, "GeneralPurposeScheduledProcedureStep", "RETIRED_GeneralPurposeScheduledProcedureStepSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Worklist, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_GeneralPurposeWorklistManagementMetaSOPClass, "GeneralPurposeWorklistManagementMeta", "RETIRED_GeneralPurposeWorklistManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_Worklist, EUIT_other, UID_PROP_NONE } }, // MPPS - { UID_ModalityPerformedProcedureStepNotificationSOPClass, "ModalityPerformedProcedureStepNotification", "ModalityPerformedProcedureStepNotificationSOPClass" }, - { UID_ModalityPerformedProcedureStepRetrieveSOPClass, "ModalityPerformedProcedureStepRetrieve", "ModalityPerformedProcedureStepRetrieveSOPClass" }, - { UID_ModalityPerformedProcedureStepSOPClass, "ModalityPerformedProcedureStep", "ModalityPerformedProcedureStepSOPClass" }, + { UID_ModalityPerformedProcedureStepNotificationSOPClass, "ModalityPerformedProcedureStepNotification", "ModalityPerformedProcedureStepNotificationSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_ModalityPerformedProcedureStepRetrieveSOPClass, "ModalityPerformedProcedureStepRetrieve", "ModalityPerformedProcedureStepRetrieveSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_ModalityPerformedProcedureStepSOPClass, "ModalityPerformedProcedureStep", "ModalityPerformedProcedureStepSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, // Radiotherapy - { UID_RTConventionalMachineVerification, "RTConventionalMachineVerification", "RTConventionalMachineVerification" }, - { UID_RTIonMachineVerification, "RTIonMachineVerification", "RTIonMachineVerification" }, + { UID_RTConventionalMachineVerification, "RTConventionalMachineVerification", "RTConventionalMachineVerification", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RTIonMachineVerification, "RTIonMachineVerification", "RTIonMachineVerification", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, // Unified Worklist and Procedure Step - { UID_UnifiedWorklistAndProcedureStepServiceClass, "UnifiedWorklistAndProcedureStep", "UnifiedWorklistAndProcedureStepServiceClass" }, - { UID_UnifiedProcedureStepPushSOPClass, "UnifiedProcedureStepPush", "UnifiedProcedureStepPushSOPClass" }, - { UID_UnifiedProcedureStepWatchSOPClass, "UnifiedProcedureStepWatch", "UnifiedProcedureStepWatchSOPClass" }, - { UID_UnifiedProcedureStepPullSOPClass, "UnifiedProcedureStepPull", "UnifiedProcedureStepPullSOPClass" }, - { UID_UnifiedProcedureStepEventSOPClass, "UnifiedProcedureStepEvent", "UnifiedProcedureStepEventSOPClass" }, - { UID_UnifiedProcedureStepQuerySOPClass, "UnifiedProcedureStepQuery", "UnifiedProcedureStepQuerySOPClass" }, - { UID_UPSGlobalSubscriptionSOPInstance, "UPSGlobalSubscriptionInstance", "UPSGlobalSubscriptionSOPInstance" }, - { UID_UPSFilteredGlobalSubscriptionSOPInstance, "UPSFilteredGlobalSubscriptionInstance", "UPSFilteredGlobalSubscriptionSOPInstance" }, + { UID_UnifiedWorklistAndProcedureStepServiceClass, "UnifiedWorklistAndProcedureStep", "UnifiedWorklistAndProcedureStepServiceClass", { EUS_DICOM, EUV_Standard, EUT_ServiceClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_UnifiedProcedureStepPushSOPClass, "UnifiedProcedureStepPush", "UnifiedProcedureStepPushSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_UnifiedProcedureStepWatchSOPClass, "UnifiedProcedureStepWatch", "UnifiedProcedureStepWatchSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_UnifiedProcedureStepPullSOPClass, "UnifiedProcedureStepPull", "UnifiedProcedureStepPullSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_UnifiedProcedureStepEventSOPClass, "UnifiedProcedureStepEvent", "UnifiedProcedureStepEventSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_UnifiedProcedureStepQuerySOPClass, "UnifiedProcedureStepQuery", "UnifiedProcedureStepQuerySOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_UPSGlobalSubscriptionSOPInstance, "UPSGlobalSubscriptionInstance", "UPSGlobalSubscriptionSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_UPSFilteredGlobalSubscriptionSOPInstance, "UPSFilteredGlobalSubscriptionInstance", "UPSFilteredGlobalSubscriptionSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, // Storage Commitment - { UID_RETIRED_StorageCommitmentPullModelSOPClass, "StorageCommitmentPullModel", "RETIRED_StorageCommitmentPullModelSOPClass" }, - { UID_RETIRED_StorageCommitmentPullModelSOPInstance, "StorageCommitmentPullModelInstance", "RETIRED_StorageCommitmentPullModelSOPInstance" }, - { UID_StorageCommitmentPushModelSOPClass, "StorageCommitmentPushModel", "StorageCommitmentPushModelSOPClass" }, - { UID_StorageCommitmentPushModelSOPInstance, "StorageCommitmentPushModelInstance", "StorageCommitmentPushModelSOPInstance" }, + { UID_RETIRED_StorageCommitmentPullModelSOPClass, "StorageCommitmentPullModel", "RETIRED_StorageCommitmentPullModelSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_StorageCommitmentPullModelSOPInstance, "StorageCommitmentPullModelInstance", "RETIRED_StorageCommitmentPullModelSOPInstance", { EUS_DICOM, EUV_Retired, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_StorageCommitmentPushModelSOPClass, "StorageCommitmentPushModel", "StorageCommitmentPushModelSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_StorageCommitmentPushModelSOPInstance, "StorageCommitmentPushModelInstance", "StorageCommitmentPushModelSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, // Hanging Protocol Storage and Query/Retrieve - { UID_HangingProtocolStorage, "HangingProtocolStorage", "HangingProtocolStorage" }, - { UID_FINDHangingProtocolInformationModel, "HangingProtocolInformationModelFind", "FINDHangingProtocolInformationModel" }, - { UID_MOVEHangingProtocolInformationModel, "HangingProtocolInformationModelMove", "MOVEHangingProtocolInformationModel" }, - { UID_GETHangingProtocolInformationModel, "HangingProtocolInformationModelGet", "GETHangingProtocolInformationModel" }, + { UID_HangingProtocolStorage, "HangingProtocolStorage", "HangingProtocolStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, + { UID_FINDHangingProtocolInformationModel, "HangingProtocolInformationModelFind", "FINDHangingProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_MOVEHangingProtocolInformationModel, "HangingProtocolInformationModelMove", "MOVEHangingProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETHangingProtocolInformationModel, "HangingProtocolInformationModelGet", "GETHangingProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, // Relevant Patient Information Query - { UID_BreastImagingRelevantPatientInformationQuery, "BreastImagingRelevantPatientInformationQuery", "BreastImagingRelevantPatientInformationQuery" }, - { UID_CardiacRelevantPatientInformationQuery, "CardiacRelevantPatientInformationQuery", "CardiacRelevantPatientInformationQuery" }, - { UID_GeneralRelevantPatientInformationQuery, "GeneralRelevantPatientInformationQuery", "GeneralRelevantPatientInformationQuery" }, + { UID_BreastImagingRelevantPatientInformationQuery, "BreastImagingRelevantPatientInformationQuery", "BreastImagingRelevantPatientInformationQuery", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_CardiacRelevantPatientInformationQuery, "CardiacRelevantPatientInformationQuery", "CardiacRelevantPatientInformationQuery", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GeneralRelevantPatientInformationQuery, "GeneralRelevantPatientInformationQuery", "GeneralRelevantPatientInformationQuery", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, // Color Palette Storage and Query/Retrieve - { UID_ColorPaletteStorage, "ColorPaletteStorage", "ColorPaletteStorage" }, - { UID_FINDColorPaletteInformationModel, "ColorPaletteQueryRetrieveInformationModelFind", "FINDColorPaletteInformationModel" }, - { UID_MOVEColorPaletteInformationModel, "ColorPaletteQueryRetrieveInformationModelMove", "MOVEColorPaletteInformationModel" }, - { UID_GETColorPaletteInformationModel, "ColorPaletteQueryRetrieveInformationModelGet", "GETColorPaletteInformationModel" }, + { UID_ColorPaletteStorage, "ColorPaletteStorage", "ColorPaletteStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, + { UID_FINDColorPaletteInformationModel, "ColorPaletteQueryRetrieveInformationModelFind", "FINDColorPaletteInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_MOVEColorPaletteInformationModel, "ColorPaletteQueryRetrieveInformationModelMove", "MOVEColorPaletteInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETColorPaletteInformationModel, "ColorPaletteQueryRetrieveInformationModelGet", "GETColorPaletteInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, // Implant Template Storage and Query/Retrieve - { UID_GenericImplantTemplateStorage, "GenericImplantTemplateStorage", "GenericImplantTemplateStorage" }, - { UID_FINDGenericImplantTemplateInformationModel, "GenericImplantTemplateInformationModelFind", "FINDGenericImplantTemplateInformationModel" }, - { UID_MOVEGenericImplantTemplateInformationModel, "GenericImplantTemplateInformationModelMove", "MOVEGenericImplantTemplateInformationModel" }, - { UID_GETGenericImplantTemplateInformationModel, "GenericImplantTemplateInformationModelGet", "GETGenericImplantTemplateInformationModel" }, - { UID_ImplantAssemblyTemplateStorage, "ImplantAssemblyTemplateStorage", "ImplantAssemblyTemplateStorage" }, - { UID_FINDImplantAssemblyTemplateInformationModel, "ImplantAssemblyTemplateInformationModelFind", "FINDImplantAssemblyTemplateInformationModel" }, - { UID_MOVEImplantAssemblyTemplateInformationModel, "ImplantAssemblyTemplateInformationModelMove", "MOVEImplantAssemblyTemplateInformationModel" }, - { UID_GETImplantAssemblyTemplateInformationModel, "ImplantAssemblyTemplateInformationModelGet", "GETImplantAssemblyTemplateInformationModel" }, - { UID_ImplantTemplateGroupStorage, "ImplantTemplateGroupStorage", "ImplantTemplateGroupStorage" }, - { UID_FINDImplantTemplateGroupInformationModel, "ImplantTemplateGroupInformationModelFind", "FINDImplantTemplateGroupInformationModel" }, - { UID_MOVEImplantTemplateGroupInformationModel, "ImplantTemplateGroupInformationModelMove", "MOVEImplantTemplateGroupInformationModel" }, - { UID_GETImplantTemplateGroupInformationModel, "ImplantTemplateGroupInformationModelGet", "GETImplantTemplateGroupInformationModel" }, + { UID_GenericImplantTemplateStorage, "GenericImplantTemplateStorage", "GenericImplantTemplateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, + { UID_FINDGenericImplantTemplateInformationModel, "GenericImplantTemplateInformationModelFind", "FINDGenericImplantTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_MOVEGenericImplantTemplateInformationModel, "GenericImplantTemplateInformationModelMove", "MOVEGenericImplantTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETGenericImplantTemplateInformationModel, "GenericImplantTemplateInformationModelGet", "GETGenericImplantTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_ImplantAssemblyTemplateStorage, "ImplantAssemblyTemplateStorage", "ImplantAssemblyTemplateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, + { UID_FINDImplantAssemblyTemplateInformationModel, "ImplantAssemblyTemplateInformationModelFind", "FINDImplantAssemblyTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_MOVEImplantAssemblyTemplateInformationModel, "ImplantAssemblyTemplateInformationModelMove", "MOVEImplantAssemblyTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETImplantAssemblyTemplateInformationModel, "ImplantAssemblyTemplateInformationModelGet", "GETImplantAssemblyTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_ImplantTemplateGroupStorage, "ImplantTemplateGroupStorage", "ImplantTemplateGroupStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, + { UID_FINDImplantTemplateGroupInformationModel, "ImplantTemplateGroupInformationModelFind", "FINDImplantTemplateGroupInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_MOVEImplantTemplateGroupInformationModel, "ImplantTemplateGroupInformationModelMove", "MOVEImplantTemplateGroupInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETImplantTemplateGroupInformationModel, "ImplantTemplateGroupInformationModelGet", "GETImplantTemplateGroupInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, // Defined Procedure Protocol Query/Retrieve - { UID_FINDDefinedProcedureProtocolInformationModel, "DefinedProcedureProtocolInformationModelFind", "FINDDefinedProcedureProtocolInformationModel" }, - { UID_MOVEDefinedProcedureProtocolInformationModel, "DefinedProcedureProtocolInformationModelMove", "MOVEDefinedProcedureProtocolInformationModel" }, - { UID_GETDefinedProcedureProtocolInformationModel, "DefinedProcedureProtocolInformationModelGet", "GETDefinedProcedureProtocolInformationModel" }, + { UID_FINDDefinedProcedureProtocolInformationModel, "DefinedProcedureProtocolInformationModelFind", "FINDDefinedProcedureProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_MOVEDefinedProcedureProtocolInformationModel, "DefinedProcedureProtocolInformationModelMove", "MOVEDefinedProcedureProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETDefinedProcedureProtocolInformationModel, "DefinedProcedureProtocolInformationModelGet", "GETDefinedProcedureProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, // Protocol Approval Query/Retrieve - { UID_FINDProtocolApprovalInformationModel, "ProtocolApprovalInformationModelFind", "FINDProtocolApprovalInformationModel" }, - { UID_MOVEProtocolApprovalInformationModel, "ProtocolApprovalInformationModelMove", "MOVEProtocolApprovalInformationModel" }, - { UID_GETProtocolApprovalInformationModel, "ProtocolApprovalInformationModelGet", "GETProtocolApprovalInformationModel" }, + { UID_FINDProtocolApprovalInformationModel, "ProtocolApprovalInformationModelFind", "FINDProtocolApprovalInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_MOVEProtocolApprovalInformationModel, "ProtocolApprovalInformationModelMove", "MOVEProtocolApprovalInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETProtocolApprovalInformationModel, "ProtocolApprovalInformationModelGet", "GETProtocolApprovalInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, // Inventory Storage, Query/Retrieve, and related Services - { UID_InventoryStorage, "InventoryStorage", "InventoryStorage" }, - { UID_FINDInventory, "InventoryFind", "FINDInventory" }, - { UID_MOVEInventory, "InventoryMove", "MOVEInventory" }, - { UID_GETInventory, "InventoryGet", "GETInventory" }, - { UID_InventoryCreation, "InventoryCreation", "InventoryCreation" }, - { UID_RepositoryQuery, "RepositoryQuery", "RepositoryQuery" }, - { UID_StorageManagementSOPInstance, "StorageManagementInstance", "StorageManagementSOPInstance" }, + { UID_InventoryStorage, "InventoryStorage", "InventoryStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, + { UID_FINDInventory, "InventoryFind", "FINDInventory", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_MOVEInventory, "InventoryMove", "MOVEInventory", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_GETInventory, "InventoryGet", "GETInventory", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, + { UID_InventoryCreation, "InventoryCreation", "InventoryCreation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RepositoryQuery, "RepositoryQuery", "RepositoryQuery", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_StorageManagementSOPInstance, "StorageManagementInstance", "StorageManagementSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, // Print - { UID_BasicAnnotationBoxSOPClass, "BasicAnnotationBox", "BasicAnnotationBoxSOPClass" }, - { UID_BasicColorImageBoxSOPClass, "BasicColorImageBox", "BasicColorImageBoxSOPClass" }, - { UID_BasicColorPrintManagementMetaSOPClass, "BasicColorPrintManagementMeta", "BasicColorPrintManagementMetaSOPClass" }, - { UID_BasicFilmBoxSOPClass, "BasicFilmBox", "BasicFilmBoxSOPClass" }, - { UID_BasicFilmSessionSOPClass, "BasicFilmSession", "BasicFilmSessionSOPClass" }, - { UID_BasicGrayscaleImageBoxSOPClass, "BasicGrayscaleImageBox", "BasicGrayscaleImageBoxSOPClass" }, - { UID_BasicGrayscalePrintManagementMetaSOPClass, "BasicGrayscalePrintManagementMeta", "BasicGrayscalePrintManagementMetaSOPClass" }, - { UID_PresentationLUTSOPClass, "PresentationLUT", "PresentationLUTSOPClass" }, - { UID_PrintJobSOPClass, "PrintJob", "PrintJobSOPClass" }, - { UID_PrinterConfigurationRetrievalSOPClass, "PrinterConfigurationRetrieval", "PrinterConfigurationRetrievalSOPClass" }, - { UID_PrinterConfigurationRetrievalSOPInstance, "PrinterConfigurationRetrievalInstance", "PrinterConfigurationRetrievalSOPInstance" }, - { UID_PrinterSOPClass, "Printer", "PrinterSOPClass" }, - { UID_PrinterSOPInstance, "PrinterInstance", "PrinterSOPInstance" }, - { UID_RETIRED_BasicPrintImageOverlayBoxSOPClass, "BasicPrintImageOverlayBox", "RETIRED_BasicPrintImageOverlayBoxSOPClass" }, - { UID_RETIRED_ImageOverlayBoxSOPClass, "ImageOverlayBox", "RETIRED_ImageOverlayBoxSOPClass" }, - { UID_RETIRED_PrintQueueManagementSOPClass, "PrintQueueManagement", "RETIRED_PrintQueueManagementSOPClass" }, - { UID_RETIRED_PrintQueueSOPInstance, "PrintQueue", "RETIRED_PrintQueueSOPInstance" }, - { UID_RETIRED_PullPrintRequestSOPClass, "PullPrintRequest", "RETIRED_PullPrintRequestSOPClass" }, - { UID_RETIRED_PullStoredPrintManagementMetaSOPClass, "PullStoredPrintManagementMeta", "RETIRED_PullStoredPrintManagementMetaSOPClass" }, - { UID_RETIRED_ReferencedColorPrintManagementMetaSOPClass, "ReferencedColorPrintManagementMeta", "RETIRED_ReferencedColorPrintManagementMetaSOPClass" }, - { UID_RETIRED_ReferencedGrayscalePrintManagementMetaSOPClass, "ReferencedGrayscalePrintManagementMeta", "RETIRED_ReferencedGrayscalePrintManagementMetaSOPClass" }, - { UID_RETIRED_ReferencedImageBoxSOPClass, "ReferencedImageBox", "RETIRED_ReferencedImageBoxSOPClass" }, - { UID_VOILUTBoxSOPClass, "VOILUTBox", "VOILUTBoxSOPClass" }, + { UID_BasicAnnotationBoxSOPClass, "BasicAnnotationBox", "BasicAnnotationBoxSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_BasicColorImageBoxSOPClass, "BasicColorImageBox", "BasicColorImageBoxSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_BasicColorPrintManagementMetaSOPClass, "BasicColorPrintManagementMeta", "BasicColorPrintManagementMetaSOPClass", { EUS_DICOM, EUV_Standard, EUT_MetaSOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_BasicFilmBoxSOPClass, "BasicFilmBox", "BasicFilmBoxSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_BasicFilmSessionSOPClass, "BasicFilmSession", "BasicFilmSessionSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_BasicGrayscaleImageBoxSOPClass, "BasicGrayscaleImageBox", "BasicGrayscaleImageBoxSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_BasicGrayscalePrintManagementMetaSOPClass, "BasicGrayscalePrintManagementMeta", "BasicGrayscalePrintManagementMetaSOPClass", { EUS_DICOM, EUV_Standard, EUT_MetaSOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_PresentationLUTSOPClass, "PresentationLUT", "PresentationLUTSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_PrintJobSOPClass, "PrintJob", "PrintJobSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_PrinterConfigurationRetrievalSOPClass, "PrinterConfigurationRetrieval", "PrinterConfigurationRetrievalSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_PrinterConfigurationRetrievalSOPInstance, "PrinterConfigurationRetrievalInstance", "PrinterConfigurationRetrievalSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_PrinterSOPClass, "Printer", "PrinterSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_PrinterSOPInstance, "PrinterInstance", "PrinterSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_BasicPrintImageOverlayBoxSOPClass, "BasicPrintImageOverlayBox", "RETIRED_BasicPrintImageOverlayBoxSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_ImageOverlayBoxSOPClass, "ImageOverlayBox", "RETIRED_ImageOverlayBoxSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_PrintQueueManagementSOPClass, "PrintQueueManagement", "RETIRED_PrintQueueManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_PrintQueueSOPInstance, "PrintQueue", "RETIRED_PrintQueueSOPInstance", { EUS_DICOM, EUV_Retired, EUT_SOPInstance, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_PullPrintRequestSOPClass, "PullPrintRequest", "RETIRED_PullPrintRequestSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_PullStoredPrintManagementMetaSOPClass, "PullStoredPrintManagementMeta", "RETIRED_PullStoredPrintManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_ReferencedColorPrintManagementMetaSOPClass, "ReferencedColorPrintManagementMeta", "RETIRED_ReferencedColorPrintManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_ReferencedGrayscalePrintManagementMetaSOPClass, "ReferencedGrayscalePrintManagementMeta", "RETIRED_ReferencedGrayscalePrintManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_ReferencedImageBoxSOPClass, "ReferencedImageBox", "RETIRED_ReferencedImageBoxSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, + { UID_VOILUTBoxSOPClass, "VOILUTBox", "VOILUTBoxSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, // Detached Management (retired) - { UID_RETIRED_DetachedInterpretationManagementSOPClass, "DetachedInterpretationManagement", "RETIRED_DetachedInterpretationManagementSOPClass" }, - { UID_RETIRED_DetachedPatientManagementMetaSOPClass, "DetachedPatientManagementMeta", "RETIRED_DetachedPatientManagementMetaSOPClass" }, - { UID_RETIRED_DetachedPatientManagementSOPClass, "DetachedPatientManagement", "RETIRED_DetachedPatientManagementSOPClass" }, - { UID_RETIRED_DetachedResultsManagementMetaSOPClass, "DetachedResultsManagementMeta", "RETIRED_DetachedResultsManagementMetaSOPClass" }, - { UID_RETIRED_DetachedResultsManagementSOPClass, "DetachedResultsManagement", "RETIRED_DetachedResultsManagementSOPClass" }, - { UID_RETIRED_DetachedStudyManagementMetaSOPClass, "DetachedStudyManagementMeta", "RETIRED_DetachedStudyManagementMetaSOPClass" }, - { UID_RETIRED_DetachedStudyManagementSOPClass, "DetachedStudyManagement", "RETIRED_DetachedStudyManagementSOPClass" }, - { UID_RETIRED_DetachedVisitManagementSOPClass, "DetachedVisitManagement", "RETIRED_DetachedVisitManagementSOPClass" }, + { UID_RETIRED_DetachedInterpretationManagementSOPClass, "DetachedInterpretationManagement", "RETIRED_DetachedInterpretationManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_DetachedPatientManagementMetaSOPClass, "DetachedPatientManagementMeta", "RETIRED_DetachedPatientManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_DetachedPatientManagementSOPClass, "DetachedPatientManagement", "RETIRED_DetachedPatientManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_DetachedResultsManagementMetaSOPClass, "DetachedResultsManagementMeta", "RETIRED_DetachedResultsManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_DetachedResultsManagementSOPClass, "DetachedResultsManagement", "RETIRED_DetachedResultsManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_DetachedStudyManagementMetaSOPClass, "DetachedStudyManagementMeta", "RETIRED_DetachedStudyManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_DetachedStudyManagementSOPClass, "DetachedStudyManagement", "RETIRED_DetachedStudyManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_DetachedVisitManagementSOPClass, "DetachedVisitManagement", "RETIRED_DetachedVisitManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, // Procedure Log - { UID_ProceduralEventLoggingSOPClass, "ProceduralEventLogging", "ProceduralEventLoggingSOPClass" }, - { UID_ProceduralEventLoggingSOPInstance, "ProceduralEventLoggingInstance", "ProceduralEventLoggingSOPInstance" }, + { UID_ProceduralEventLoggingSOPClass, "ProceduralEventLogging", "ProceduralEventLoggingSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_ProceduralEventLoggingSOPInstance, "ProceduralEventLoggingInstance", "ProceduralEventLoggingSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, // Substance Administration - { UID_SubstanceAdministrationLoggingSOPClass, "SubstanceAdministrationLogging", "SubstanceAdministrationLoggingSOPClass" }, - { UID_SubstanceAdministrationLoggingSOPInstance, "SubstanceAdministrationLoggingInstance", "SubstanceAdministrationLoggingSOPInstance" }, - { UID_ProductCharacteristicsQuerySOPClass, "ProductCharacteristicsQuery", "ProductCharacteristicsQuerySOPClass" }, - { UID_SubstanceApprovalQuerySOPClass, "SubstanceApprovalQuery", "SubstanceApprovalQuerySOPClass" }, + { UID_SubstanceAdministrationLoggingSOPClass, "SubstanceAdministrationLogging", "SubstanceAdministrationLoggingSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SubstanceAdministrationLoggingSOPInstance, "SubstanceAdministrationLoggingInstance", "SubstanceAdministrationLoggingSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_ProductCharacteristicsQuerySOPClass, "ProductCharacteristicsQuery", "ProductCharacteristicsQuerySOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SubstanceApprovalQuerySOPClass, "SubstanceApprovalQuery", "SubstanceApprovalQuerySOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, // Media Creation - { UID_MediaCreationManagementSOPClass, "MediaCreationManagement", "MediaCreationManagementSOPClass" }, + { UID_MediaCreationManagementSOPClass, "MediaCreationManagement", "MediaCreationManagementSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, // SOP Class Relationship Negotiation - { UID_StorageServiceClass, "Storage", "StorageServiceClass" }, + { UID_StorageServiceClass, "Storage", "StorageServiceClass", { EUS_DICOM, EUV_Standard, EUT_ServiceClass, EUST_other, EUIT_other, UID_PROP_NONE } }, // Instance Availability Notification - { UID_InstanceAvailabilityNotificationSOPClass, "InstanceAvailabilityNotification", "InstanceAvailabilityNotificationSOPClass" }, + { UID_InstanceAvailabilityNotificationSOPClass, "InstanceAvailabilityNotification", "InstanceAvailabilityNotificationSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, // Application Hosting - { UID_NativeDICOMModel, "NativeDICOMModel", "NativeDICOMModel" }, - { UID_AbstractMultiDimensionalImageModel, "AbstractMultiDimensionalImageModel", "AbstractMultiDimensionalImageModel" }, + { UID_NativeDICOMModel, "NativeDICOMModel", "NativeDICOMModel", { EUS_DICOM, EUV_Standard, EUT_ApplicationHosting, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_AbstractMultiDimensionalImageModel, "AbstractMultiDimensionalImageModel", "AbstractMultiDimensionalImageModel", { EUS_DICOM, EUV_Standard, EUT_ApplicationHosting, EUST_other, EUIT_other, UID_PROP_NONE } }, // Communication of Display Parameters - { UID_DisplaySystemSOPClass, "DisplaySystem", "DisplaySystemSOPClass" }, - { UID_DisplaySystemSOPInstance, "DisplaySystemInstance", "DisplaySystemSOPInstance" }, + { UID_DisplaySystemSOPClass, "DisplaySystem", "DisplaySystemSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_DisplaySystemSOPInstance, "DisplaySystemInstance", "DisplaySystemSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, // Real-Time Video - { UID_VideoEndoscopicImageRealTimeCommunication, "VideoEndoscopicImageRealTimeCommunication", "VideoEndoscopicImageRealTimeCommunication" }, - { UID_VideoPhotographicImageRealTimeCommunication, "VideoPhotographicImageRealTimeCommunication", "VideoPhotographicImageRealTimeCommunication" }, - { UID_AudioWaveformRealTimeCommunication, "AudioWaveformRealTimeCommunication", "AudioWaveformRealTimeCommunication" }, - { UID_RenditionSelectionDocumentRealTimeCommunication, "RenditionSelectionDocumentRealTimeCommunication", "RenditionSelectionDocumentRealTimeCommunication" }, + { UID_VideoEndoscopicImageRealTimeCommunication, "VideoEndoscopicImageRealTimeCommunication", "VideoEndoscopicImageRealTimeCommunication", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_VideoPhotographicImageRealTimeCommunication, "VideoPhotographicImageRealTimeCommunication", "VideoPhotographicImageRealTimeCommunication", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_AudioWaveformRealTimeCommunication, "AudioWaveformRealTimeCommunication", "AudioWaveformRealTimeCommunication", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RenditionSelectionDocumentRealTimeCommunication, "RenditionSelectionDocumentRealTimeCommunication", "RenditionSelectionDocumentRealTimeCommunication", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_StructuredReport, UID_PROP_NONE } }, // Other - { UID_RETIRED_BasicStudyContentNotificationSOPClass, "BasicStudyContentNotification", "RETIRED_BasicStudyContentNotificationSOPClass" }, - { UID_RETIRED_StudyComponentManagementSOPClass, "StudyComponentManagement", "RETIRED_StudyComponentManagementSOPClass" }, - { UID_VerificationSOPClass, "Verification", "VerificationSOPClass" }, + { UID_RETIRED_BasicStudyContentNotificationSOPClass, "BasicStudyContentNotification", "RETIRED_BasicStudyContentNotificationSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_RETIRED_StudyComponentManagementSOPClass, "StudyComponentManagement", "RETIRED_StudyComponentManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_VerificationSOPClass, "Verification", "VerificationSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, // Mapping Resources - { UID_DICOMContentMappingResource, "DICOMContentMappingResource", "DICOMContentMappingResource" }, + { UID_DICOMContentMappingResource, "DICOMContentMappingResource", "DICOMContentMappingResource", { EUS_DICOM, EUV_Standard, EUT_MappingResource, EUST_other, EUIT_other, UID_PROP_NONE } }, // Coding Schemes - { UID_DICOMControlledTerminologyCodingScheme, "DCM", "DICOMControlledTerminologyCodingScheme" }, - { UID_DICOMUIDRegistryCodingScheme, "DCMUID", "DICOMUIDRegistryCodingScheme" }, + { UID_DICOMControlledTerminologyCodingScheme, "DCM", "DICOMControlledTerminologyCodingScheme", { EUS_DICOM, EUV_Standard, EUT_CodingScheme, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_DICOMUIDRegistryCodingScheme, "DCMUID", "DICOMUIDRegistryCodingScheme", { EUS_DICOM, EUV_Standard, EUT_CodingScheme, EUST_other, EUIT_other, UID_PROP_NONE } }, // Configuration Management LDAP UIDs - { UID_LDAP_dicomAETitle, "dicomAETitle", "LDAP_dicomAETitle" }, - { UID_LDAP_dicomApplicationCluster, "dicomApplicationCluster", "LDAP_dicomApplicationCluster" }, - { UID_LDAP_dicomAssociationAcceptor, "dicomAssociationAcceptor", "LDAP_dicomAssociationAcceptor" }, - { UID_LDAP_dicomAssociationInitiator, "dicomAssociationInitiator", "LDAP_dicomAssociationInitiator" }, - { UID_LDAP_dicomAuthorizedNodeCertificateReference, "dicomAuthorizedNodeCertificateReference", "LDAP_dicomAuthorizedNodeCertificateReference" }, - { UID_LDAP_dicomConfigurationRoot, "dicomConfigurationRoot", "LDAP_dicomConfigurationRoot" }, - { UID_LDAP_dicomDescription, "dicomDescription", "LDAP_dicomDescription" }, - { UID_LDAP_dicomDevice, "dicomDevice", "LDAP_dicomDevice" }, - { UID_LDAP_dicomDeviceName, "dicomDeviceName", "LDAP_dicomDeviceName" }, - { UID_LDAP_dicomDeviceSerialNumber, "dicomDeviceSerialNumber", "LDAP_dicomDeviceSerialNumber" }, - { UID_LDAP_dicomDevicesRoot, "dicomDevicesRoot", "LDAP_dicomDevicesRoot" }, - { UID_LDAP_dicomHostname, "dicomHostname", "LDAP_dicomHostname" }, - { UID_LDAP_dicomInstalled, "dicomInstalled", "LDAP_dicomInstalled" }, - { UID_LDAP_dicomInstitutionAddress, "dicomInstitutionAddress", "LDAP_dicomInstitutionAddress" }, - { UID_LDAP_dicomInstitutionDepartmentName, "dicomInstitutionDepartmentName", "LDAP_dicomInstitutionDepartmentName" }, - { UID_LDAP_dicomInstitutionName, "dicomInstitutionName", "LDAP_dicomInstitutionName" }, - { UID_LDAP_dicomIssuerOfPatientID, "dicomIssuerOfPatientID", "LDAP_dicomIssuerOfPatientID" }, - { UID_LDAP_dicomManufacturer, "dicomManufacturer", "LDAP_dicomManufacturer" }, - { UID_LDAP_dicomManufacturerModelName, "dicomManufacturerModelName", "LDAP_dicomManufacturerModelName" }, - { UID_LDAP_dicomNetworkAE, "dicomNetworkAE", "LDAP_dicomNetworkAE" }, - { UID_LDAP_dicomNetworkConnection, "dicomNetworkConnection", "LDAP_dicomNetworkConnection" }, - { UID_LDAP_dicomNetworkConnectionReference, "dicomNetworkConnectionReference", "LDAP_dicomNetworkConnectionReference" }, - { UID_LDAP_dicomPort, "dicomPort", "LDAP_dicomPort" }, - { UID_LDAP_dicomPreferredCalledAETitle, "dicomPreferredCalledAETitle", "LDAP_dicomPreferredCalledAETitle" }, - { UID_LDAP_dicomPreferredCallingAETitle, "dicomPreferredCallingAETitle", "LDAP_dicomPreferredCallingAETitle" }, - { UID_LDAP_dicomPrimaryDeviceType, "dicomPrimaryDeviceType", "LDAP_dicomPrimaryDeviceType" }, - { UID_LDAP_dicomRelatedDeviceReference, "dicomRelatedDeviceReference", "LDAP_dicomRelatedDeviceReference" }, - { UID_LDAP_dicomSOPClass, "dicomSOPClass", "LDAP_dicomSOPClass" }, - { UID_LDAP_dicomSoftwareVersion, "dicomSoftwareVersion", "LDAP_dicomSoftwareVersion" }, - { UID_LDAP_dicomStationName, "dicomStationName", "LDAP_dicomStationName" }, - { UID_LDAP_dicomSupportedCharacterSet, "dicomSupportedCharacterSet", "LDAP_dicomSupportedCharacterSet" }, - { UID_LDAP_dicomTLSCyphersuite, "dicomTLSCyphersuite", "LDAP_dicomTLSCyphersuite" }, - { UID_LDAP_dicomThisNodeCertificateReference, "dicomThisNodeCertificateReference", "LDAP_dicomThisNodeCertificateReference" }, - { UID_LDAP_dicomTransferCapability, "dicomTransferCapability", "LDAP_dicomTransferCapability" }, - { UID_LDAP_dicomTransferRole, "dicomTransferRole", "LDAP_dicomTransferRole" }, - { UID_LDAP_dicomTransferSyntax, "dicomTransferSyntax", "LDAP_dicomTransferSyntax" }, - { UID_LDAP_dicomUniqueAETitle, "dicomUniqueAETitle", "LDAP_dicomUniqueAETitle" }, - { UID_LDAP_dicomUniqueAETitlesRegistryRoot, "dicomUniqueAETitlesRegistryRoot", "LDAP_dicomUniqueAETitlesRegistryRoot" }, - { UID_LDAP_dicomVendorData, "dicomVendorData", "LDAP_dicomVendorData" }, + { UID_LDAP_dicomAETitle, "dicomAETitle", "LDAP_dicomAETitle", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomApplicationCluster, "dicomApplicationCluster", "LDAP_dicomApplicationCluster", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomAssociationAcceptor, "dicomAssociationAcceptor", "LDAP_dicomAssociationAcceptor", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomAssociationInitiator, "dicomAssociationInitiator", "LDAP_dicomAssociationInitiator", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomAuthorizedNodeCertificateReference, "dicomAuthorizedNodeCertificateReference", "LDAP_dicomAuthorizedNodeCertificateReference", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomConfigurationRoot, "dicomConfigurationRoot", "LDAP_dicomConfigurationRoot", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomDescription, "dicomDescription", "LDAP_dicomDescription", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomDevice, "dicomDevice", "LDAP_dicomDevice", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomDeviceName, "dicomDeviceName", "LDAP_dicomDeviceName", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomDeviceSerialNumber, "dicomDeviceSerialNumber", "LDAP_dicomDeviceSerialNumber", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomDevicesRoot, "dicomDevicesRoot", "LDAP_dicomDevicesRoot", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomHostname, "dicomHostname", "LDAP_dicomHostname", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomInstalled, "dicomInstalled", "LDAP_dicomInstalled", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomInstitutionAddress, "dicomInstitutionAddress", "LDAP_dicomInstitutionAddress", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomInstitutionDepartmentName, "dicomInstitutionDepartmentName", "LDAP_dicomInstitutionDepartmentName", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomInstitutionName, "dicomInstitutionName", "LDAP_dicomInstitutionName", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomIssuerOfPatientID, "dicomIssuerOfPatientID", "LDAP_dicomIssuerOfPatientID", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomManufacturer, "dicomManufacturer", "LDAP_dicomManufacturer", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomManufacturerModelName, "dicomManufacturerModelName", "LDAP_dicomManufacturerModelName", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomNetworkAE, "dicomNetworkAE", "LDAP_dicomNetworkAE", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomNetworkConnection, "dicomNetworkConnection", "LDAP_dicomNetworkConnection", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomNetworkConnectionReference, "dicomNetworkConnectionReference", "LDAP_dicomNetworkConnectionReference", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomPort, "dicomPort", "LDAP_dicomPort", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomPreferredCalledAETitle, "dicomPreferredCalledAETitle", "LDAP_dicomPreferredCalledAETitle", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomPreferredCallingAETitle, "dicomPreferredCallingAETitle", "LDAP_dicomPreferredCallingAETitle", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomPrimaryDeviceType, "dicomPrimaryDeviceType", "LDAP_dicomPrimaryDeviceType", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomRelatedDeviceReference, "dicomRelatedDeviceReference", "LDAP_dicomRelatedDeviceReference", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomSOPClass, "dicomSOPClass", "LDAP_dicomSOPClass", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomSoftwareVersion, "dicomSoftwareVersion", "LDAP_dicomSoftwareVersion", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomStationName, "dicomStationName", "LDAP_dicomStationName", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomSupportedCharacterSet, "dicomSupportedCharacterSet", "LDAP_dicomSupportedCharacterSet", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomTLSCyphersuite, "dicomTLSCyphersuite", "LDAP_dicomTLSCyphersuite", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomThisNodeCertificateReference, "dicomThisNodeCertificateReference", "LDAP_dicomThisNodeCertificateReference", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomTransferCapability, "dicomTransferCapability", "LDAP_dicomTransferCapability", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomTransferRole, "dicomTransferRole", "LDAP_dicomTransferRole", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomTransferSyntax, "dicomTransferSyntax", "LDAP_dicomTransferSyntax", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomUniqueAETitle, "dicomUniqueAETitle", "LDAP_dicomUniqueAETitle", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomUniqueAETitlesRegistryRoot, "dicomUniqueAETitlesRegistryRoot", "LDAP_dicomUniqueAETitlesRegistryRoot", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LDAP_dicomVendorData, "dicomVendorData", "LDAP_dicomVendorData", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, // Well-known Frame of References - { UID_ICBM452T1FrameOfReference, "ICBM452T1", "ICBM452T1FrameOfReference" }, - { UID_ICBMSingleSubjectMRIFrameOfReference, "ICBMSingleSubjectMRI", "ICBMSingleSubjectMRIFrameOfReference" }, - { UID_IEC61217FixedCoordinateSystemFrameOfReference, "IEC61217FixedCoordinateSystem", "IEC61217FixedCoordinateSystemFrameOfReference" }, - { UID_IEC61217TableTopCoordinateSystemFrameOfReference, "IEC61217TableTopCoordinateSystem", "IEC61217TableTopCoordinateSystemFrameOfReference" }, - { UID_SPM2AVG152PDFrameOfReference, "SPM2AVG152PD", "SPM2AVG152PDFrameOfReference" }, - { UID_SPM2AVG152T1FrameOfReference, "SPM2AVG152T1", "SPM2AVG152T1FrameOfReference" }, - { UID_SPM2AVG152T2FrameOfReference, "SPM2AVG152T2", "SPM2AVG152T2FrameOfReference" }, - { UID_SPM2AVG305T1FrameOfReference, "SPM2AVG305T1", "SPM2AVG305T1FrameOfReference" }, - { UID_SPM2BRAINMASKFrameOfReference, "SPM2BRAINMASK", "SPM2BRAINMASKFrameOfReference" }, - { UID_SPM2CSFFrameOfReference, "SPM2CSF", "SPM2CSFFrameOfReference" }, - { UID_SPM2EPIFrameOfReference, "SPM2EPI", "SPM2EPIFrameOfReference" }, - { UID_SPM2FILT1FrameOfReference, "SPM2FILT1", "SPM2FILT1FrameOfReference" }, - { UID_SPM2GRAYFrameOfReference, "SPM2GRAY", "SPM2GRAYFrameOfReference" }, - { UID_SPM2PDFrameOfReference, "SPM2PD", "SPM2PDFrameOfReference" }, - { UID_SPM2PETFrameOfReference, "SPM2PET", "SPM2PETFrameOfReference" }, - { UID_SPM2SINGLESUBJT1FrameOfReference, "SINGLESUBJT1", "SPM2SINGLESUBJT1FrameOfReference" }, - { UID_SPM2SPECTFrameOfReference, "SPM2SPECT", "SPM2SPECTFrameOfReference" }, - { UID_SPM2T1FrameOfReference, "SPM2T1", "SPM2T1FrameOfReference" }, - { UID_SPM2T2FrameOfReference, "SPM2T2", "SPM2T2FrameOfReference" }, - { UID_SPM2TRANSMFrameOfReference, "SPM2TRANSM", "SPM2TRANSMFrameOfReference" }, - { UID_SPM2WHITEFrameOfReference, "SPM2WHITE", "SPM2WHITEFrameOfReference" }, - { UID_StandardRoboticArmCoordinateSystemFrameOfReference, "StandardRoboticArmCoordinateSystem", "StandardRoboticArmCoordinateSystemFrameOfReference" }, - { UID_TalairachBrainAtlasFrameOfReference, "TalairachBrainAtlas", "TalairachBrainAtlasFrameOfReference" }, - { UID_SRI24FrameOfReference, "SRI24", "SRI24FrameOfReference" }, - { UID_Colin27FrameOfReference, "Colin27", "Colin27FrameOfReference" }, - { UID_LPBA40AIRFrameOfReference, "LPBA40AIR", "LPBA40AIRFrameOfReference" }, - { UID_LPBA40FLIRTFrameOfReference, "LPBA40FLIRT", "LPBA40FLIRTFrameOfReference" }, - { UID_LPBA40SPM5FrameOfReference, "LPBA40SPM5", "LPBA40SPM5FrameOfReference" }, + { UID_ICBM452T1FrameOfReference, "ICBM452T1", "ICBM452T1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_ICBMSingleSubjectMRIFrameOfReference, "ICBMSingleSubjectMRI", "ICBMSingleSubjectMRIFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_IEC61217FixedCoordinateSystemFrameOfReference, "IEC61217FixedCoordinateSystem", "IEC61217FixedCoordinateSystemFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_IEC61217TableTopCoordinateSystemFrameOfReference, "IEC61217TableTopCoordinateSystem", "IEC61217TableTopCoordinateSystemFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2AVG152PDFrameOfReference, "SPM2AVG152PD", "SPM2AVG152PDFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2AVG152T1FrameOfReference, "SPM2AVG152T1", "SPM2AVG152T1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2AVG152T2FrameOfReference, "SPM2AVG152T2", "SPM2AVG152T2FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2AVG305T1FrameOfReference, "SPM2AVG305T1", "SPM2AVG305T1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2BRAINMASKFrameOfReference, "SPM2BRAINMASK", "SPM2BRAINMASKFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2CSFFrameOfReference, "SPM2CSF", "SPM2CSFFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2EPIFrameOfReference, "SPM2EPI", "SPM2EPIFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2FILT1FrameOfReference, "SPM2FILT1", "SPM2FILT1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2GRAYFrameOfReference, "SPM2GRAY", "SPM2GRAYFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2PDFrameOfReference, "SPM2PD", "SPM2PDFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2PETFrameOfReference, "SPM2PET", "SPM2PETFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2SINGLESUBJT1FrameOfReference, "SINGLESUBJT1", "SPM2SINGLESUBJT1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2SPECTFrameOfReference, "SPM2SPECT", "SPM2SPECTFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2T1FrameOfReference, "SPM2T1", "SPM2T1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2T2FrameOfReference, "SPM2T2", "SPM2T2FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2TRANSMFrameOfReference, "SPM2TRANSM", "SPM2TRANSMFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SPM2WHITEFrameOfReference, "SPM2WHITE", "SPM2WHITEFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_StandardRoboticArmCoordinateSystemFrameOfReference, "StandardRoboticArmCoordinateSystem", "StandardRoboticArmCoordinateSystemFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_TalairachBrainAtlasFrameOfReference, "TalairachBrainAtlas", "TalairachBrainAtlasFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_SRI24FrameOfReference, "SRI24", "SRI24FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_Colin27FrameOfReference, "Colin27", "Colin27FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LPBA40AIRFrameOfReference, "LPBA40AIR", "LPBA40AIRFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LPBA40FLIRTFrameOfReference, "LPBA40FLIRT", "LPBA40FLIRTFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_LPBA40SPM5FrameOfReference, "LPBA40SPM5", "LPBA40SPM5FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, // UTC Synchronization Frame of Reference - { UID_UniversalCoordinatedTimeSynchronizationFrameOfReference, "UTC", "UniversalCoordinatedTimeSynchronizationFrameOfReference" }, + { UID_UniversalCoordinatedTimeSynchronizationFrameOfReference, "UTC", "UniversalCoordinatedTimeSynchronizationFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, // Well-known SOP Instances for Color Palettes - { UID_HotIronColorPaletteSOPInstance, "HotIronPalette", "HotIronColorPaletteSOPInstance" }, - { UID_HotMetalBlueColorPaletteSOPInstance, "HotMetalBluePalette", "HotMetalBlueColorPaletteSOPInstance" }, - { UID_PET20StepColorPaletteSOPInstance, "PET20StepPalette", "PET20StepColorPaletteSOPInstance" }, - { UID_PETColorPaletteSOPInstance, "PETPalette", "PETColorPaletteSOPInstance" }, - { UID_SpringColorPaletteSOPInstance, "SpringPalette", "SpringColorPaletteSOPInstance" }, - { UID_SummerColorPaletteSOPInstance, "SummerPalette", "SummerColorPaletteSOPInstance" }, - { UID_FallColorPaletteSOPInstance, "FallPalette", "FallColorPaletteSOPInstance" }, - { UID_WinterColorPaletteSOPInstance, "WinterPalette", "WinterColorPaletteSOPInstance" }, + { UID_HotIronColorPaletteSOPInstance, "HotIronPalette", "HotIronColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, + { UID_HotMetalBlueColorPaletteSOPInstance, "HotMetalBluePalette", "HotMetalBlueColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, + { UID_PET20StepColorPaletteSOPInstance, "PET20StepPalette", "PET20StepColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, + { UID_PETColorPaletteSOPInstance, "PETPalette", "PETColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, + { UID_SpringColorPaletteSOPInstance, "SpringPalette", "SpringColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, + { UID_SummerColorPaletteSOPInstance, "SummerPalette", "SummerColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, + { UID_FallColorPaletteSOPInstance, "FallPalette", "FallColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, + { UID_WinterColorPaletteSOPInstance, "WinterPalette", "WinterColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, // Draft Supplements - { UID_DRAFT_RTBeamsDeliveryInstructionStorage, "RTBeamsDeliveryInstructionStorageTrial", "DRAFT_RTBeamsDeliveryInstructionStorage" }, - { UID_DRAFT_RTConventionalMachineVerification, "RTConventionalMachineVerificationTrial", "DRAFT_RTConventionalMachineVerification" }, - { UID_DRAFT_RTIonMachineVerification, "RTIonMachineVerificationTrial", "DRAFT_RTIonMachineVerification" }, - { UID_DRAFT_SRAudioStorage, "AudioSRStorageTrial", "DRAFT_SRAudioStorage" }, - { UID_DRAFT_SRComprehensiveStorage, "ComprehensiveSRStorageTrial", "DRAFT_SRComprehensiveStorage" }, - { UID_DRAFT_SRDetailStorage, "DetailSRStorageTrial", "DRAFT_SRDetailStorage" }, - { UID_DRAFT_SRTextStorage, "TextSRStorageTrial", "DRAFT_SRTextStorage" }, - { UID_DRAFT_WaveformStorage, "WaveformStorageTrial", "DRAFT_WaveformStorage" }, - { UID_DRAFT_UnifiedWorklistAndProcedureStepServiceClass, "UnifiedWorklistAndProcedureStepTrial", "DRAFT_UnifiedWorklistAndProcedureStepServiceClass" }, - { UID_DRAFT_UnifiedProcedureStepPushSOPClass, "UnifiedProcedureStepPushTrial", "DRAFT_UnifiedProcedureStepPushSOPClass" }, - { UID_DRAFT_UnifiedProcedureStepWatchSOPClass, "UnifiedProcedureStepWatchTrial", "DRAFT_UnifiedProcedureStepWatchSOPClass" }, - { UID_DRAFT_UnifiedProcedureStepPullSOPClass, "UnifiedProcedureStepPullTrial", "DRAFT_UnifiedProcedureStepPullSOPClass" }, - { UID_DRAFT_UnifiedProcedureStepEventSOPClass, "UnifiedProcedureStepEventTrial", "DRAFT_UnifiedProcedureStepEventSOPClass" }, - - { NULL, NULL, NULL} + { UID_DRAFT_RTBeamsDeliveryInstructionStorage, "RTBeamsDeliveryInstructionStorageTrial", "DRAFT_RTBeamsDeliveryInstructionStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, + { UID_DRAFT_RTConventionalMachineVerification, "RTConventionalMachineVerificationTrial", "DRAFT_RTConventionalMachineVerification", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_DRAFT_RTIonMachineVerification, "RTIonMachineVerificationTrial", "DRAFT_RTIonMachineVerification", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_DRAFT_SRAudioStorage, "AudioSRStorageTrial", "DRAFT_SRAudioStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_DRAFT_SRComprehensiveStorage, "ComprehensiveSRStorageTrial", "DRAFT_SRComprehensiveStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_DRAFT_SRDetailStorage, "DetailSRStorageTrial", "DRAFT_SRDetailStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_DRAFT_SRTextStorage, "TextSRStorageTrial", "DRAFT_SRTextStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, + { UID_DRAFT_WaveformStorage, "WaveformStorageTrial", "DRAFT_WaveformStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, + { UID_DRAFT_UnifiedWorklistAndProcedureStepServiceClass, "UnifiedWorklistAndProcedureStepTrial", "DRAFT_UnifiedWorklistAndProcedureStepServiceClass", { EUS_DICOM, EUV_Draft, EUT_ServiceClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_DRAFT_UnifiedProcedureStepPushSOPClass, "UnifiedProcedureStepPushTrial", "DRAFT_UnifiedProcedureStepPushSOPClass", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_DRAFT_UnifiedProcedureStepWatchSOPClass, "UnifiedProcedureStepWatchTrial", "DRAFT_UnifiedProcedureStepWatchSOPClass", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_DRAFT_UnifiedProcedureStepPullSOPClass, "UnifiedProcedureStepPullTrial", "DRAFT_UnifiedProcedureStepPullSOPClass", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + { UID_DRAFT_UnifiedProcedureStepEventSOPClass, "UnifiedProcedureStepEventTrial", "DRAFT_UnifiedProcedureStepEventSOPClass", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, + + // end of the list + { NULL, NULL, NULL, { EUS_other, EUV_other, EUT_other, EUST_other, EUIT_other, UID_PROP_NONE } } }; static const int uidNameMap_size = OFstatic_cast(int, sizeof(uidNameMap) / sizeof(UIDNameMap)); @@ -662,6 +685,8 @@ const char* dcmAllStorageSOPClassUIDs[] = { UID_Comprehensive3DSRStorage, UID_ComprehensiveSRStorage, UID_ComputedRadiographyImageStorage, + UID_ConfocalMicroscopyImageStorage, + UID_ConfocalMicroscopyTiledPyramidalImageStorage, UID_ContentAssessmentResultsStorage, UID_CornealTopographyMapStorage, UID_CTImageStorage, @@ -698,6 +723,7 @@ const char* dcmAllStorageSOPClassUIDs[] = { UID_GeneralECGWaveformStorage, UID_GrayscalePlanarMPRVolumetricPresentationStateStorage, UID_GrayscaleSoftcopyPresentationStateStorage, + UID_HeightMapSegmentationStorage, UID_HemodynamicWaveformStorage, UID_ImplantationPlanSRStorage, UID_IntraocularLensCalculationsStorage, @@ -705,6 +731,7 @@ const char* dcmAllStorageSOPClassUIDs[] = { UID_IntravascularOpticalCoherenceTomographyImageStorageForProcessing, UID_KeratometryMeasurementsStorage, UID_KeyObjectSelectionDocumentStorage, + UID_LabelMapSegmentationStorage, UID_LegacyConvertedEnhancedCTImageStorage, UID_LegacyConvertedEnhancedMRImageStorage, UID_LegacyConvertedEnhancedPETImageStorage, @@ -793,6 +820,7 @@ const char* dcmAllStorageSOPClassUIDs[] = { UID_VLSlideCoordinatesMicroscopicImageStorage, UID_VLWholeSlideMicroscopyImageStorage, UID_VolumeRenderingVolumetricPresentationStateStorage, + UID_WaveformAnnotationSRStorage, UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, UID_XAPerformedProcedureProtocolStorage, @@ -837,6 +865,8 @@ const char* dcmAllStorageSOPClassUIDs[] = { // DICONDE UID_DICONDE_EddyCurrentImageStorage, UID_DICONDE_EddyCurrentMultiframeImageStorage, + UID_DICONDE_ThermographyImageStorage, + UID_DICONDE_ThermographyMultiFrameImageStorage, NULL }; @@ -986,6 +1016,8 @@ const char* dcmLongSCUStorageSOPClassUIDs[] = { // UID_CArmPhotonElectronRadiationRecordStorage, // UID_CArmPhotonElectronRadiationStorage, // UID_CompositingPlanarMPRVolumetricPresentationStateStorage, +// UID_ConfocalMicroscopyImageStorage, +// UID_ConfocalMicroscopyTiledPyramidalImageStorage, // UID_ContentAssessmentResultsStorage, // UID_CornealTopographyMapStorage, // UID_CTPerformedProcedureProtocolStorage, @@ -1001,6 +1033,8 @@ const char* dcmLongSCUStorageSOPClassUIDs[] = { // UID_ExtensibleSRStorage, // UID_General32BitECGWaveformStorage, // UID_GrayscalePlanarMPRVolumetricPresentationStateStorage, +// UID_HeightMapSegmentationStorage, +// UID_LabelMapSegmentationStorage, // UID_MicroscopyBulkSimpleAnnotationsStorage, // UID_MultichannelRespiratoryWaveformStorage, // UID_MultipleVolumeRenderingVolumetricPresentationStateStorage, @@ -1032,6 +1066,7 @@ const char* dcmLongSCUStorageSOPClassUIDs[] = { // UID_TractographyResultsStorage, // UID_VariableModalityLUTSoftcopyPresentationStateStorage, // UID_VolumeRenderingVolumetricPresentationStateStorage, +// UID_WaveformAnnotationSRStorage, // UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, // UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, // UID_XAPerformedProcedureProtocolStorage, @@ -1078,6 +1113,8 @@ const char* dcmLongSCUStorageSOPClassUIDs[] = { // DICONDE // UID_DICONDE_EddyCurrentImageStorage, // UID_DICONDE_EddyCurrentMultiframeImageStorage, +// UID_DICONDE_ThermographyImageStorage, +// UID_DICONDE_ThermographyMultiFrameImageStorage, NULL }; @@ -1188,6 +1225,8 @@ const char* dcmImageSOPClassUIDs[] = { UID_BreastProjectionXRayImageStorageForProcessing, UID_BreastTomosynthesisImageStorage, UID_ComputedRadiographyImageStorage, + UID_ConfocalMicroscopyImageStorage, + UID_ConfocalMicroscopyTiledPyramidalImageStorage, UID_CTImageStorage, UID_CornealTopographyMapStorage, UID_DermoscopicPhotographyImageStorage, @@ -1206,8 +1245,10 @@ const char* dcmImageSOPClassUIDs[] = { UID_EnhancedUSVolumeStorage, UID_EnhancedXAImageStorage, UID_EnhancedXRFImageStorage, + UID_HeightMapSegmentationStorage, UID_IntravascularOpticalCoherenceTomographyImageStorageForPresentation, UID_IntravascularOpticalCoherenceTomographyImageStorageForProcessing, + UID_LabelMapSegmentationStorage, UID_LegacyConvertedEnhancedCTImageStorage, UID_LegacyConvertedEnhancedMRImageStorage, UID_LegacyConvertedEnhancedPETImageStorage, @@ -1261,6 +1302,8 @@ const char* dcmImageSOPClassUIDs[] = { // DICONDE UID_DICONDE_EddyCurrentImageStorage, UID_DICONDE_EddyCurrentMultiframeImageStorage, + UID_DICONDE_ThermographyImageStorage, + UID_DICONDE_ThermographyMultiFrameImageStorage, NULL }; @@ -1306,6 +1349,8 @@ static const DcmModalityTable modalities[] = { { UID_Comprehensive3DSRStorage, "SR3", 4096 }, { UID_ComprehensiveSRStorage, "SRc", 4096 }, { UID_ComputedRadiographyImageStorage, "CR", 2048 * 2048 * 2 }, + { UID_ConfocalMicroscopyImageStorage, "CFm", 1024 * 1024 }, + { UID_ConfocalMicroscopyTiledPyramidalImageStorage, "CFt", 1024 * 1024 * 10 }, { UID_ContentAssessmentResultsStorage, "AS", 4096 }, { UID_CornealTopographyMapStorage, "CM", 512 * 512 }, { UID_CTDefinedProcedureProtocolStorage, "PPcd", 4096 }, /* was PPd */ @@ -1345,6 +1390,7 @@ static const DcmModalityTable modalities[] = { { UID_GrayscalePlanarMPRVolumetricPresentationStateStorage, "VPg", 4096 }, { UID_GrayscaleSoftcopyPresentationStateStorage, "PSg", 4096 }, { UID_HangingProtocolStorage, "HP", 4096 }, + { UID_HeightMapSegmentationStorage, "SGh", 512 * 512 }, { UID_HemodynamicWaveformStorage, "WVh", 4096 }, { UID_ImplantAssemblyTemplateStorage, "ITa", 4096 }, { UID_ImplantationPlanSRStorage, "SRi", 4096 }, @@ -1355,6 +1401,7 @@ static const DcmModalityTable modalities[] = { { UID_InventoryStorage, "INV", 4096 }, { UID_KeratometryMeasurementsStorage, "OPk", 4096 }, { UID_KeyObjectSelectionDocumentStorage, "KO", 4096 }, + { UID_LabelMapSegmentationStorage, "SGl", 512 * 512 }, { UID_LegacyConvertedEnhancedCTImageStorage, "CTl", 512 * 512 * 2 }, { UID_LegacyConvertedEnhancedMRImageStorage, "MRl", 256 * 256 * 2 }, { UID_LegacyConvertedEnhancedPETImageStorage, "PIl", 512 * 512 * 2 }, @@ -1444,6 +1491,7 @@ static const DcmModalityTable modalities[] = { { UID_VLSlideCoordinatesMicroscopicImageStorage, "VLs", 768 * 576 * 3 }, { UID_VLWholeSlideMicroscopyImageStorage, "VLw", 10000 * 10000 * 3 }, { UID_VolumeRenderingVolumetricPresentationStateStorage, "VPv", 4096 }, + { UID_WaveformAnnotationSRStorage, "SRw", 4096 }, { UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, "OWs", 768 * 576 * 3 }, { UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, "OW3", 768 * 576 * 3 }, { UID_XADefinedProcedureProtocolStorage, "PPxd", 4096 }, @@ -1486,7 +1534,9 @@ static const DcmModalityTable modalities[] = { { UID_DICOS_QuadrupoleResonanceStorage, "QR", 4096 }, // DICONDE { UID_DICONDE_EddyCurrentImageStorage, "EC", 512 * 512 }, - { UID_DICONDE_EddyCurrentMultiframeImageStorage, "ECm", 512 * 512 } + { UID_DICONDE_EddyCurrentMultiframeImageStorage, "ECm", 512 * 512 }, + { UID_DICONDE_ThermographyImageStorage, "TG", 512 * 512 }, + { UID_DICONDE_ThermographyMultiFrameImageStorage, "TGm", 512 * 512 } }; static const int numberOfDcmModalityTableEntries = OFstatic_cast(int, sizeof(modalities) / sizeof(DcmModalityTable)); @@ -1533,7 +1583,6 @@ unsigned long dcmGuessModalityBytes(const char *sopClassUID) ** Performs a table lookup and returns a pointer to a read-only string. ** Returns defaultValue if the UID is not known. */ - const char* dcmFindNameOfUID(const char* uid, const char* defaultValue) { @@ -1546,13 +1595,12 @@ dcmFindNameOfUID(const char* uid, const char* defaultValue) return defaultValue; } -// -// dcmFindUIDFromName(const char* name) -// Return the UID of a name. -// Performs a table lookup and returns a pointer to a read-only string. -// Returns NULL if the name is not known. -// - +/* +** dcmFindUIDFromName(const char* name) +** Return the UID of a name. +** Performs a table lookup and returns a pointer to a read-only string. +** Returns NULL if the name is not known. +*/ const char* dcmFindUIDFromName(const char* name) { @@ -1572,7 +1620,6 @@ dcmFindUIDFromName(const char* name) ** Performs a table lookup and returns a pointer to a read-only string. ** Returns defaultValue if the UID is not known. */ - const char* dcmFindKeywordOfUID(const char* uid, const char* defaultValue) { @@ -1585,13 +1632,12 @@ dcmFindKeywordOfUID(const char* uid, const char* defaultValue) return defaultValue; } -// -// dcmFindUIDFromKeyword(const char* keyword) -// Return the UID of a keyword. -// Performs a table lookup and returns a pointer to a read-only string. -// Returns NULL if the keyword is not known. -// - +/* +** dcmFindUIDFromKeyword(const char* keyword) +** Return the UID of a keyword. +** Performs a table lookup and returns a pointer to a read-only string. +** Returns NULL if the keyword is not known. +*/ const char* dcmFindUIDFromKeyword(const char* keyword) { @@ -1605,6 +1651,28 @@ dcmFindUIDFromKeyword(const char* keyword) } +/* +** dcmGetPropertiesOfUID(const char* uid, DcmUIDProperties &properties) +** Return the properties of a UID. +** Performs a table lookup and fills a given struct with the properties. +** Returns true if UID was found, false otherwise. +*/ +OFBool +dcmGetPropertiesOfUID(const char* uid, DcmUIDProperties &properties) +{ + if (uid != NULL) + { + for (int i = 0; i < uidNameMap_size; i++) { + if (uidNameMap[i].uid != NULL && strcmp(uid, uidNameMap[i].uid) == 0) { + properties = uidNameMap[i].properties; + return OFTrue; + } + } + } + return OFFalse; +} + + /* ** dcmIsaStorageSOPClassUID(const char* uid) ** Returns true if the uid is one of the Storage SOP Classes. @@ -1668,13 +1736,7 @@ static long gethostid(void) DCMDATA_FATAL("sysinfo: " << OFStandard::getLastSystemErrorCode().message()); exit(1); } -#ifdef HAVE_STRTOUL return(strtoul(buf, NULL, 0)); -#else - long result; - sscanf(buf, "%ld", &result); - return result; -#endif } #else // !HAVE_SYSINFO @@ -1683,7 +1745,6 @@ static long gethostid(void) ** There is no implementation of gethostid() and we cannot implement it in ** terms of sysinfo() so define a workaround. */ -#if (defined(HAVE_GETHOSTNAME) && defined(HAVE_GETHOSTBYNAME)) || defined(HAVE_WINDOWS_H) #ifdef _WIN32 @@ -1737,7 +1798,6 @@ static long gethostid(void) #endif { long result = 0; -#if defined(HAVE_GETHOSTNAME) || defined(HAVE_WINDOWS_H) char name[1024]; /* @@ -1751,7 +1811,7 @@ static long gethostid(void) struct sockaddr_in6 *sin6 = NULL; long *lp = NULL; OFSockAddr sa; - OFStandard::getAddressByHostname(name, sa); + OFStandard::getAddressByHostname(name, AF_UNSPEC, sa); switch (sa.getFamily()) { case AF_INET: @@ -1771,7 +1831,7 @@ static long gethostid(void) } OFStandard::shutdownNetwork(); -#endif /* defined(HAVE_GETHOSTNAME) */ + /* on Windows systems determine some system specific information (e.g. MAC address) */ #ifdef HAVE_WINDOWS_H OFCRC32 crc; @@ -1812,18 +1872,6 @@ static long gethostid(void) return result; } -#else // !(defined(HAVE_GETHOSTNAME) && defined(HAVE_GETHOSTBYNAME)) -/* -** last chance workaround if there is no other way -*/ -#ifdef HAVE_PROTOTYPE_GETHOSTID -/* CW10 has a prototype but no implementation (gethostid() is already declared extern */ -long gethostid(void) { return 0; } -#else -static long gethostid(void) { return 0; } -#endif -#endif // !(defined(HAVE_GETHOSTNAME) && defined(HAVE_GETHOSTBYNAME)) - #endif // !HAVE_SYSINFO #else // HAVE_GETHOSTID #ifndef HAVE_PROTOTYPE_GETHOSTID @@ -1938,16 +1986,16 @@ char* dcmGenerateUniqueIdentifier(char* uid, const char* prefix) addUIDComponent(uid, SITE_INSTANCE_UID_ROOT); } - sprintf(buf, ".%lu", hostIdentifier); + OFStandard::snprintf(buf, sizeof(buf), ".%lu", hostIdentifier); addUIDComponent(uid, buf); - sprintf(buf, ".%lu", forcePositive(OFStandard::getProcessID())); + OFStandard::snprintf(buf, sizeof(buf), ".%lu", forcePositive(OFStandard::getProcessID())); addUIDComponent(uid, buf); - sprintf(buf, ".%lu", forcePositive(OFstatic_cast(long, time(NULL)))); + OFStandard::snprintf(buf, sizeof(buf), ".%lu", forcePositive(OFstatic_cast(long, time(NULL)))); addUIDComponent(uid, buf); - sprintf(buf, ".%u", counter); + OFStandard::snprintf(buf, sizeof(buf), ".%u", counter); addUIDComponent(uid, buf); diff --git a/dcmdata/libsrc/dcvr.cc b/dcmdata/libsrc/dcvr.cc index 60901476..4dbb7cc6 100644 --- a/dcmdata/libsrc/dcvr.cc +++ b/dcmdata/libsrc/dcvr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,6 +24,7 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmdata/dcvr.h" #include "dcmtk/dcmdata/dctypes.h" +#include /* ** global flags @@ -76,14 +77,17 @@ void dcmDisableGenerationOfNewVRs() ** VR property table */ -#define DCMVR_PROP_NONE 0x00 -#define DCMVR_PROP_NONSTANDARD 0x01 -#define DCMVR_PROP_INTERNAL 0x02 -#define DCMVR_PROP_EXTENDEDLENGTHENCODING 0x04 -#define DCMVR_PROP_ISASTRING 0x08 -#define DCMVR_PROP_ISAFFECTEDBYCHARSET 0x10 -#define DCMVR_PROP_ISLENGTHINCHAR 0x20 -#define DCMVR_PROP_UNDEFINEDLENGTH 0x40 +#define DCMVR_PROP_NONE 0x0000 +#define DCMVR_PROP_NONSTANDARD 0x0001 +#define DCMVR_PROP_INTERNAL 0x0002 +#define DCMVR_PROP_EXTENDEDLENGTHENCODING 0x0004 +#define DCMVR_PROP_ISASTRING 0x0008 +#define DCMVR_PROP_ISAFFECTEDBYCHARSET 0x0010 +#define DCMVR_PROP_ISLENGTHINCHAR 0x0020 +#define DCMVR_PROP_UNDEFINEDLENGTH 0x0040 +#define DCMVR_PROP_ISANUMBER 0x0080 +#define DCMVR_PROP_ISINTEGER 0x0100 +#define DCMVR_PROP_ISUNSIGNED 0x0200 struct DcmVREntry { DcmEVR vr; // Enumeration Value of Value representation @@ -106,34 +110,34 @@ static const DcmVREntry DcmVRDict[] = { { EVR_AT, "AT", &noDelimiters, sizeof(Uint16), DCMVR_PROP_NONE, 4, 4 }, { EVR_CS, "CS", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING, 0, 16 }, { EVR_DA, "DA", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING, 8, 10 }, - { EVR_DS, "DS", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING, 0, 16 }, + { EVR_DS, "DS", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISANUMBER, 0, 16 }, { EVR_DT, "DT", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING, 0, 26 }, - { EVR_FL, "FL", &noDelimiters, sizeof(Float32), DCMVR_PROP_NONE, 4, 4 }, - { EVR_FD, "FD", &noDelimiters, sizeof(Float64), DCMVR_PROP_NONE, 8, 8 }, - { EVR_IS, "IS", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING, 0, 12 }, + { EVR_FL, "FL", &noDelimiters, sizeof(Float32), DCMVR_PROP_ISANUMBER, 4, 4 }, + { EVR_FD, "FD", &noDelimiters, sizeof(Float64), DCMVR_PROP_ISANUMBER, 8, 8 }, + { EVR_IS, "IS", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISANUMBER | DCMVR_PROP_ISINTEGER, 0, 12 }, { EVR_LO, "LO", &bsDelimiter, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET | DCMVR_PROP_ISLENGTHINCHAR, 0, 64 }, { EVR_LT, "LT", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET | DCMVR_PROP_ISLENGTHINCHAR, 0, 10240 }, - { EVR_OB, "OB", &noDelimiters, sizeof(Uint8), DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967294U }, - { EVR_OD, "OD", &noDelimiters, sizeof(Float64), DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967288U }, - { EVR_OF, "OF", &noDelimiters, sizeof(Float32), DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967292U }, - { EVR_OL, "OL", &noDelimiters, sizeof(Uint32), DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967292U }, - { EVR_OV, "OV", &noDelimiters, sizeof(Uint64), DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967288U }, - { EVR_OW, "OW", &noDelimiters, sizeof(Uint16), DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967294U }, + { EVR_OB, "OB", &noDelimiters, sizeof(Uint8), DCMVR_PROP_ISANUMBER | DCMVR_PROP_ISINTEGER | DCMVR_PROP_ISUNSIGNED | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967294U }, + { EVR_OD, "OD", &noDelimiters, sizeof(Float64), DCMVR_PROP_ISANUMBER | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967288U }, + { EVR_OF, "OF", &noDelimiters, sizeof(Float32), DCMVR_PROP_ISANUMBER | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967292U }, + { EVR_OL, "OL", &noDelimiters, sizeof(Uint32), DCMVR_PROP_ISANUMBER | DCMVR_PROP_ISINTEGER | DCMVR_PROP_ISUNSIGNED | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967292U }, + { EVR_OV, "OV", &noDelimiters, sizeof(Uint64), DCMVR_PROP_ISANUMBER | DCMVR_PROP_ISINTEGER | DCMVR_PROP_ISUNSIGNED | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967288U }, + { EVR_OW, "OW", &noDelimiters, sizeof(Uint16), DCMVR_PROP_ISANUMBER | DCMVR_PROP_ISINTEGER | DCMVR_PROP_ISUNSIGNED | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967294U }, { EVR_PN, "PN", &pnDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET | DCMVR_PROP_ISLENGTHINCHAR, 0, 64 }, { EVR_SH, "SH", &bsDelimiter, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET | DCMVR_PROP_ISLENGTHINCHAR, 0, 16 }, - { EVR_SL, "SL", &noDelimiters, sizeof(Sint32), DCMVR_PROP_NONE, 4, 4 }, + { EVR_SL, "SL", &noDelimiters, sizeof(Sint32), DCMVR_PROP_ISANUMBER | DCMVR_PROP_ISINTEGER, 4, 4 }, { EVR_SQ, "SQ", &noDelimiters, 0, DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967294U }, - { EVR_SS, "SS", &noDelimiters, sizeof(Sint16), DCMVR_PROP_NONE, 2, 2 }, + { EVR_SS, "SS", &noDelimiters, sizeof(Sint16), DCMVR_PROP_ISANUMBER | DCMVR_PROP_ISINTEGER, 2, 2 }, { EVR_ST, "ST", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_ISAFFECTEDBYCHARSET | DCMVR_PROP_ISLENGTHINCHAR, 0, 1024 }, - { EVR_SV, "SV", &noDelimiters, sizeof(Sint64), DCMVR_PROP_EXTENDEDLENGTHENCODING, 8, 8 }, + { EVR_SV, "SV", &noDelimiters, sizeof(Sint64), DCMVR_PROP_ISANUMBER | DCMVR_PROP_ISINTEGER | DCMVR_PROP_EXTENDEDLENGTHENCODING, 8, 8 }, { EVR_TM, "TM", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING, 0, 16 }, { EVR_UC, "UC", &bsDelimiter, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_ISAFFECTEDBYCHARSET, 0, 4294967294U }, { EVR_UI, "UI", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING, 0, 64 }, - { EVR_UL, "UL", &noDelimiters, sizeof(Uint32), DCMVR_PROP_NONE, 4, 4 }, - { EVR_UR, "UR", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING|DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, 4294967294U }, - { EVR_US, "US", &noDelimiters, sizeof(Uint16), DCMVR_PROP_NONE, 2, 2 }, + { EVR_UL, "UL", &noDelimiters, sizeof(Uint32), DCMVR_PROP_ISANUMBER | DCMVR_PROP_ISINTEGER | DCMVR_PROP_ISUNSIGNED, 4, 4 }, + { EVR_UR, "UR", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, 4294967294U }, + { EVR_US, "US", &noDelimiters, sizeof(Uint16), DCMVR_PROP_ISANUMBER | DCMVR_PROP_ISINTEGER | DCMVR_PROP_ISUNSIGNED, 2, 2 }, { EVR_UT, "UT", &noDelimiters, sizeof(char), DCMVR_PROP_ISASTRING | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_ISAFFECTEDBYCHARSET, 0, 4294967294U }, - { EVR_UV, "UV", &noDelimiters, sizeof(Uint64), DCMVR_PROP_EXTENDEDLENGTHENCODING, 8, 8 }, + { EVR_UV, "UV", &noDelimiters, sizeof(Uint64), DCMVR_PROP_ISANUMBER | DCMVR_PROP_ISINTEGER | DCMVR_PROP_ISUNSIGNED | DCMVR_PROP_EXTENDEDLENGTHENCODING, 8, 8 }, { EVR_ox, "ox", &noDelimiters, sizeof(Uint8), DCMVR_PROP_NONSTANDARD | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967294U }, { EVR_px, "px", &noDelimiters, sizeof(Uint8), DCMVR_PROP_NONSTANDARD | DCMVR_PROP_EXTENDEDLENGTHENCODING | DCMVR_PROP_UNDEFINEDLENGTH, 0, 4294967294U }, { EVR_xs, "xs", &noDelimiters, sizeof(Uint16), DCMVR_PROP_NONSTANDARD, 2, 2 }, @@ -150,7 +154,7 @@ static const DcmVREntry DcmVRDict[] = { { EVR_dirRecord, "dr_EVR_dirRecord", &noDelimiters, 0, DCMVR_PROP_NONSTANDARD | DCMVR_PROP_INTERNAL, 0, 0 }, { EVR_pixelSQ, "ps_EVR_pixelSQ", &noDelimiters, sizeof(Uint8), DCMVR_PROP_NONSTANDARD | DCMVR_PROP_INTERNAL, 0, DCM_UndefinedLength }, - /* Moved from internal use to non standard only: necessary to distinguish from "normal" OB */ + /* Moved from internal use to non-standard only: necessary to distinguish from "normal" OB */ { EVR_pixelItem, "pi", &noDelimiters, sizeof(Uint8), DCMVR_PROP_NONSTANDARD, 0, DCM_UndefinedLength }, /* EVR_UNKNOWN (i.e. "future" VRs) should be mapped to UN or OB */ @@ -164,9 +168,11 @@ static const DcmVREntry DcmVRDict[] = { /* Overlay Data - only used in ident() */ { EVR_OverlayData, "OverlayData", &noDelimiters, 0, DCMVR_PROP_INTERNAL, 0, DCM_UndefinedLength }, - /* illegal VRs, we assume no extended length coding */ + /* unknown (probably invalid) VR, we assume no extended length coding */ { EVR_UNKNOWN2B, "??", &noDelimiters, sizeof(Uint8), DCMVR_PROP_NONSTANDARD | DCMVR_PROP_INTERNAL, 0, DCM_UndefinedLength }, + /* invalid VR - only used internally, e.g. to abort parsing a data set */ + { EVR_invalid, "--", &noDelimiters, 0, DCMVR_PROP_NONSTANDARD | DCMVR_PROP_INTERNAL, 0, DCM_UndefinedLength } }; static const int DcmVRDict_DIM = OFstatic_cast(int, sizeof(DcmVRDict) / sizeof(DcmVREntry)); @@ -213,43 +219,67 @@ DcmVR::setVR(DcmEVR evr) if ((OFstatic_cast(int, evr) >= 0) && (OFstatic_cast(int, evr) < DcmVRDict_DIM)) { vr = evr; } else { - vr = EVR_UNKNOWN; + vr = EVR_invalid; } } void DcmVR::setVR(const char* vrName) { - vr = EVR_UNKNOWN; /* default */ - if (vrName != NULL) + vr = EVR_invalid; /* default */ + /* Make sure that the passed character string is not empty */ + if ((vrName != NULL) && (*vrName != '\0')) { - int found = OFFalse; - int i = 0; - for (i = 0; (!found && (i < DcmVRDict_DIM)); i++) + /* Extract the first two characters from the passed string */ + const char c1 = *vrName; + const char c2 = *(vrName + 1); + + /* Workaround: There have been reports of systems transmitting + * illegal VR strings in explicit VR (i.e. "??") without using + * extended length fields. + */ + if ((c1 == '?') && (c2 == '?')) { - /* We only compare the first two characters of the passed string and - * never accept a VR that is labeled for internal use only. - */ - if ((strncmp(vrName, DcmVRDict[i].vrName, 2) == 0) && - !(DcmVRDict[i].propertyFlags & DCMVR_PROP_INTERNAL)) + /* We assume a 2-byte length field. */ + vr = EVR_UNKNOWN2B; + } else { + OFBool found = OFFalse; + for (int i = 0; i < DcmVRDict_DIM; i++) { - found = OFTrue; - vr = DcmVRDict[i].vr; + /* We only compare the first two characters of the passed string + * and never accept a VR that is labeled for internal use only. + */ + if ((DcmVRDict[i].vrName[0] == c1) && (DcmVRDict[i].vrName[1] == c2) && + ((DcmVRDict[i].propertyFlags & DCMVR_PROP_INTERNAL) == 0)) + { + vr = DcmVRDict[i].vr; + found = OFTrue; + break; + } + } + if (!found) + { + /* More workarounds: The VR is unknown (or not yet supported). + * The DICOM committee has announced that all future VRs will + * use extended length. Therefore, we treat all unknown VR + * strings consisting of uppercase letters as "real" future VRs + * (and thus assume extended length). + * For other unknown VR strings that use characters in a range + * of 32 to 127, we assume a 2-byte length field. + * All other VR strings are treated as invalid VRs (default). + */ + if ((c1 >= 'A') && (c1 <= 'Z') && (c2 >= 'A') && (c2 <= 'Z')) + { + /* Possible future VR, we assume a 4-byte length field. */ + vr = EVR_UNKNOWN; + } + else if ((c1 >= 32) && (c1 <= 127) && (c2 >= 32) && (c2 <= 127)) + { + /* Non-standard VR, we assume a 2-byte length field. */ + vr = EVR_UNKNOWN2B; + } } } - /* Workaround: There have been reports of systems transmitting - * illegal VR strings in explicit VR (i.e. "??") without using - * extended length fields. This is particularly bad because the - * DICOM committee has announced that all future VRs will use - * extended length. In order to distinguish between these two - * variants, we treat all unknown VRs consisting of uppercase - * letters as "real" future VRs (and thus assume extended length). - * All other VR strings are treated as "illegal" VRs. - */ - char c1 = *vrName; - char c2 = (c1) ? (*(vrName + 1)) : ('\0'); - if ((c1 == '?') && (c2 == '?')) vr = EVR_UNKNOWN2B; - if (!found && ((c1 < 'A') || (c1 > 'Z') || (c2 < 'A') || (c2 > 'Z'))) vr = EVR_UNKNOWN2B; } } @@ -286,7 +316,7 @@ DcmVR::getValidEVR() const ** If the generation of post-1993 VRs is not globally enabled then use OB instead. ** We may not want to generate these "new" VRs if other software cannot handle it. */ - DcmEVR oldVR = evr; + const DcmEVR oldVR = evr; switch (evr) { case EVR_UN: if (!dcmEnableUnknownVRGeneration.get()) @@ -404,8 +434,19 @@ DcmVR::getVRName() const const char* DcmVR::getValidVRName() const { - DcmVR avr(getValidEVR()); - return avr.getVRName(); + return DcmVR(getValidEVR()).getVRName(); +} + +OFBool +DcmVR::isInvalid() const +{ + return (vr == EVR_invalid); +} + +OFBool +DcmVR::isUnknown() const +{ + return (vr == EVR_UNKNOWN) || (vr == EVR_UNKNOWN2B); } OFBool @@ -427,6 +468,27 @@ DcmVR::isaString() const return (DcmVRDict[vr].propertyFlags & DCMVR_PROP_ISASTRING) ? OFTrue : OFFalse; } +/* returns true if VR represents a number */ +OFBool +DcmVR::isaNumber() const +{ + return (DcmVRDict[vr].propertyFlags & DCMVR_PROP_ISANUMBER) ? OFTrue : OFFalse; +} + +/* returns true if VR represents an integer number */ +OFBool +DcmVR::isInteger() const +{ + return (DcmVRDict[vr].propertyFlags & DCMVR_PROP_ISINTEGER) ? OFTrue : OFFalse; +} + +/* returns true if VR represents an unsigned number */ +OFBool +DcmVR::isUnsigned() const +{ + return (DcmVRDict[vr].propertyFlags & DCMVR_PROP_ISUNSIGNED) ? OFTrue : OFFalse; +} + /* * returns true if VR uses an extended length encoding * for explicit transfer syntaxes @@ -460,7 +522,7 @@ DcmVR::getMaxValueLength() const OFBool DcmVR::isEquivalent(const DcmVR& avr) const { - DcmEVR evr = avr.getEVR(); + const DcmEVR evr = avr.getEVR(); if (vr == evr) return OFTrue; OFBool result = OFFalse; diff --git a/dcmdata/libsrc/dcvrat.cc b/dcmdata/libsrc/dcvrat.cc index 58a53cef..f3137b89 100644 --- a/dcmdata/libsrc/dcvrat.cc +++ b/dcmdata/libsrc/dcvrat.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,8 +21,9 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcmtk/ofstd/ofstream.h" #include "dcmtk/dcmdata/dcvrat.h" +#include "dcmtk/ofstd/ofstd.h" +#include "dcmtk/ofstd/ofstream.h" #include "dcmtk/dcmdata/dcjson.h" // ******************************** @@ -340,7 +341,7 @@ OFCondition DcmAttributeTag::getOFString(OFString &stringVal, { /* ... and convert it to a character string */ char buffer[32]; - sprintf(buffer, "(%4.4x,%4.4x)", tagVal.getGroup(), tagVal.getElement()); + OFStandard::snprintf(buffer, sizeof(buffer), "(%4.4x,%4.4x)", tagVal.getGroup(), tagVal.getElement()); /* assign result */ stringVal = buffer; } diff --git a/dcmdata/libsrc/dcvrfd.cc b/dcmdata/libsrc/dcvrfd.cc index 66d07f39..182d3994 100644 --- a/dcmdata/libsrc/dcvrfd.cc +++ b/dcmdata/libsrc/dcvrfd.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -185,11 +185,11 @@ void DcmFloatingPointDouble::print(STD_NAMESPACE ostream &out, { /* check whether first value is printed (omit delimiter) */ if (i == 0) - OFStandard::ftoa(buffer, sizeof(buffer), *doubleVals, 0, 0, 17 /* DBL_DECIMAL_DIG for DICOM FD */); + OFStandard::ftoa(buffer, sizeof(buffer), *doubleVals, 0, 0, -2 /* print enough digits to permit lossless conversion back to FD */); else { buffer[0] = '\\'; - OFStandard::ftoa(buffer + 1, sizeof(buffer) - 1, *doubleVals, 0, 0, 17 /* DBL_DECIMAL_DIG for DICOM FD */); + OFStandard::ftoa(buffer + 1, sizeof(buffer) - 1, *doubleVals, 0, 0, -2 /* print enough digits to permit lossless conversion back to FD */); } /* check whether current value sticks to the length limit */ newLength = printedLength + OFstatic_cast(unsigned long, strlen(buffer)); @@ -268,7 +268,7 @@ OFCondition DcmFloatingPointDouble::getOFString(OFString &stringVal, { /* ... and convert it to a character string */ char buffer[64]; - OFStandard::ftoa(buffer, sizeof(buffer), doubleVal, 0, 0, 17 /* DBL_DECIMAL_DIG for DICOM FD */); + OFStandard::ftoa(buffer, sizeof(buffer), doubleVal, 0, 0, -2 /* print enough digits to permit lossless conversion back to FD */); /* assign result */ stringVal = buffer; } diff --git a/dcmdata/libsrc/dcvrlt.cc b/dcmdata/libsrc/dcvrlt.cc index 6ce7996b..140703bc 100644 --- a/dcmdata/libsrc/dcvrlt.cc +++ b/dcmdata/libsrc/dcvrlt.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2018, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -94,7 +94,7 @@ int DcmLongText::compare(const DcmElement& rhs) const /* check whether values are equal */ OFString thisValue, rhsValue; myThis->getOFStringArray(thisValue); - myThis->getOFStringArray(rhsValue); + myRhs->getOFStringArray(rhsValue); return thisValue.compare(rhsValue); } diff --git a/dcmdata/libsrc/dcvrobow.cc b/dcmdata/libsrc/dcvrobow.cc index e70448cb..e46618e1 100644 --- a/dcmdata/libsrc/dcvrobow.cc +++ b/dcmdata/libsrc/dcvrobow.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,14 +21,12 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ - +#include "dcmtk/dcmdata/dcvrobow.h" #include "dcmtk/ofstd/ofstd.h" #include "dcmtk/ofstd/ofstream.h" #include "dcmtk/ofstd/ofuuid.h" #include "dcmtk/ofstd/offile.h" - #include "dcmtk/dcmdata/dcjson.h" -#include "dcmtk/dcmdata/dcvrobow.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcswap.h" #include "dcmtk/dcmdata/dcuid.h" /* for UID generation */ @@ -244,7 +242,7 @@ void DcmOtherByteOtherWord::printPixel(STD_NAMESPACE ostream &out, if (pixelCounter != NULL) { char num[20]; - sprintf(num, "%ld", OFstatic_cast(long, (*pixelCounter)++)); + OFStandard::snprintf(num, sizeof(num), "%ld", OFstatic_cast(long, (*pixelCounter)++)); fname += num; } fname += ".raw"; @@ -284,7 +282,10 @@ void DcmOtherByteOtherWord::printPixel(STD_NAMESPACE ostream &out, DCMDATA_WARN("DcmOtherByteOtherWord: Some bytes were not written: " << (tobewritten - written)); } } - fclose(file); + if (fclose(file)) + { + DCMDATA_WARN("DcmOtherByteOtherWord: Closing the output file for pixel data failed, file may be incomplete"); + } } else { DCMDATA_WARN("DcmOtherByteOtherWord: Can't open output file for pixel data: " << fname); } @@ -566,7 +567,7 @@ OFCondition DcmOtherByteOtherWord::getOFString(OFString &stringVal, { /* ... and convert it to a character string (hex mode) */ char buffer[32]; - sprintf(buffer, "%4.4hx", uint16Val); + OFStandard::snprintf(buffer, sizeof(buffer), "%4.4hx", uint16Val); /* assign result */ stringVal = buffer; } @@ -578,7 +579,7 @@ OFCondition DcmOtherByteOtherWord::getOFString(OFString &stringVal, { /* ... and convert it to a character string (hex mode) */ char buffer[32]; - sprintf(buffer, "%2.2hx", OFstatic_cast(unsigned short, uint8Val)); + OFStandard::snprintf(buffer, sizeof(buffer), "%2.2hx", OFstatic_cast(unsigned short, uint8Val)); /* assign result */ stringVal = buffer; } @@ -657,7 +658,8 @@ OFBool DcmOtherByteOtherWord::canWriteXfer(const E_TransferSyntax newXfer, const E_TransferSyntax /*oldXfer*/) { DcmXfer newXferSyn(newXfer); - return (getTag() != DCM_PixelData) || !newXferSyn.isEncapsulated(); + /* pixel data can only be written in native format */ + return (getTag() != DCM_PixelData) || newXferSyn.usesNativeFormat(); } diff --git a/dcmdata/libsrc/dcvrsl.cc b/dcmdata/libsrc/dcvrsl.cc index 1ec80a32..66319157 100644 --- a/dcmdata/libsrc/dcvrsl.cc +++ b/dcmdata/libsrc/dcvrsl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,9 +21,9 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ - -#include "dcmtk/ofstd/ofstream.h" #include "dcmtk/dcmdata/dcvrsl.h" +#include "dcmtk/ofstd/ofstream.h" +#include "dcmtk/ofstd/ofstd.h" // ******************************** @@ -185,19 +185,19 @@ void DcmSignedLong::print(STD_NAMESPACE ostream &out, /* check whether first value is printed (omit delimiter) */ #ifdef PRId32 if (i == 0) - sprintf(buffer, "%" PRId32, *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%" PRId32, *sintVals); else - sprintf(buffer, "\\%" PRId32, *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%" PRId32, *sintVals); #elif SIZEOF_LONG == 8 if (i == 0) - sprintf(buffer, "%d", *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%d", *sintVals); else - sprintf(buffer, "\\%d", *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%d", *sintVals); #else if (i == 0) - sprintf(buffer, "%ld", *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%ld", *sintVals); else - sprintf(buffer, "\\%ld", *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%ld", *sintVals); #endif /* check whether current value sticks to the length limit */ newLength = printedLength + OFstatic_cast(unsigned long, strlen(buffer)); @@ -275,7 +275,7 @@ OFCondition DcmSignedLong::getOFString(OFString &stringVal, { /* ... and convert it to a character string */ char buffer[32]; - sprintf(buffer, "%li", OFstatic_cast(long, sintVal)); + OFStandard::snprintf(buffer, sizeof(buffer), "%li", OFstatic_cast(long, sintVal)); /* assign result */ stringVal = buffer; } diff --git a/dcmdata/libsrc/dcvrss.cc b/dcmdata/libsrc/dcvrss.cc index 0e9cfb27..5b7d9303 100644 --- a/dcmdata/libsrc/dcvrss.cc +++ b/dcmdata/libsrc/dcvrss.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,9 +21,9 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ - -#include "dcmtk/ofstd/ofstream.h" #include "dcmtk/dcmdata/dcvrss.h" +#include "dcmtk/ofstd/ofstd.h" +#include "dcmtk/ofstd/ofstream.h" // ******************************** @@ -185,9 +185,9 @@ void DcmSignedShort::print(STD_NAMESPACE ostream &out, { /* check whether first value is printed (omit delimiter) */ if (i == 0) - sprintf(buffer, "%hd", *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%hd", *sintVals); else - sprintf(buffer, "\\%hd", *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%hd", *sintVals); /* check whether current value sticks to the length limit */ newLength = printedLength + OFstatic_cast(unsigned long, strlen(buffer)); if ((newLength <= maxLength) && ((i + 1 == count) || (newLength + 3 <= maxLength))) @@ -264,7 +264,7 @@ OFCondition DcmSignedShort::getOFString(OFString &stringVal, { /* ... and convert it to a character string */ char buffer[32]; - sprintf(buffer, "%i", sintVal); + OFStandard::snprintf(buffer, sizeof(buffer), "%i", sintVal); /* assign result */ stringVal = buffer; } diff --git a/dcmdata/libsrc/dcvrst.cc b/dcmdata/libsrc/dcvrst.cc index bddf17e9..7d17f587 100644 --- a/dcmdata/libsrc/dcvrst.cc +++ b/dcmdata/libsrc/dcvrst.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2018, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -83,7 +83,7 @@ int DcmShortText::compare(const DcmElement& rhs) const /* check whether values are equal */ OFString thisValue, rhsValue; myThis->getOFStringArray(thisValue); - myThis->getOFStringArray(rhsValue); + myRhs->getOFStringArray(rhsValue); return thisValue.compare(rhsValue); } diff --git a/dcmdata/libsrc/dcvrsv.cc b/dcmdata/libsrc/dcvrsv.cc index 529d72ec..8ced07cf 100644 --- a/dcmdata/libsrc/dcvrsv.cc +++ b/dcmdata/libsrc/dcvrsv.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2021, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,7 +22,7 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmdata/dcvrsv.h" - +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/ofstd/ofstream.h" #include "dcmtk/dcmdata/dcjson.h" @@ -186,19 +186,19 @@ void DcmSigned64bitVeryLong::print(STD_NAMESPACE ostream &out, /* check whether first value is printed (omit delimiter) */ #ifdef PRId64 if (i == 0) - sprintf(buffer, "%" PRId64, *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%" PRId64, *sintVals); else - sprintf(buffer, "\\%" PRId64, *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%" PRId64, *sintVals); #elif SIZEOF_LONG == 8 if (i == 0) - sprintf(buffer, "%ld", *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%ld", *sintVals); else - sprintf(buffer, "\\%ld", *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%ld", *sintVals); #else // assume "long long" is 64 bits if (i == 0) - sprintf(buffer, "%lld", *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%lld", *sintVals); else - sprintf(buffer, "\\%lld", *sintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%lld", *sintVals); #endif /* check whether current value sticks to the length limit */ newLength = printedLength + OFstatic_cast(unsigned long, strlen(buffer)); @@ -277,11 +277,11 @@ OFCondition DcmSigned64bitVeryLong::getOFString(OFString &stringVal, /* ... and convert it to a character string */ char buffer[32]; #ifdef PRId64 - sprintf(buffer, "%" PRId64, sintVal); + OFStandard::snprintf(buffer, sizeof(buffer), "%" PRId64, sintVal); #elif SIZEOF_LONG == 8 - sprintf(buffer, "%ld", sintVal); + OFStandard::snprintf(buffer, sizeof(buffer), "%ld", sintVal); #else // assume "long long" is 64 bits - sprintf(buffer, "%lld", sintVal); + OFStandard::snprintf(buffer, sizeof(buffer), "%lld", sintVal); #endif /* assign result */ stringVal = buffer; diff --git a/dcmdata/libsrc/dcvrui.cc b/dcmdata/libsrc/dcvrui.cc index a9efd170..a778d589 100644 --- a/dcmdata/libsrc/dcvrui.cc +++ b/dcmdata/libsrc/dcvrui.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -193,7 +193,6 @@ OFCondition DcmUniqueIdentifier::putString(const char *stringVal, // ******************************** - OFCondition DcmUniqueIdentifier::makeMachineByteString(const Uint32 length) { /* get string data */ @@ -217,7 +216,7 @@ OFCondition DcmUniqueIdentifier::makeMachineByteString(const Uint32 length) size_t curPos = 0; for (size_t i = 0; i < len; i++) { - if (!isspace(OFstatic_cast(unsigned char, value[i]))) + if (!OFStandard::isspace(value[i])) value[curPos++] = value[i]; } /* there was at least one space character in the string */ diff --git a/dcmdata/libsrc/dcvrul.cc b/dcmdata/libsrc/dcvrul.cc index 568f0d11..b4258233 100644 --- a/dcmdata/libsrc/dcvrul.cc +++ b/dcmdata/libsrc/dcvrul.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,9 +21,9 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ - -#include "dcmtk/ofstd/ofstream.h" #include "dcmtk/dcmdata/dcvrul.h" +#include "dcmtk/ofstd/ofstd.h" +#include "dcmtk/ofstd/ofstream.h" // ******************************** @@ -185,17 +185,17 @@ void DcmUnsignedLong::print(STD_NAMESPACE ostream &out, /* check whether first value is printed (omit delimiter) */ if (i == 0) #ifdef PRIu32 - sprintf(buffer, "%" PRIu32, *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%" PRIu32, *uintVals); else - sprintf(buffer, "\\%" PRIu32, *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%" PRIu32, *uintVals); #elif SIZEOF_LONG == 8 - sprintf(buffer, "%u", *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%u", *uintVals); else - sprintf(buffer, "\\%u", *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%u", *uintVals); #else - sprintf(buffer, "%lu", *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%lu", *uintVals); else - sprintf(buffer, "\\%lu", *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%lu", *uintVals); #endif /* check whether current value sticks to the length limit */ newLength = printedLength + OFstatic_cast(unsigned long, strlen(buffer)); @@ -274,7 +274,7 @@ OFCondition DcmUnsignedLong::getOFString(OFString &stringVal, { /* ... and convert it to a character string */ char buffer[32]; - sprintf(buffer, "%lu", OFstatic_cast(unsigned long, uintVal)); + OFStandard::snprintf(buffer, sizeof(buffer), "%lu", OFstatic_cast(unsigned long, uintVal)); /* assign result */ stringVal = buffer; } diff --git a/dcmdata/libsrc/dcvrur.cc b/dcmdata/libsrc/dcvrur.cc index 258db4d6..6ef047c2 100644 --- a/dcmdata/libsrc/dcvrur.cc +++ b/dcmdata/libsrc/dcvrur.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2014-2018, OFFIS e.V. + * Copyright (C) 2014-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -84,7 +84,7 @@ int DcmUniversalResourceIdentifierOrLocator::compare(const DcmElement& rhs) cons /* check whether values are equal */ OFString thisValue, rhsValue; myThis->getOFStringArray(thisValue); - myThis->getOFStringArray(rhsValue); + myRhs->getOFStringArray(rhsValue); return thisValue.compare(rhsValue); } diff --git a/dcmdata/libsrc/dcvrus.cc b/dcmdata/libsrc/dcvrus.cc index bbec933d..ef5a3832 100644 --- a/dcmdata/libsrc/dcvrus.cc +++ b/dcmdata/libsrc/dcvrus.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,8 +21,9 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcmtk/ofstd/ofstream.h" #include "dcmtk/dcmdata/dcvrus.h" +#include "dcmtk/ofstd/ofstd.h" +#include "dcmtk/ofstd/ofstream.h" // ******************************** @@ -181,9 +182,9 @@ void DcmUnsignedShort::print(STD_NAMESPACE ostream &out, { /* check whether first value is printed (omit delimiter) */ if (i == 0) - sprintf(buffer, "%hu", *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%hu", *uintVals); else - sprintf(buffer, "\\%hu", *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%hu", *uintVals); /* check whether current value sticks to the length limit */ newLength = printedLength + OFstatic_cast(unsigned long, strlen(buffer)); if ((newLength <= maxLength) && ((i + 1 == count) || (newLength + 3 <= maxLength))) @@ -260,7 +261,7 @@ OFCondition DcmUnsignedShort::getOFString(OFString &stringVal, { /* ... and convert it to a character string */ char buffer[32]; - sprintf(buffer, "%hu", uintVal); + OFStandard::snprintf(buffer, sizeof(buffer), "%hu", uintVal); /* assign result */ stringVal = buffer; } diff --git a/dcmdata/libsrc/dcvrut.cc b/dcmdata/libsrc/dcvrut.cc index 2690eb38..0f0a6d04 100644 --- a/dcmdata/libsrc/dcvrut.cc +++ b/dcmdata/libsrc/dcvrut.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2018, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -83,7 +83,7 @@ int DcmUnlimitedText::compare(const DcmElement& rhs) const /* check whether values are equal */ OFString thisValue, rhsValue; myThis->getOFStringArray(thisValue); - myThis->getOFStringArray(rhsValue); + myRhs->getOFStringArray(rhsValue); return thisValue.compare(rhsValue); } diff --git a/dcmdata/libsrc/dcvruv.cc b/dcmdata/libsrc/dcvruv.cc index 5985fb7c..364acb44 100644 --- a/dcmdata/libsrc/dcvruv.cc +++ b/dcmdata/libsrc/dcvruv.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2021, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,7 +22,7 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmdata/dcvruv.h" - +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/ofstd/ofstream.h" #include "dcmtk/dcmdata/dcjson.h" @@ -186,17 +186,17 @@ void DcmUnsigned64bitVeryLong::print(STD_NAMESPACE ostream &out, /* check whether first value is printed (omit delimiter) */ if (i == 0) #ifdef PRIu64 - sprintf(buffer, "%" PRIu64, *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%" PRIu64, *uintVals); else - sprintf(buffer, "\\%" PRIu64, *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%" PRIu64, *uintVals); #elif SIZEOF_LONG == 8 - sprintf(buffer, "%lu", *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%lu", *uintVals); else - sprintf(buffer, "\\%lu", *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%lu", *uintVals); #else // assume "long long" is 64 bits - sprintf(buffer, "%llu", *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "%llu", *uintVals); else - sprintf(buffer, "\\%llu", *uintVals); + OFStandard::snprintf(buffer, sizeof(buffer), "\\%llu", *uintVals); #endif /* check whether current value sticks to the length limit */ newLength = printedLength + OFstatic_cast(unsigned long, strlen(buffer)); @@ -276,11 +276,11 @@ OFCondition DcmUnsigned64bitVeryLong::getOFString(OFString &stringVal, /* ... and convert it to a character string */ char buffer[32]; #ifdef PRIu64 - sprintf(buffer, "%" PRIu64, uintVal); + OFStandard::snprintf(buffer, sizeof(buffer), "%" PRIu64, uintVal); #elif SIZEOF_LONG == 8 - sprintf(buffer, "%lu", uintVal); + OFStandard::snprintf(buffer, sizeof(buffer), "%lu", uintVal); #else // assume "long long" is 64 bits - sprintf(buffer, "%llu", uintVal); + OFStandard::snprintf(buffer, sizeof(buffer), "%llu", uintVal); #endif /* assign result */ stringVal = buffer; diff --git a/dcmdata/libsrc/dcxfer.cc b/dcmdata/libsrc/dcxfer.cc index 5fdc9d72..166f3a92 100644 --- a/dcmdata/libsrc/dcxfer.cc +++ b/dcmdata/libsrc/dcxfer.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -13,7 +13,7 @@ * * Module: dcmdata * - * Author: Gerd Ehlers + * Author: Gerd Ehlers, Joerg Riesmeier * * Purpose: handling of transfer syntaxes * @@ -22,23 +22,23 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmdata/dcxfer.h" #include "dcmtk/dcmdata/dcuid.h" +#include typedef struct { - const char *xferID; - const char *xferName; - E_TransferSyntax xfer; - E_ByteOrder byteOrder; - E_ByteOrder pixelDataByteOrder; - E_VRType vrType; - E_JPEGEncapsulated encapsulated; - Uint32 JPEGProcess8; - Uint32 JPEGProcess12; - OFBool lossy; - OFBool retired; - E_StreamCompression streamCompression; - OFBool referenced; - OFBool fragmentable; + const char *xferID; + const char *xferName; + E_TransferSyntax xfer; + E_ByteOrder byteOrder; + E_ByteOrder pixelDataByteOrder; + E_VRType vrType; + E_PixelDataEncoding pixelDataEncoding; + E_PixelDataCompression pixelDataCompression; + OFBool pixelDataFragmentable; + Uint32 JPEGProcess8; + Uint32 JPEGProcess12; + E_StreamCompression streamCompression; + E_XferValidity xferValidity; } S_XferNames; @@ -54,28 +54,26 @@ const S_XferNames XferNames[] = EBO_LittleEndian, EBO_LittleEndian, EVT_Implicit, - EJE_NotEncapsulated, - 0L, 0L, - OFFalse, + EPE_Native, + EPC_Uncompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Standard }, // entry #1 - { "", // illegal type + { "", // internal type, no UID defined "Virtual Big Endian Implicit", EXS_BigEndianImplicit, EBO_BigEndian, EBO_BigEndian, EVT_Implicit, - EJE_NotEncapsulated, - 0L, 0L, - OFFalse, + EPE_Native, + EPC_Uncompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Internal }, // entry #2 { UID_LittleEndianExplicitTransferSyntax, @@ -84,13 +82,12 @@ const S_XferNames XferNames[] = EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_NotEncapsulated, - 0L, 0L, - OFFalse, + EPE_Native, + EPC_Uncompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Standard }, // entry #3 { UID_BigEndianExplicitTransferSyntax, @@ -99,696 +96,780 @@ const S_XferNames XferNames[] = EBO_BigEndian, EBO_BigEndian, EVT_Explicit, - EJE_NotEncapsulated, - 0L, 0L, + EPE_Native, + EPC_Uncompressed, OFFalse, - OFTrue, // retired with Supplement 98 + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Retired // retired with Supplement 98 }, // entry #4 + { UID_EncapsulatedUncompressedExplicitVRLittleEndianTransferSyntax, + "Encapsulated Uncompressed Explicit VR Little Endian", + EXS_EncapsulatedUncompressedLittleEndianExplicit, + EBO_LittleEndian, + EBO_LittleEndian, + EVT_Explicit, + EPE_Encapsulated, + EPC_Uncompressed, + OFFalse, + 0L, 0L, + ESC_none, + EXV_Standard + }, + // entry #5 { UID_JPEGProcess1TransferSyntax, "JPEG Baseline", EXS_JPEGProcess1, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 1L, 1L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 1L, 1L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #5 + // entry #6 { UID_JPEGProcess2_4TransferSyntax, "JPEG Extended, Process 2+4", EXS_JPEGProcess2_4, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 2L ,4L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 2L, 4L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #6 + // entry #7 { UID_JPEGProcess3_5TransferSyntax, "JPEG Extended, Process 3+5", EXS_JPEGProcess3_5, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 3L ,5L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 3L, 5L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #7 + // entry #8 { UID_JPEGProcess6_8TransferSyntax, "JPEG Spectral Selection, Non-hierarchical, Process 6+8", EXS_JPEGProcess6_8, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 6L ,8L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 6L, 8L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #8 + // entry #9 { UID_JPEGProcess7_9TransferSyntax, "JPEG Spectral Selection, Non-hierarchical, Process 7+9", EXS_JPEGProcess7_9, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 7L ,9L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 7L, 9L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #9 + // entry #10 { UID_JPEGProcess10_12TransferSyntax, "JPEG Full Progression, Non-hierarchical, Process 10+12", EXS_JPEGProcess10_12, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 10L ,12L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 10L, 12L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #10 + // entry #11 { UID_JPEGProcess11_13TransferSyntax, "JPEG Full Progression, Non-hierarchical, Process 11+13", EXS_JPEGProcess11_13, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 11L ,13L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 11L, 13L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #11 + // entry #12 { UID_JPEGProcess14TransferSyntax, "JPEG Lossless, Non-hierarchical, Process 14", EXS_JPEGProcess14, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 14L ,14L, - OFFalse, - OFFalse, + EPE_Encapsulated, + EPC_LosslessCompressed, + OFTrue, + 14, 14L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #12 + // entry #13 { UID_JPEGProcess15TransferSyntax, "JPEG Lossless, Non-hierarchical, Process 15", EXS_JPEGProcess15, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 15L ,15L, - OFTrue, + EPE_Encapsulated, + EPC_LosslessCompressed, OFTrue, + 15L, 15L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #13 + // entry #14 { UID_JPEGProcess16_18TransferSyntax, "JPEG Extended, Hierarchical, Process 16+18", EXS_JPEGProcess16_18, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 16L ,18L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 16L, 18L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #14 + // entry #15 { UID_JPEGProcess17_19TransferSyntax, "JPEG Extended, Hierarchical, Process 17+19", EXS_JPEGProcess17_19, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 17L ,19L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 17L, 19L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #15 + // entry #16 { UID_JPEGProcess20_22TransferSyntax, "JPEG Spectral Selection, Hierarchical, Process 20+22", EXS_JPEGProcess20_22, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 20L ,22L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 20L, 22L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #16 + // entry #17 { UID_JPEGProcess21_23TransferSyntax, "JPEG Spectral Selection, Hierarchical, Process 21+23", EXS_JPEGProcess21_23, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 21L ,23L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 21L, 23L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #17 + // entry #18 { UID_JPEGProcess24_26TransferSyntax, "JPEG Full Progression, Hierarchical, Process 24+26", EXS_JPEGProcess24_26, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 24L ,26L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 24L, 26L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #18 + // entry #19 { UID_JPEGProcess25_27TransferSyntax, "JPEG Full Progression, Hierarchical, Process 25+27", EXS_JPEGProcess25_27, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 25L ,27L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 25L, 27L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #19 + // entry #20 { UID_JPEGProcess28TransferSyntax, "JPEG Lossless, Hierarchical, Process 28", EXS_JPEGProcess28, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 28L ,28L, - OFTrue, + EPE_Encapsulated, + EPC_LosslessCompressed, OFTrue, + 28L, 28L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #20 + // entry #21 { UID_JPEGProcess29TransferSyntax, "JPEG Lossless, Hierarchical, Process 29", EXS_JPEGProcess29, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 29L ,29L, - OFTrue, + EPE_Encapsulated, + EPC_LosslessCompressed, OFTrue, + 29L, 29L, ESC_none, - OFFalse, - OFTrue + EXV_Retired // retired with Supplement 61 }, - // entry #21 + // entry #22 { UID_JPEGProcess14SV1TransferSyntax, "JPEG Lossless, Non-hierarchical, 1st Order Prediction", EXS_JPEGProcess14SV1, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 14L ,14L, - OFFalse, - OFFalse, + EPE_Encapsulated, + EPC_LosslessCompressed, + OFTrue, + 14L, 14L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #22 + // entry #23 { UID_RLELosslessTransferSyntax, "RLE Lossless", EXS_RLELossless, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, - OFFalse, + EPE_Encapsulated, + EPC_LosslessCompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Standard }, - // entry #23 + // entry #24 { UID_DeflatedExplicitVRLittleEndianTransferSyntax, "Deflated Explicit VR Little Endian", EXS_DeflatedLittleEndianExplicit, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_NotEncapsulated, - 0L, 0L, - OFFalse, + EPE_Native, + EPC_Uncompressed, OFFalse, + 0L, 0L, #ifdef WITH_ZLIB ESC_zlib, #else ESC_unsupported, #endif - OFFalse, - OFFalse + EXV_Standard }, - // entry #24 + // entry #25 { UID_JPEGLSLosslessTransferSyntax, "JPEG-LS Lossless", EXS_JPEGLSLossless, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, + EPE_Encapsulated, + EPC_LosslessCompressed, + OFTrue, 0L, 0L, - OFFalse, - OFFalse, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #25 + // entry #26 { UID_JPEGLSLossyTransferSyntax, "JPEG-LS Lossy (Near-lossless)", EXS_JPEGLSLossy, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #26 + // entry #27 { UID_JPEG2000LosslessOnlyTransferSyntax, "JPEG 2000 (Lossless only)", EXS_JPEG2000LosslessOnly, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, + EPE_Encapsulated, + EPC_LosslessCompressed, + OFTrue, 0L, 0L, - OFFalse, - OFFalse, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #27 + // entry #28 { UID_JPEG2000TransferSyntax, "JPEG 2000 (Lossless or Lossy)", EXS_JPEG2000, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #28 + // entry #29 { UID_JPEG2000Part2MulticomponentImageCompressionLosslessOnlyTransferSyntax, "JPEG 2000 Part 2 Multicomponent Image Compression (Lossless only)", EXS_JPEG2000MulticomponentLosslessOnly, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, + EPE_Encapsulated, + EPC_LosslessCompressed, + OFTrue, 0L, 0L, - OFFalse, - OFFalse, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #29 + // entry #30 { UID_JPEG2000Part2MulticomponentImageCompressionTransferSyntax, "JPEG 2000 Part 2 Multicomponent Image Compression (Lossless or Lossy)", EXS_JPEG2000Multicomponent, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #30 + // entry #31 { UID_JPIPReferencedTransferSyntax, "JPIP Referenced", EXS_JPIPReferenced, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_NotEncapsulated, // in fact, pixel data shall be referenced via (0028,7FE0) Pixel Data Provider URL - 0L, 0L, - OFTrue, // really lossy? + EPE_Referenced, + EPC_unknown, OFFalse, + 0L, 0L, ESC_none, - OFTrue, - OFFalse + EXV_Standard }, - // entry #31 + // entry #32 { UID_JPIPReferencedDeflateTransferSyntax, "JPIP Referenced Deflate", EXS_JPIPReferencedDeflate, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_NotEncapsulated, // in fact, pixel data shall be referenced via (0028,7FE0) Pixel Data Provider URL - 0L, 0L, - OFTrue, // really lossy? + EPE_Referenced, + EPC_unknown, OFFalse, + 0L, 0L, #ifdef WITH_ZLIB ESC_zlib, #else ESC_unsupported, #endif - OFTrue, - OFFalse + EXV_Standard }, - // entry #32 + // entry #33 { UID_MPEG2MainProfileAtMainLevelTransferSyntax, "MPEG2 Main Profile @ Main Level", // changed with DICOM 2016e to: MPEG2 Main Profile / Main Level EXS_MPEG2MainProfileAtMainLevel, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Standard }, - // entry #33 + // entry #34 { UID_FragmentableMPEG2MainProfileMainLevelTransferSyntax, "Fragmentable MPEG2 Main Profile / Main Level", EXS_FragmentableMPEG2MainProfileMainLevel, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #34 + // entry #35 { UID_MPEG2MainProfileAtHighLevelTransferSyntax, "MPEG2 Main Profile @ High Level", // changed with DICOM 2016e to: MPEG2 Main Profile / High Level EXS_MPEG2MainProfileAtHighLevel, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Standard }, - // entry #35 + // entry #36 { UID_FragmentableMPEG2MainProfileHighLevelTransferSyntax, "Fragmentable MPEG2 Main Profile / High Level", EXS_FragmentableMPEG2MainProfileHighLevel, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #36 + // entry #37 { UID_MPEG4HighProfileLevel4_1TransferSyntax, "MPEG-4 AVC/H.264 High Profile / Level 4.1", EXS_MPEG4HighProfileLevel4_1, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Standard }, - // entry #37 + // entry #38 { UID_FragmentableMPEG4HighProfileLevel4_1TransferSyntax, "Fragmentable MPEG-4 AVC/H.264 High Profile / Level 4.1", EXS_FragmentableMPEG4HighProfileLevel4_1, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #38 + // entry #39 { UID_MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax, "MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1", EXS_MPEG4BDcompatibleHighProfileLevel4_1, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Standard }, - // entry #39 + // entry #40 { UID_FragmentableMPEG4BDcompatibleHighProfileLevel4_1TransferSyntax, "Fragmentable MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1", EXS_FragmentableMPEG4BDcompatibleHighProfileLevel4_1, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #40 + // entry #41 { UID_MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax, "MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video", EXS_MPEG4HighProfileLevel4_2_For2DVideo, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Standard }, - // entry #41 + // entry #42 { UID_FragmentableMPEG4HighProfileLevel4_2_For2DVideoTransferSyntax, "Fragmentable MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video", EXS_FragmentableMPEG4HighProfileLevel4_2_For2DVideo, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #42 + // entry #43 { UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax, "MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video", EXS_MPEG4HighProfileLevel4_2_For3DVideo, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Standard }, - // entry #43 + // entry #44 { UID_FragmentableMPEG4HighProfileLevel4_2_For3DVideoTransferSyntax, "Fragmentable MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video", EXS_FragmentableMPEG4HighProfileLevel4_2_For3DVideo, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #44 + // entry #45 { UID_MPEG4StereoHighProfileLevel4_2TransferSyntax, "MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2", EXS_MPEG4StereoHighProfileLevel4_2, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, - OFTrue, + EPE_Encapsulated, + EPC_LossyCompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Standard }, - // entry #45 + // entry #46 { UID_FragmentableMPEG4StereoHighProfileLevel4_2TransferSyntax, "Fragmentable MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2", EXS_FragmentableMPEG4StereoHighProfileLevel4_2, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #46 + // entry #47 { UID_HEVCMainProfileLevel5_1TransferSyntax, "HEVC/H.265 Main Profile / Level 5.1", EXS_HEVCMainProfileLevel5_1, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, - OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFTrue + EXV_Standard }, - // entry #47 + // entry #48 { UID_HEVCMain10ProfileLevel5_1TransferSyntax, "HEVC/H.265 Main 10 Profile / Level 5.1", EXS_HEVCMain10ProfileLevel5_1, EBO_LittleEndian, EBO_LittleEndian, EVT_Explicit, - EJE_Encapsulated, - 0L, 0L, + EPE_Encapsulated, + EPC_LossyCompressed, OFTrue, + 0L, 0L, + ESC_none, + EXV_Standard + }, + // entry #49 + { UID_JPEGXLLosslessTransferSyntax, + "JPEG XL Lossless", + EXS_JPEGXLLossless, + EBO_LittleEndian, + EBO_LittleEndian, + EVT_Explicit, + EPE_Encapsulated, + EPC_LosslessCompressed, OFFalse, + 0L, 0L, ESC_none, + EXV_Standard + }, + // entry #50 + { UID_JPEGXLJPEGRecompressionTransferSyntax, + "JPEG XL JPEG Recompression", + EXS_JPEGXLJPEGRecompression, + EBO_LittleEndian, + EBO_LittleEndian, + EVT_Explicit, + EPE_Encapsulated, + EPC_LossyCompressed, OFFalse, - OFTrue + 0L, 0L, + ESC_none, + EXV_Standard }, - // entry #48 + // entry #51 + { UID_JPEGXLTransferSyntax, + "JPEG XL", + EXS_JPEGXL, + EBO_LittleEndian, + EBO_LittleEndian, + EVT_Explicit, + EPE_Encapsulated, + EPC_LossyCompressed, + OFFalse, + 0L, 0L, + ESC_none, + EXV_Standard + }, + // entry #52 + { UID_HighThroughputJPEG2000ImageCompressionLosslessOnlyTransferSyntax, + "High-Throughput JPEG 2000 Image Compression (Lossless Only)", + EXS_HighThroughputJPEG2000LosslessOnly, + EBO_LittleEndian, + EBO_LittleEndian, + EVT_Explicit, + EPE_Encapsulated, + EPC_LosslessCompressed, + OFFalse, + 0L, 0L, + ESC_none, + EXV_Standard + }, + // entry #53 + { UID_HighThroughputJPEG2000RPCLImageCompressionLosslessOnlyTransferSyntax, + "High-Throughput JPEG 2000 with RPCL Options Image Compression (Lossless Only)", + EXS_HighThroughputJPEG2000withRPCLOptionsLosslessOnly, + EBO_LittleEndian, + EBO_LittleEndian, + EVT_Explicit, + EPE_Encapsulated, + EPC_LosslessCompressed, + OFFalse, + 0L, 0L, + ESC_none, + EXV_Standard + }, + // entry #54 + { UID_HighThroughputJPEG2000ImageCompressionTransferSyntax, + "High-Throughput JPEG 2000 Image Compression", + EXS_HighThroughputJPEG2000, + EBO_LittleEndian, + EBO_LittleEndian, + EVT_Explicit, + EPE_Encapsulated, + EPC_LossyCompressed, + OFFalse, + 0L, 0L, + ESC_none, + EXV_Standard + }, + // entry #55 + { UID_JPIPHTJ2KReferencedTransferSyntax, + "JPIP HTJ2K Referenced", + EXS_JPIPHTJ2KReferenced, + EBO_LittleEndian, + EBO_LittleEndian, + EVT_Explicit, + EPE_Referenced, + EPC_unknown, + OFFalse, + 0L, 0L, + ESC_none, + EXV_Standard + }, + // entry #56 + { UID_JPIPHTJ2KReferencedDeflateTransferSyntax, + "JPIP HTJ2K Referenced Deflate", + EXS_JPIPHTJ2KReferencedDeflate, + EBO_LittleEndian, + EBO_LittleEndian, + EVT_Explicit, + EPE_Referenced, + EPC_unknown, + OFFalse, + 0L, 0L, +#ifdef WITH_ZLIB + ESC_zlib, +#else + ESC_unsupported, +#endif + EXV_Standard + }, + // entry #57 { UID_PrivateGE_LEI_WithBigEndianPixelDataTransferSyntax, "Private GE Little Endian Implicit with big endian pixel data", EXS_PrivateGE_LEI_WithBigEndianPixelData, EBO_LittleEndian, EBO_BigEndian, EVT_Implicit, - EJE_NotEncapsulated, - 0L, 0L, - OFFalse, + EPE_Native, + EPC_Uncompressed, OFFalse, + 0L, 0L, ESC_none, - OFFalse, - OFFalse + EXV_Private } }; @@ -805,34 +886,32 @@ DcmXfer::DcmXfer(E_TransferSyntax xfer) byteOrder(EBO_unknown), pixelDataByteOrder(EBO_unknown), vrType(EVT_Implicit), - encapsulated(EJE_NotEncapsulated), + pixelDataEncoding(EPE_unknown), + pixelDataCompression(EPC_unknown), + pixelDataFragmentable(OFFalse), JPEGProcess8(0L), JPEGProcess12(0L), - lossy(OFFalse), - retired(OFFalse), streamCompression(ESC_none), - referenced(OFFalse), - fragmentable(OFFalse) + xferValidity(EXV_unknown) { - int i = 0; - while ((i < DIM_OF_XferNames) && XferNames[i].xfer != xfer) - i++; - if ((i < DIM_OF_XferNames) && (XferNames[i].xfer == xfer)) + /* casting the enum to an integer should be safe */ + const int i = OFstatic_cast(int, xfer); + /* ... but double-check this to avoid invalid array access, e.g. for EXS_Unknown */ + if ((i >= 0) && (i < DIM_OF_XferNames) && (XferNames[i].xfer == xfer)) { - xferSyn = XferNames[i].xfer; - xferID = XferNames[i].xferID; - xferName = XferNames[i].xferName; - byteOrder = XferNames[i].byteOrder; - pixelDataByteOrder = XferNames[i].pixelDataByteOrder; - vrType = XferNames[i].vrType; - encapsulated = XferNames[i].encapsulated; - JPEGProcess8 = XferNames[i].JPEGProcess8; - JPEGProcess12 = XferNames[i].JPEGProcess12; - lossy = XferNames[i].lossy; - retired = XferNames[i].retired; - streamCompression = XferNames[i].streamCompression; - referenced = XferNames[i].referenced; - fragmentable = XferNames[i].fragmentable; + xferSyn = XferNames[i].xfer; + xferID = XferNames[i].xferID; + xferName = XferNames[i].xferName; + byteOrder = XferNames[i].byteOrder; + pixelDataByteOrder = XferNames[i].pixelDataByteOrder; + vrType = XferNames[i].vrType; + pixelDataEncoding = XferNames[i].pixelDataEncoding; + pixelDataCompression = XferNames[i].pixelDataCompression; + pixelDataFragmentable = XferNames[i].pixelDataFragmentable; + JPEGProcess8 = XferNames[i].JPEGProcess8; + JPEGProcess12 = XferNames[i].JPEGProcess12; + streamCompression = XferNames[i].streamCompression; + xferValidity = XferNames[i].xferValidity; } } @@ -840,67 +919,48 @@ DcmXfer::DcmXfer(E_TransferSyntax xfer) // ******************************** -DcmXfer::DcmXfer(const char* xferName_xferID) +DcmXfer::DcmXfer(const char *xferName_xferID) : xferID(""), xferName(ERROR_XferName), xferSyn(EXS_Unknown), byteOrder(EBO_unknown), pixelDataByteOrder(EBO_unknown), vrType(EVT_Implicit), - encapsulated(EJE_NotEncapsulated), + pixelDataEncoding(EPE_unknown), + pixelDataCompression(EPC_unknown), + pixelDataFragmentable(OFFalse), JPEGProcess8(0L), JPEGProcess12(0L), - lossy(OFFalse), - retired(OFFalse), streamCompression(ESC_none), - referenced(OFFalse), - fragmentable(OFFalse) + xferValidity(EXV_unknown) { - const char* xname = xferName_xferID; - if (xname != NULL) + if (xferName_xferID != NULL) { - int i = 0; - while ((i < DIM_OF_XferNames) && (strcmp(XferNames[i].xferID, xname) != 0)) - i++; - if ((i < DIM_OF_XferNames) && (strcmp(XferNames[i].xferID, xname) == 0)) + int i; + /* first search for transfer syntax identifier (UID) */ + for (i = 0; (i < DIM_OF_XferNames) && (strcmp(XferNames[i].xferID, xferName_xferID) != 0); ++i); + /* and then, if not found... */ + if (i >= DIM_OF_XferNames) { - xferSyn = XferNames[i].xfer; - xferID = XferNames[i].xferID; - xferName = XferNames[i].xferName; - byteOrder = XferNames[i].byteOrder; - pixelDataByteOrder = XferNames[i].pixelDataByteOrder; - vrType = XferNames[i].vrType; - encapsulated = XferNames[i].encapsulated; - JPEGProcess8 = XferNames[i].JPEGProcess8; - JPEGProcess12 = XferNames[i].JPEGProcess12; - lossy = XferNames[i].lossy; - retired = XferNames[i].retired; - streamCompression = XferNames[i].streamCompression; - referenced = XferNames[i].referenced; - fragmentable = XferNames[i].fragmentable; + /* try with the transfer syntax name */ + for (i = 0; (i < DIM_OF_XferNames) && (strcmp(XferNames[i].xferName, xferName_xferID) != 0); ++i); } - else + if (i < DIM_OF_XferNames) { - i = 0; - while ((i < DIM_OF_XferNames) && (strcmp(XferNames[i].xferName, xname) != 0)) - i++; - if ((i < DIM_OF_XferNames) && (strcmp(XferNames[i].xferName, xname) == 0)) - { - xferSyn = XferNames[i].xfer; - xferID = XferNames[i].xferID; - xferName = XferNames[i].xferName; - byteOrder = XferNames[i].byteOrder; - pixelDataByteOrder = XferNames[i].pixelDataByteOrder; - vrType = XferNames[i].vrType; - encapsulated = XferNames[i].encapsulated; - JPEGProcess8 = XferNames[i].JPEGProcess8; - JPEGProcess12 = XferNames[i].JPEGProcess12; - lossy = XferNames[i].lossy; - retired = XferNames[i].retired; - streamCompression = XferNames[i].streamCompression; - referenced = XferNames[i].referenced; - fragmentable = XferNames[i].fragmentable; - } + /* if found, copy all properties */ + xferSyn = XferNames[i].xfer; + xferID = XferNames[i].xferID; + xferName = XferNames[i].xferName; + byteOrder = XferNames[i].byteOrder; + pixelDataByteOrder = XferNames[i].pixelDataByteOrder; + vrType = XferNames[i].vrType; + pixelDataEncoding = XferNames[i].pixelDataEncoding; + pixelDataCompression = XferNames[i].pixelDataCompression; + pixelDataFragmentable = XferNames[i].pixelDataFragmentable; + JPEGProcess8 = XferNames[i].JPEGProcess8; + JPEGProcess12 = XferNames[i].JPEGProcess12; + streamCompression = XferNames[i].streamCompression; + xferValidity = XferNames[i].xferValidity; } } } @@ -916,14 +976,13 @@ DcmXfer::DcmXfer(const DcmXfer &newXfer) byteOrder(newXfer.byteOrder), pixelDataByteOrder(newXfer.pixelDataByteOrder), vrType(newXfer.vrType), - encapsulated(newXfer.encapsulated), + pixelDataEncoding(newXfer.pixelDataEncoding), + pixelDataCompression(newXfer.pixelDataCompression), + pixelDataFragmentable(newXfer.pixelDataFragmentable), JPEGProcess8(newXfer.JPEGProcess8), JPEGProcess12(newXfer.JPEGProcess12), - lossy(newXfer.lossy), - retired(newXfer.retired), streamCompression(newXfer.streamCompression), - referenced(newXfer.referenced), - fragmentable(newXfer.fragmentable) + xferValidity(newXfer.xferValidity) { } @@ -941,42 +1000,38 @@ DcmXfer::~DcmXfer() DcmXfer &DcmXfer::operator=(const E_TransferSyntax xfer) { - // tbc: if the enum value is consistent with the index of the array, - // why do we need to iterate over the array entries? - int i = 0; - while ((i < DIM_OF_XferNames) && (XferNames[i].xfer != xfer)) - i++; - if ((i < DIM_OF_XferNames) && (XferNames[i].xfer == xfer)) + /* casting the enum to an integer should be safe */ + const int i = OFstatic_cast(int, xfer); + /* ... but double-check this to avoid invalid array access, e.g. for EXS_Unknown */ + if ((i >= 0) && (i < DIM_OF_XferNames) && (XferNames[i].xfer == xfer)) { - xferSyn = XferNames[i].xfer; - xferID = XferNames[i].xferID; - xferName = XferNames[i].xferName; - byteOrder = XferNames[i].byteOrder; - pixelDataByteOrder = XferNames[i].pixelDataByteOrder; - vrType = XferNames[i].vrType; - encapsulated = XferNames[i].encapsulated; - JPEGProcess8 = XferNames[i].JPEGProcess8; - JPEGProcess12 = XferNames[i].JPEGProcess12; - lossy = XferNames[i].lossy; - retired = XferNames[i].retired; - streamCompression = XferNames[i].streamCompression; - referenced = XferNames[i].referenced; - fragmentable = XferNames[i].fragmentable; + xferSyn = XferNames[i].xfer; + xferID = XferNames[i].xferID; + xferName = XferNames[i].xferName; + byteOrder = XferNames[i].byteOrder; + pixelDataByteOrder = XferNames[i].pixelDataByteOrder; + vrType = XferNames[i].vrType; + pixelDataEncoding = XferNames[i].pixelDataEncoding; + pixelDataCompression = XferNames[i].pixelDataCompression; + pixelDataFragmentable = XferNames[i].pixelDataFragmentable; + JPEGProcess8 = XferNames[i].JPEGProcess8; + JPEGProcess12 = XferNames[i].JPEGProcess12; + streamCompression = XferNames[i].streamCompression; + xferValidity = XferNames[i].xferValidity; } else { - xferSyn = EXS_Unknown; - xferID = ""; - xferName = ERROR_XferName; - byteOrder = EBO_unknown; - pixelDataByteOrder = EBO_unknown; - vrType = EVT_Implicit; - encapsulated = EJE_NotEncapsulated; - JPEGProcess8 = 0L; - JPEGProcess12 = 0L; - lossy = OFFalse; - retired = OFFalse; - streamCompression = ESC_none; - referenced = OFFalse; - fragmentable = OFFalse; + xferSyn = EXS_Unknown; + xferID = ""; + xferName = ERROR_XferName; + byteOrder = EBO_unknown; + pixelDataByteOrder = EBO_unknown; + vrType = EVT_Implicit; + pixelDataEncoding = EPE_unknown; + pixelDataCompression = EPC_unknown; + pixelDataFragmentable = OFFalse; + JPEGProcess8 = 0L; + JPEGProcess12 = 0L; + streamCompression = ESC_none; + xferValidity = EXV_unknown; } return *this; } @@ -989,20 +1044,19 @@ DcmXfer &DcmXfer::operator=(const DcmXfer &newXfer) { if (this != &newXfer) { - xferSyn = newXfer.xferSyn; - xferID = newXfer.xferID; - xferName = newXfer.xferName; - byteOrder = newXfer.byteOrder; - pixelDataByteOrder = newXfer.pixelDataByteOrder; - vrType = newXfer.vrType; - encapsulated = newXfer.encapsulated; - JPEGProcess8 = newXfer.JPEGProcess8; - JPEGProcess12 = newXfer.JPEGProcess12; - lossy = newXfer.lossy; - retired = newXfer.retired; - streamCompression = newXfer.streamCompression; - referenced = newXfer.referenced; - fragmentable = newXfer.fragmentable; + xferSyn = newXfer.xferSyn; + xferID = newXfer.xferID; + xferName = newXfer.xferName; + byteOrder = newXfer.byteOrder; + pixelDataByteOrder = newXfer.pixelDataByteOrder; + vrType = newXfer.vrType; + pixelDataEncoding = newXfer.pixelDataEncoding; + pixelDataCompression = newXfer.pixelDataCompression; + pixelDataFragmentable = newXfer.pixelDataFragmentable; + JPEGProcess8 = newXfer.JPEGProcess8; + JPEGProcess12 = newXfer.JPEGProcess12; + streamCompression = newXfer.streamCompression; + xferValidity = newXfer.xferValidity; } return *this; } @@ -1010,9 +1064,9 @@ DcmXfer &DcmXfer::operator=(const DcmXfer &newXfer) // ******************************** -const char* DcmXfer::getXferKeyword() const +const char *DcmXfer::getXferKeyword() const { - return dcmFindKeywordOfUID(xferID); + return dcmFindKeywordOfUID(xferID, "" /* defaultValue */); } // ******************************** diff --git a/dcmdata/libsrc/mkdeftag.cc b/dcmdata/libsrc/mkdeftag.cc index e519fc37..a7cec5c0 100644 --- a/dcmdata/libsrc/mkdeftag.cc +++ b/dcmdata/libsrc/mkdeftag.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2018, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -238,6 +238,8 @@ int main(int argc, char* argv[]) } fputs("\n#endif /* !DCDEFTAG_H */\n", fout); + if (filename) fclose(fout); + dcmDataDict.wrunlock(); return 0; } diff --git a/dcmdata/tests/CMakeLists.txt b/dcmdata/tests/CMakeLists.txt index 10075d29..cae0ef88 100644 --- a/dcmdata/tests/CMakeLists.txt +++ b/dcmdata/tests/CMakeLists.txt @@ -1,5 +1,6 @@ # declare executables -DCMTK_ADD_EXECUTABLE(dcmdata_tests +DCMTK_ADD_TEST_EXECUTABLE(dcmdata_tests + tbytestr.cc tchval.cc tdict.cc telemlen.cc @@ -28,6 +29,7 @@ DCMTK_ADD_EXECUTABLE(dcmdata_tests tvrsv.cc tvrui.cc tvruv.cc + txfer.cc ) # make sure executables are linked to the corresponding libraries diff --git a/dcmdata/tests/Makefile.dep b/dcmdata/tests/Makefile.dep index b2b62c88..6053caaf 100644 --- a/dcmdata/tests/Makefile.dep +++ b/dcmdata/tests/Makefile.dep @@ -1,4 +1,4 @@ -tchval.o: tchval.cc ../../config/include/dcmtk/config/osconfig.h \ +tbytestr.o: tbytestr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -6,12 +6,73 @@ tchval.o: tchval.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../include/dcmtk/dcmdata/dcvrcs.h ../include/dcmtk/dcmdata/dcbytstr.h \ + ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcelem.h \ + ../include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcdeftag.h +tchval.o: tchval.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/oftest.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -22,7 +83,6 @@ tchval.o: tchval.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -54,6 +114,7 @@ tchval.o: tchval.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcostrma.h \ ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -101,12 +162,12 @@ tdict.o: tdict.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -117,7 +178,6 @@ tdict.o: tdict.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -159,12 +219,12 @@ telemlen.o: telemlen.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -175,7 +235,6 @@ telemlen.o: telemlen.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -207,6 +266,7 @@ telemlen.o: telemlen.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcostrma.h \ ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -252,12 +312,12 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -268,7 +328,6 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -304,12 +363,12 @@ tfilter.o: tfilter.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -320,7 +379,6 @@ tfilter.o: tfilter.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -357,6 +415,7 @@ tfilter.o: tfilter.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dcstack.h \ ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcdatset.h \ ../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dcpcache.h \ @@ -369,12 +428,12 @@ tgenuid.o: tgenuid.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -385,7 +444,6 @@ tgenuid.o: tgenuid.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -421,12 +479,12 @@ ti2dbmp.o: ti2dbmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -437,7 +495,6 @@ ti2dbmp.o: ti2dbmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -470,6 +527,7 @@ ti2dbmp.o: ti2dbmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/libi2d/i2define.h titem.o: titem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ @@ -479,12 +537,12 @@ titem.o: titem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -495,7 +553,6 @@ titem.o: titem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -527,8 +584,9 @@ titem.o: titem.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcvrat.h \ @@ -542,12 +600,12 @@ tmatch.o: tmatch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -558,7 +616,6 @@ tmatch.o: tmatch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -597,12 +654,12 @@ tnewdcme.o: tnewdcme.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -613,7 +670,6 @@ tnewdcme.o: tnewdcme.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -645,8 +701,9 @@ tnewdcme.o: tnewdcme.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcelem.h \ @@ -660,12 +717,12 @@ tparent.o: tparent.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -676,7 +733,6 @@ tparent.o: tparent.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -708,6 +764,7 @@ tparent.o: tparent.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcostrma.h \ ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -753,12 +810,12 @@ tparser.o: tparser.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -769,7 +826,6 @@ tparser.o: tparser.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -802,6 +858,7 @@ tparser.o: tparser.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcostrma.h \ ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -848,12 +905,12 @@ tpath.o: tpath.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -864,7 +921,6 @@ tpath.o: tpath.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -896,6 +952,7 @@ tpath.o: tpath.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcostrma.h \ ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -940,12 +997,12 @@ tpread.o: tpread.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -956,7 +1013,6 @@ tpread.o: tpread.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -989,6 +1045,7 @@ tpread.o: tpread.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcostrma.h \ ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1034,12 +1091,12 @@ tsequen.o: tsequen.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1050,7 +1107,6 @@ tsequen.o: tsequen.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1082,8 +1138,9 @@ tsequen.o: tsequen.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcdatset.h \ @@ -1099,12 +1156,12 @@ tspchrs.o: tspchrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1115,7 +1172,6 @@ tspchrs.o: tspchrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1155,12 +1211,12 @@ tstrval.o: tstrval.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1171,7 +1227,6 @@ tstrval.o: tstrval.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1203,6 +1258,7 @@ tstrval.o: tstrval.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h @@ -1214,12 +1270,12 @@ ttag.o: ttag.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1230,7 +1286,6 @@ ttag.o: ttag.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1270,12 +1325,12 @@ tvrcomp.o: tvrcomp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1286,7 +1341,6 @@ tvrcomp.o: tvrcomp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1319,8 +1373,9 @@ tvrcomp.o: tvrcomp.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcvrae.h \ ../include/dcmtk/dcmdata/dcchrstr.h ../include/dcmtk/dcmdata/dcvrlo.h \ @@ -1355,12 +1410,12 @@ tvrdatim.o: tvrdatim.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1371,7 +1426,6 @@ tvrdatim.o: tvrdatim.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1404,8 +1458,9 @@ tvrdatim.o: tvrdatim.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ @@ -1423,12 +1478,12 @@ tvrds.o: tvrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1439,7 +1494,6 @@ tvrds.o: tvrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1472,8 +1526,9 @@ tvrds.o: tvrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcdeftag.h \ ../include/dcmtk/dcmdata/dcitem.h ../include/dcmtk/dcmdata/dclist.h \ @@ -1486,12 +1541,12 @@ tvrfd.o: tvrfd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1502,7 +1557,6 @@ tvrfd.o: tvrfd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1535,6 +1589,7 @@ tvrfd.o: tvrfd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcdeftag.h @@ -1546,12 +1601,12 @@ tvrol.o: tvrol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1562,7 +1617,6 @@ tvrol.o: tvrol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1594,8 +1648,9 @@ tvrol.o: tvrol.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcvrol.h \ @@ -1609,12 +1664,12 @@ tvrov.o: tvrov.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1625,7 +1680,6 @@ tvrov.o: tvrov.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1657,8 +1711,9 @@ tvrov.o: tvrov.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcvrov.h \ @@ -1672,12 +1727,12 @@ tvrpn.o: tvrpn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1688,7 +1743,6 @@ tvrpn.o: tvrpn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1721,8 +1775,9 @@ tvrpn.o: tvrpn.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h tvrsv.o: tvrsv.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1733,12 +1788,12 @@ tvrsv.o: tvrsv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1749,7 +1804,6 @@ tvrsv.o: tvrsv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1781,8 +1835,9 @@ tvrsv.o: tvrsv.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcvrsv.h \ @@ -1795,12 +1850,12 @@ tvrui.o: tvrui.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1811,7 +1866,6 @@ tvrui.o: tvrui.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1844,8 +1898,9 @@ tvrui.o: tvrui.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcdeftag.h tvruv.o: tvruv.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1856,12 +1911,12 @@ tvruv.o: tvruv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1872,7 +1927,6 @@ tvruv.o: tvruv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -1904,9 +1958,65 @@ tvruv.o: tvruv.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ - ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ - ../include/dcmtk/dcmdata/dctagkey.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dclist.h \ ../include/dcmtk/dcmdata/dcpcache.h ../include/dcmtk/dcmdata/dcvruv.h \ ../include/dcmtk/dcmdata/dcelem.h +txfer.o: txfer.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/oftest.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ + ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h diff --git a/dcmdata/tests/Makefile.in b/dcmdata/tests/Makefile.in index 8c72e4ed..c16b46f5 100644 --- a/dcmdata/tests/Makefile.in +++ b/dcmdata/tests/Makefile.in @@ -26,7 +26,7 @@ LIBDCMXML = -ldcmxml objs = tests.o tpread.o ti2dbmp.o tchval.o tpath.o tvrdatim.o telemlen.o tparser.o \ tdict.o tvrds.o tvrfd.o tvrui.o tvrol.o tvrov.o tvrsv.o tvruv.o tstrval.o \ tspchrs.o tvrpn.o tparent.o tfilter.o tvrcomp.o tmatch.o tnewdcme.o \ - tgenuid.o tsequen.o titem.o ttag.o + tgenuid.o tsequen.o titem.o ttag.o txfer.o tbytestr.o progs = tests diff --git a/dcmdata/tests/tbytestr.cc b/dcmdata/tests/tbytestr.cc new file mode 100644 index 00000000..f6c9f44b --- /dev/null +++ b/dcmdata/tests/tbytestr.cc @@ -0,0 +1,89 @@ +/* + * + * Copyright (C) 2024, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmdata + * + * Author: Michael Onken + * + * Purpose: test program for DcmByteString + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcvrcs.h" +#include "dcmtk/dcmdata/dcdeftag.h" + +static void checkValue(DcmElement& elem, const int pos, const char *value, const int vm = -1) +{ + OFString str; + OFCondition cond = elem.getOFString(str, pos); + if (cond.bad()) + OFCHECK_FAIL("Failed to get value at pos " << pos << ": " << cond.text()); + if (str != value) + OFCHECK_FAIL("Expected value (" << value << "), but got (" << str << ")"); + if (vm != -1 ) + { + unsigned long usVm = OFstatic_cast(unsigned long, vm); + if (usVm != elem.getVM()) + { + OFCHECK_FAIL("Expected VM (" << vm << "), but got (" << elem.getVM() << ")"); + } + } +} + +OFTEST(dcmdata_putOFStringAtPos) +{ + DcmCodeString imageType(DCM_ImageType); + imageType.putOFStringArray("One\\Two\\Three"); + checkValue(imageType, 0, "One"); + checkValue(imageType, 1, "Two"); + checkValue(imageType, 2, "Three", 3); + + // Replace first value and see if it worked + OFCHECK(imageType.putOFStringAtPos("OneReplaced", 0).good()); + checkValue(imageType, 0, "OneReplaced"); + // Replace second value and see if it worked + OFCHECK(imageType.putOFStringAtPos("TwoReplaced", 1).good()); + checkValue(imageType, 1, "TwoReplaced"); + // Replace third value and see if it worked + OFCHECK(imageType.putOFStringAtPos("ThreeReplaced", 2).good()); + checkValue(imageType, 2, "ThreeReplaced"); + // Check if the other values are still there + checkValue(imageType, 0, "OneReplaced"); + checkValue(imageType, 1, "TwoReplaced"); + checkValue(imageType, 2, "ThreeReplaced", 3); + + // Try to replace a value that doesn't exist + OFCHECK(imageType.putOFStringAtPos("Four", 4).good()); + checkValue(imageType, 4, "Four", 5); + + // restart with "One\\Two\\Three" + imageType.putOFStringArray("One\\Two\\Three"); + + // Replace last value with an empty string + OFCHECK(imageType.putOFStringAtPos("", 2).good()); + checkValue(imageType, 2, ""); + + // Check whether other values are still there + checkValue(imageType, 0, "One"); + checkValue(imageType, 1, "Two", 3); + + // Replace value 0 and 1 with empty strings as well + OFCHECK(imageType.putOFStringAtPos("", 0).good()); + OFCHECK(imageType.putOFStringAtPos("", 1).good()); + checkValue(imageType, 0, ""); + checkValue(imageType, 1, "", 3); +} diff --git a/dcmdata/tests/telemlen.cc b/dcmdata/tests/telemlen.cc index be26d11c..4d3178c1 100644 --- a/dcmdata/tests/telemlen.cc +++ b/dcmdata/tests/telemlen.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2020, OFFIS e.V. + * Copyright (C) 2011-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by diff --git a/dcmdata/tests/tests.cc b/dcmdata/tests/tests.cc index 9864ca10..1a14365a 100644 --- a/dcmdata/tests/tests.cc +++ b/dcmdata/tests/tests.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2023 OFFIS e.V. + * Copyright (C) 2011-2024 OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -110,6 +110,7 @@ OFTEST_REGISTER(dcmdata_parser_wrongExplicitVRinDataset_defaultVR_dictLen); OFTEST_REGISTER(dcmdata_parser_wrongExplicitVRinDataset_dictVR_defaultLen); OFTEST_REGISTER(dcmdata_parser_wrongExplicitVRinDataset_preferDataDict); OFTEST_REGISTER(dcmdata_parser_undefinedLengthUNSequence); +OFTEST_REGISTER(dcmdata_parser_handleAmbiguousVR_fromDictionary); OFTEST_REGISTER(dcmdata_readingDataDictionary); OFTEST_REGISTER(dcmdata_usingDataDictionary); OFTEST_REGISTER(dcmdata_specificCharacterSet_1); @@ -120,4 +121,9 @@ OFTEST_REGISTER(dcmdata_attribute_filter); OFTEST_REGISTER(dcmdata_attribute_matching); OFTEST_REGISTER(dcmdata_newDicomElementPrivate); OFTEST_REGISTER(dcmdata_generateUniqueIdentifier); +OFTEST_REGISTER(dcmdata_xferLookup_1); +OFTEST_REGISTER(dcmdata_xferLookup_2); +OFTEST_REGISTER(dcmdata_xferLookup_3); +OFTEST_REGISTER(dcmdata_xferLookup_4); +OFTEST_REGISTER(dcmdata_putOFStringAtPos); OFTEST_MAIN("dcmdata") diff --git a/dcmdata/tests/ti2dbmp.cc b/dcmdata/tests/ti2dbmp.cc index 79db3106..ea6a24d7 100644 --- a/dcmdata/tests/ti2dbmp.cc +++ b/dcmdata/tests/ti2dbmp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2022, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -25,7 +25,7 @@ #include "dcmtk/ofstd/oftest.h" #include "dcmtk/dcmdata/libi2d/i2dbmps.h" -static OFLogger i2dbmpLogger = OFLog::getLogger("dcmtk.test.i2dbmp"); +static OFLogger i2dbmpLogger = OFLog::getLogger("dcmtk.test.ti2dbmp"); enum offset { BMP_IMAGE_OFFSET = 10, diff --git a/dcmdata/tests/tparser.cc b/dcmdata/tests/tparser.cc index e77214d6..b821c5d3 100644 --- a/dcmdata/tests/tparser.cc +++ b/dcmdata/tests/tparser.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2020, OFFIS e.V. + * Copyright (C) 2011-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -523,3 +523,23 @@ OFTEST(dcmdata_parser_undefinedLengthUNSequence) return; } } + +OFTEST(dcmdata_parser_handleAmbiguousVR_fromDictionary) +{ + /* enable setting VR from data dictionary */ + dcmPreferVRFromDataDictionary.set(OFTrue); + /* create waveform data for OW */ + const Uint8 data[] = { + TAG_AND_LENGTH_SHORT(DCM_WaveformBitsAllocated, 'U', 'S', 2), + '\x00', '\x10', + TAG_AND_LENGTH(DCM_WaveformData, 'O', 'W', 8), + '\x00', '\x01', '\x00', '\x02', '\x00', '\x03', '\x00', '\x04' + }; + DcmDataset dset; + OFCHECK(readDataset(dset, data, sizeof(data), EXS_LittleEndianExplicit).good()); + const Uint16 *uintVals = OFnullptr; + unsigned long numUints = 0; + /* check that the data can be accessed as a 16-bit array (regression test, used to fail with EC_IllegalCall) */ + OFCHECK(dset.findAndGetUint16Array(DCM_WaveformData, uintVals, &numUints).good()); + OFCHECK_EQUAL(numUints, 4); +} diff --git a/dcmdata/tests/tvrcomp.cc b/dcmdata/tests/tvrcomp.cc index 1b7fab5c..fbf1912c 100644 --- a/dcmdata/tests/tvrcomp.cc +++ b/dcmdata/tests/tvrcomp.cc @@ -67,7 +67,6 @@ #include "dcmtk/dcmdata/dcpixseq.h" #include "dcmtk/dcmdata/dcdict.h" - template static void checkStringBased( const DcmTagKey& key, @@ -121,6 +120,17 @@ static void checkStringBased( OFCHECK(obj2.compare(obj1) > 0); OFCHECK(obj2 > obj1); OFCHECK(obj2 >= obj1); + + // Check same number of values (1), same length, but different content + obj1.putOFStringArray("A"); + obj2.putOFStringArray("B"); + OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); + // Reverse test should yield opposite result + OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); } diff --git a/dcmdata/tests/tvrds.cc b/dcmdata/tests/tvrds.cc index a9132a34..0e929304 100644 --- a/dcmdata/tests/tvrds.cc +++ b/dcmdata/tests/tvrds.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2020, OFFIS e.V. + * Copyright (C) 2011-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,7 +30,7 @@ OFTEST(dcmdata_decimalString_1) { - DcmDecimalString decStr(DCM_ContourData, EVR_DS); + DcmDecimalString decStr(DCM_ContourData); OFVector doubleVals; OFCHECK(decStr.putString("1\\2.0\\3.5\\-4.99\\+500.005\\6.66E-01").good()); OFCHECK(decStr.getFloat64Vector(doubleVals).good()); @@ -45,7 +45,7 @@ OFTEST(dcmdata_decimalString_1) OFTEST(dcmdata_decimalString_2) { - DcmDecimalString decStr(DCM_ContourData, EVR_DS); + DcmDecimalString decStr(DCM_ContourData); OFVector doubleVals; /* insert a NULL byte into the string */ OFCHECK(decStr.putString("1\\2.0\\3.5\\-4.99\0\\+500.005\\6.66E-01", 34).good()); @@ -61,7 +61,7 @@ OFTEST(dcmdata_decimalString_2) OFTEST(dcmdata_decimalString_3) { - DcmDecimalString decStr(DCM_ContourData, EVR_DS); + DcmDecimalString decStr(DCM_ContourData); OFVector doubleVals; /* insert a NULL byte into the string */ OFCHECK(decStr.putOFStringArray(OFString("1\\2.0\\3.5\\-4.99\0\\+500.005\\6.66E-01", 34)).good()); @@ -77,7 +77,7 @@ OFTEST(dcmdata_decimalString_3) OFTEST(dcmdata_decimalString_4) { - DcmDecimalString decStr(DCM_ContourData, EVR_DS); + DcmDecimalString decStr(DCM_ContourData); OFVector doubleVals; OFCHECK(decStr.putString("1\\2.0\\3.5\\-4.99\\+500.005\\6.66E-01\\").good()); OFCHECK_EQUAL(decStr.getVM(), 7); @@ -96,7 +96,7 @@ OFTEST(dcmdata_decimalString_putFloat64) { // Test insertion in the beginning OFString testStr; - DcmDecimalString decStr(DCM_ContourData, EVR_DS); + DcmDecimalString decStr(DCM_ContourData); OFCHECK(decStr.putFloat64(0, 0).good()); decStr.getOFStringArray(testStr); OFCHECK(testStr == "0"); diff --git a/dcmdata/tests/txfer.cc b/dcmdata/tests/txfer.cc new file mode 100644 index 00000000..8a6f9b17 --- /dev/null +++ b/dcmdata/tests/txfer.cc @@ -0,0 +1,93 @@ +/* + * + * Copyright (C) 2024, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation are maintained by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmdata + * + * Author: Joerg Riesmeier + * + * Purpose: test program for class DcmXfer + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcxfer.h" +#include "dcmtk/dcmdata/dcuid.h" + + +OFTEST(dcmdata_xferLookup_1) +{ + /* look up the enum */ + DcmXfer xfer(EXS_LittleEndianExplicit); + OFCHECK(xfer.isValid()); + OFCHECK_EQUAL(OFString(xfer.getXferID()), OFString(UID_LittleEndianExplicitTransferSyntax)); + OFCHECK_EQUAL(OFString(xfer.getXferName()), "Little Endian Explicit"); + OFCHECK_EQUAL(OFString(xfer.getXferKeyword()), "ExplicitVRLittleEndian"); + OFCHECK(xfer.isLittleEndian()); + OFCHECK(xfer.isExplicitVR()); + OFCHECK(xfer.isStandard()); + OFCHECK(xfer.usesNativeFormat()); + OFCHECK(!xfer.isDatasetCompressed()); + OFCHECK(xfer.isPixelDataUncompressed()); + OFCHECK(!xfer.isPixelDataFragmentable()); + OFCHECK(!xfer.isLosslessCompressed()); +} + + +OFTEST(dcmdata_xferLookup_2) +{ + /* look up the name */ + DcmXfer xfer("JPIP HTJ2K Referenced Deflate"); + OFCHECK(xfer.isValid()); + OFCHECK_EQUAL(xfer.getXfer(), EXS_JPIPHTJ2KReferencedDeflate); + OFCHECK_EQUAL(OFString(xfer.getXferID()), OFString(UID_JPIPHTJ2KReferencedDeflateTransferSyntax)); + OFCHECK_EQUAL(OFString(xfer.getXferKeyword()), "JPIPHTJ2KReferencedDeflate"); + OFCHECK(xfer.isLittleEndian()); + OFCHECK(xfer.isExplicitVR()); + OFCHECK(xfer.isStandard()); + OFCHECK(xfer.isDatasetCompressed()); + OFCHECK(!xfer.usesEncapsulatedFormat()); + OFCHECK(!xfer.isPixelDataCompressed()); + OFCHECK(xfer.usesReferencedPixelData()); + OFCHECK(xfer.isLosslessCompressed()); +} + + +OFTEST(dcmdata_xferLookup_3) +{ + /* look up the UID */ + DcmXfer xfer(UID_FragmentableMPEG2MainProfileHighLevelTransferSyntax); + OFCHECK(xfer.isValid()); + OFCHECK_EQUAL(xfer.getXfer(), EXS_FragmentableMPEG2MainProfileHighLevel); + OFCHECK_EQUAL(OFString(xfer.getXferName()), "Fragmentable MPEG2 Main Profile / High Level"); + OFCHECK_EQUAL(OFString(xfer.getXferKeyword()), "MPEG2MPHLF"); + OFCHECK(xfer.isLittleEndian()); + OFCHECK(xfer.isExplicitVR()); + OFCHECK(xfer.isStandard()); + OFCHECK(!xfer.isDatasetCompressed()); + OFCHECK(xfer.usesEncapsulatedFormat()); + OFCHECK(xfer.isPixelDataCompressed()); + OFCHECK(xfer.isPixelDataLossyCompressed()); + OFCHECK(xfer.isPixelDataFragmentable()); + OFCHECK(!xfer.isLosslessCompressed()); +} + + +OFTEST(dcmdata_xferLookup_4) +{ + /* look up unsuccessful */ + DcmXfer xfer("some invalid name"); + OFCHECK(!xfer.isValid()); +} diff --git a/dcmect/include/dcmtk/dcmect/def.h b/dcmect/include/dcmtk/dcmect/def.h index c5c6a49a..9ccdc669 100644 --- a/dcmect/include/dcmtk/dcmect/def.h +++ b/dcmect/include/dcmtk/dcmect/def.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,7 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/ofstd/ofdefine.h" +#include "dcmtk/ofstd/ofexport.h" // definitions for DLL/shared library exports diff --git a/dcmect/include/dcmtk/dcmect/enhanced_ct.h b/dcmect/include/dcmtk/dcmect/enhanced_ct.h index 5e586cce..3a4c39fa 100644 --- a/dcmect/include/dcmtk/dcmect/enhanced_ct.h +++ b/dcmect/include/dcmtk/dcmect/enhanced_ct.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -31,15 +31,20 @@ #include "dcmtk/dcmiod/modacquisitioncontext.h" #include "dcmtk/dcmiod/modenhequipment.h" #include "dcmtk/dcmiod/modequipment.h" +#include "dcmtk/dcmiod/modgeneralimage.h" #include "dcmtk/dcmiod/modimagepixel.h" #include "dcmtk/dcmiod/modmultiframedimension.h" #include "dcmtk/dcmiod/modmultiframefg.h" -#include "dcmtk/dcmiod/modsynchronisation.h" +#include "dcmtk/dcmiod/modsynchronization.h" +#include "dcmtk/dcmdata/dcvrdt.h" +#include "dcmtk/dcmdata/dcvrds.h" +#include "dcmtk/dcmdata/dcvrfd.h" class IODGeneralEquipmentModule; class FGBase; class ConcatenationLoader; class ConcatenationCreator; +class DcmDataset; template class IODImagePixelModule; @@ -52,7 +57,7 @@ class IODImagePixelModule; * - General Series (via iodimage.h) * - Enhanced CT Series (via this class) * - Frame of Reference (via iodimage.h) - * - Synchronization (via modsynchronisation.h) + * - Synchronization (via modsynchronization.h) * - General Equipment (via iodimage.h) * - Enhanced General Equipment (via modenhequipment.h) * - Image Pixel (via this class) @@ -371,14 +376,14 @@ public: * @param enabled If OFTrue, Synchronization Module will be written, * otherwise not. */ - virtual void setIODSynchronisationModuleEnabled(const OFBool enabled); + virtual void setIODSynchronizationModuleEnabled(const OFBool enabled); /** Returns whether Synchronization Module is enabled for writing * the Enhanced CT object. * @return OFTrue, if Synchronization Module will be written, * OFFalse otherwise. */ - virtual OFBool getIODSynchronisationModuleEnabled(); + virtual OFBool getIODSynchronizationModuleEnabled(); /** Get General Equipment Module * @return a reference to the General Equipment Module @@ -712,11 +717,11 @@ private: struct GetFramesVisitor; /// Synchronization Module - IODSynchronizationModule m_SynchronisationModule; + IODSynchronizationModule m_SynchronizationModule; /// Denote whether Synchronization Module is enabled (OFTrue) /// or ignored (OFFalse) on writing and checking. - OFBool m_SynchronisationModuleEnabled; + OFBool m_SynchronizationModuleEnabled; /// IODEnhancedEquipmentModule IODEnhGeneralEquipmentModule m_EnhancedGeneralEquipmentModule; diff --git a/dcmect/include/dcmtk/dcmect/types.h b/dcmect/include/dcmtk/dcmect/types.h index 102bc758..817b11bb 100644 --- a/dcmect/include/dcmtk/dcmect/types.h +++ b/dcmect/include/dcmtk/dcmect/types.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -25,8 +25,8 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmect/def.h" -#include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/oflog/oflog.h" +#include "dcmtk/ofstd/ofcond.h" /*-----------------------* * Logging * diff --git a/dcmect/libsrc/Makefile.dep b/dcmect/libsrc/Makefile.dep index c0208b15..7f2cabea 100644 --- a/dcmect/libsrc/Makefile.dep +++ b/dcmect/libsrc/Makefile.dep @@ -1,24 +1,21 @@ -enhanced_ct.o: enhanced_ct.cc ../include/dcmtk/dcmect/enhanced_ct.h \ +enhanced_ct.o: enhanced_ct.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmect/def.h ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../include/dcmtk/dcmect/enhanced_ct.h ../include/dcmtk/dcmect/def.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../include/dcmtk/dcmect/types.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ + ../include/dcmtk/dcmect/types.h ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -36,102 +33,56 @@ enhanced_ct.o: enhanced_ct.cc ../include/dcmtk/dcmect/enhanced_ct.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ + ../../dcmfg/include/dcmtk/dcmfg/fg.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ - ../../dcmfg/include/dcmtk/dcmfg/fg.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ - ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modfor.h \ @@ -139,49 +90,51 @@ enhanced_ct.o: enhanced_ct.cc ../include/dcmtk/dcmect/enhanced_ct.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \ ../../ofstd/include/dcmtk/ofstd/ofvriant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \ - ../../ofstd/include/dcmtk/ofstd/diag/cnvrsn.def \ - ../../ofstd/include/dcmtk/ofstd/diag/vsprfw.def \ - ../../ofstd/include/dcmtk/ofstd/diag/arrybnds.def \ - ../../ofstd/include/dcmtk/ofstd/diag/unrefprm.def \ + ../../ofstd/include/dcmtk/ofstd/diag/stralias.def \ ../../dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h \ ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframefg.h \ - ../../dcmiod/include/dcmtk/dcmiod/modsynchronisation.h \ + ../../dcmiod/include/dcmtk/dcmiod/modsynchronization.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ ../../dcmfg/include/dcmtk/dcmfg/concatenationcreator.h \ ../../dcmfg/include/dcmtk/dcmfg/concatenationloader.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h -types.o: types.cc ../include/dcmtk/dcmect/types.h \ - ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmect/def.h ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodutil.h +types.o: types.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmect/types.h ../include/dcmtk/dcmect/def.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -199,91 +152,10 @@ types.o: types.cc ../include/dcmtk/dcmect/types.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/modbase.h + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h diff --git a/dcmect/libsrc/enhanced_ct.cc b/dcmect/libsrc/enhanced_ct.cc index 61937429..46e0aa68 100644 --- a/dcmect/libsrc/enhanced_ct.cc +++ b/dcmect/libsrc/enhanced_ct.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2021, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -18,12 +18,16 @@ * Purpose: Class representing a Enhanced CT object * */ + #include "dcmtk/config/osconfig.h" + #include "dcmtk/dcmect/enhanced_ct.h" -#include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dcuid.h" +#include "dcmtk/dcmdata/dcfilefo.h" +#include "dcmtk/dcmdata/dcpixel.h" #include "dcmtk/dcmect/types.h" #include "dcmtk/dcmfg/concatenationcreator.h" #include "dcmtk/dcmfg/concatenationloader.h" +#include "dcmtk/dcmfg/fgtypes.h" #include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmiod/modimagepixel.h" @@ -100,8 +104,19 @@ struct EctEnhancedCT::WriteVisitor m_CT.getRows(rows); m_CT.getColumns(cols); const size_t numFrames = m_CT.m_Frames.size(); + if (numFrames > 2147483647) + { + DCMECT_ERROR("More than 2147483647 frames provided"); + return FG_EC_PixelDataTooLarge; + } + const size_t numPixelsFrame = OFstatic_cast(size_t, rows) * OFstatic_cast(size_t, cols); const size_t numBytesFrame = m_CT.m_Frames[0]->length; - const size_t numPixelsFrame = rows * cols; + if (numBytesFrame != numPixelsFrame * 2) + { + DCMECT_ERROR("Invalid number of bytes per frame: Expected " << numPixelsFrame * 2 << " but got " + << numBytesFrame << " frame pixel data"); + return ECT_InvalidPixelInfo; + } // Creates the correct pixel data element, based on the image pixel module used. DcmPixelData* pixData = new DcmPixelData(DCM_PixelData); OFCondition result; @@ -380,8 +395,8 @@ struct EctEnhancedCT::GetFramesVisitor template EctEnhancedCT::EctEnhancedCT(OFin_place_type_t(ImagePixel)) : IODImage(OFin_place) - , m_SynchronisationModule() - , m_SynchronisationModuleEnabled(OFFalse) + , m_SynchronizationModule() + , m_SynchronizationModuleEnabled(OFFalse) , m_EnhancedGeneralEquipmentModule() , m_FG() , m_DimensionModule() @@ -741,17 +756,17 @@ IODFoRModule& EctEnhancedCT::getIODFrameOfReferenceModule() IODSynchronizationModule& EctEnhancedCT::getIODSynchronizationModule() { - return m_SynchronisationModule; + return m_SynchronizationModule; } -void EctEnhancedCT::setIODSynchronisationModuleEnabled(const OFBool enabled) +void EctEnhancedCT::setIODSynchronizationModuleEnabled(const OFBool enabled) { - m_SynchronisationModuleEnabled = enabled; + m_SynchronizationModuleEnabled = enabled; } -OFBool EctEnhancedCT::getIODSynchronisationModuleEnabled() +OFBool EctEnhancedCT::getIODSynchronizationModuleEnabled() { - return m_SynchronisationModuleEnabled; + return m_SynchronizationModuleEnabled; } IODGeneralEquipmentModule& EctEnhancedCT::getIODGeneralEquipmentModule() @@ -1086,8 +1101,8 @@ OFCondition EctEnhancedCT::writeConcatenation(ConcatenationCreator& cc) OFCondition EctEnhancedCT::writeGeneric(DcmItem& dataset) { OFCondition result; - if (m_SynchronisationModuleEnabled) - result = m_SynchronisationModule.write(dataset); + if (m_SynchronizationModuleEnabled) + result = m_SynchronizationModule.write(dataset); if (result.good()) result = m_FG.setNumberOfFrames( DcmIODUtil::limitMaxFrames(m_Frames.size(), "Maximum number of frames exceeded, will write 2147483647")); @@ -1175,7 +1190,7 @@ OFCondition EctEnhancedCT::readGeneric(DcmItem& dataset) } IODImage::read(dataset); - m_SynchronisationModule.read(dataset); + m_SynchronizationModule.read(dataset); m_EnhancedGeneralEquipmentModule.read(dataset); m_FG.read(dataset); m_DimensionModule.read(dataset); @@ -1210,9 +1225,9 @@ OFCondition EctEnhancedCT::decompress(DcmDataset& dset) { DcmXfer xfer = dset.getOriginalXfer(); OFCondition result; - // If the original transfer is encapsulated and we do not already have an uncompressed version, decompress or reject - // the file - if (xfer.isEncapsulated()) + // If the original transfer syntax refers to compressed pixel data and we do not + // already have an uncompressed version, decompress or reject the file + if (xfer.isPixelDataCompressed()) { DCMECT_DEBUG("Enhanced CT object is compressed, converting to uncompressed transfer syntax first"); result = DcmIODUtil::decompress(dset); diff --git a/dcmect/libsrc/types.cc b/dcmect/libsrc/types.cc index 2a2741ad..ad9fdb21 100644 --- a/dcmect/libsrc/types.cc +++ b/dcmect/libsrc/types.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,8 +19,9 @@ * */ -#include "dcmtk/dcmect/types.h" #include "dcmtk/config/osconfig.h" + +#include "dcmtk/dcmect/types.h" #include "dcmtk/dcmdata/dcerror.h" OFLogger DCM_dcmectLogger = OFLog::getLogger("dcmtk.dcmect"); diff --git a/dcmect/tests/CMakeLists.txt b/dcmect/tests/CMakeLists.txt index 5d66b114..89f73c38 100644 --- a/dcmect/tests/CMakeLists.txt +++ b/dcmect/tests/CMakeLists.txt @@ -1,7 +1,8 @@ # declare executables -DCMTK_ADD_EXECUTABLE(dcmect_tests +DCMTK_ADD_TEST_EXECUTABLE(dcmect_tests tests.cc t_huge_concat.cc + t_overflow.cc t_roundtrip.cc ) diff --git a/dcmect/tests/Makefile.dep b/dcmect/tests/Makefile.dep index 9d26f581..acafe2c0 100644 --- a/dcmect/tests/Makefile.dep +++ b/dcmect/tests/Makefile.dep @@ -8,10 +8,10 @@ t_huge_concat.o: t_huge_concat.cc \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../ofstd/include/dcmtk/ofstd/ofstrutl.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftempf.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -28,7 +28,6 @@ t_huge_concat.o: t_huge_concat.cc \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -55,92 +54,184 @@ t_huge_concat.o: t_huge_concat.cc \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../include/dcmtk/dcmect/enhanced_ct.h ../include/dcmtk/dcmect/def.h \ - ../include/dcmtk/dcmect/types.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../include/dcmtk/dcmect/enhanced_ct.h ../include/dcmtk/dcmect/def.h \ + ../include/dcmtk/dcmect/types.h \ + ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ + ../../dcmfg/include/dcmtk/dcmfg/fg.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ + ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ + ../../dcmiod/include/dcmtk/dcmiod/modfor.h \ + ../../dcmiod/include/dcmtk/dcmiod/modgeneralseries.h \ + ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ + ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ + ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ + ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \ + ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \ + ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \ + ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \ + ../../ofstd/include/dcmtk/ofstd/ofvriant.h \ + ../../ofstd/include/dcmtk/ofstd/diag/stralias.def \ + ../../dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h \ + ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \ + ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \ + ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \ + ../../dcmiod/include/dcmtk/dcmiod/modmultiframefg.h \ + ../../dcmiod/include/dcmtk/dcmiod/modsynchronization.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ + ../../dcmfg/include/dcmtk/dcmfg/concatenationcreator.h \ + ../../dcmfg/include/dcmtk/dcmfg/concatenationloader.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgctacquisitiondetails.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgctacquisitiontype.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgctadditionalxraysource.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgctexposure.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgctgeometry.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgctimageframetype.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgctposition.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgctreconstruction.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgcttabledynamics.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgctxraydetails.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgframevoilut.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgirradiationeventid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgpixeltransform.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgpixmsr.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgplanor.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgplanpo.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgtemporalposition.h +t_overflow.o: t_overflow.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmect/enhanced_ct.h ../include/dcmtk/dcmect/def.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../include/dcmtk/dcmect/types.h ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ ../../dcmfg/include/dcmtk/dcmfg/fg.h \ ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \ ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modfor.h \ @@ -148,32 +239,42 @@ t_huge_concat.o: t_huge_concat.cc \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \ ../../ofstd/include/dcmtk/ofstd/ofvriant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \ - ../../ofstd/include/dcmtk/ofstd/diag/cnvrsn.def \ - ../../ofstd/include/dcmtk/ofstd/diag/vsprfw.def \ - ../../ofstd/include/dcmtk/ofstd/diag/arrybnds.def \ - ../../ofstd/include/dcmtk/ofstd/diag/unrefprm.def \ + ../../ofstd/include/dcmtk/ofstd/diag/stralias.def \ ../../dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h \ ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframefg.h \ - ../../dcmiod/include/dcmtk/dcmiod/modsynchronisation.h \ - ../../dcmfg/include/dcmtk/dcmfg/concatenationcreator.h \ - ../../dcmfg/include/dcmtk/dcmfg/concatenationloader.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmiod/include/dcmtk/dcmiod/modsynchronization.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../ofstd/include/dcmtk/ofstd/oftempf.h \ + ../../ofstd/include/dcmtk/ofstd/oftest.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctacquisitiondetails.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctacquisitiontype.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctadditionalxraysource.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctexposure.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctgeometry.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctimageframetype.h \ @@ -182,16 +283,16 @@ t_huge_concat.o: t_huge_concat.cc \ ../../dcmfg/include/dcmtk/dcmfg/fgcttabledynamics.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctxraydetails.h \ ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ ../../dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgframevoilut.h \ ../../dcmfg/include/dcmtk/dcmfg/fgirradiationeventid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../../dcmfg/include/dcmtk/dcmfg/fgpixeltransform.h \ ../../dcmfg/include/dcmtk/dcmfg/fgpixmsr.h \ ../../dcmfg/include/dcmtk/dcmfg/fgplanor.h \ ../../dcmfg/include/dcmtk/dcmfg/fgplanpo.h \ ../../dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgtemporalposition.h + ../../dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h t_roundtrip.o: t_roundtrip.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ @@ -202,12 +303,11 @@ t_roundtrip.o: t_roundtrip.cc \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ - ../../ofstd/include/dcmtk/ofstd/ofstrutl.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftempf.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -222,7 +322,6 @@ t_roundtrip.o: t_roundtrip.cc \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -250,91 +349,44 @@ t_roundtrip.o: t_roundtrip.cc \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../include/dcmtk/dcmect/enhanced_ct.h ../include/dcmtk/dcmect/def.h \ ../include/dcmtk/dcmect/types.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ + ../../dcmfg/include/dcmtk/dcmfg/fg.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ - ../../dcmfg/include/dcmtk/dcmfg/fg.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ - ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modfor.h \ @@ -342,32 +394,37 @@ t_roundtrip.o: t_roundtrip.cc \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \ ../../ofstd/include/dcmtk/ofstd/ofvriant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \ - ../../ofstd/include/dcmtk/ofstd/diag/cnvrsn.def \ - ../../ofstd/include/dcmtk/ofstd/diag/vsprfw.def \ - ../../ofstd/include/dcmtk/ofstd/diag/arrybnds.def \ - ../../ofstd/include/dcmtk/ofstd/diag/unrefprm.def \ + ../../ofstd/include/dcmtk/ofstd/diag/stralias.def \ ../../dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h \ ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframefg.h \ - ../../dcmiod/include/dcmtk/dcmiod/modsynchronisation.h \ + ../../dcmiod/include/dcmtk/dcmiod/modsynchronization.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ ../../dcmfg/include/dcmtk/dcmfg/concatenationcreator.h \ ../../dcmfg/include/dcmtk/dcmfg/concatenationloader.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctacquisitiondetails.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctacquisitiontype.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctadditionalxraysource.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctexposure.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctgeometry.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctimageframetype.h \ @@ -376,15 +433,15 @@ t_roundtrip.o: t_roundtrip.cc \ ../../dcmfg/include/dcmtk/dcmfg/fgcttabledynamics.h \ ../../dcmfg/include/dcmtk/dcmfg/fgctxraydetails.h \ ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ ../../dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h \ ../../dcmfg/include/dcmtk/dcmfg/fgframevoilut.h \ ../../dcmfg/include/dcmtk/dcmfg/fgirradiationeventid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../../dcmfg/include/dcmtk/dcmfg/fgpixeltransform.h \ ../../dcmfg/include/dcmtk/dcmfg/fgpixmsr.h \ ../../dcmfg/include/dcmtk/dcmfg/fgplanor.h \ ../../dcmfg/include/dcmtk/dcmfg/fgplanpo.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h \ ../../dcmfg/include/dcmtk/dcmfg/fgtemporalposition.h tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ @@ -394,12 +451,12 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -410,7 +467,6 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ diff --git a/dcmect/tests/Makefile.in b/dcmect/tests/Makefile.in index da1f74f1..6558a041 100644 --- a/dcmect/tests/Makefile.in +++ b/dcmect/tests/Makefile.in @@ -24,10 +24,10 @@ LIBDIRS = -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc -L$(oflogdir)/libsrc \ -L$(oficonvdir)/libsrc LOCALLIBS = -ldcmect -ldcmfg -ldcmiod -ldcmdata -loflog -lofstd -loficonv \ $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS) -LOCALINCLUDES = -I$(top_srcdir)/include -I$(ofstddir)/include -I$(oflogdir)/include \ +LOCALINCLUDES = -I$(top_srcdir)/include -I$(configdir)/include -I$(ofstddir)/include -I$(oflogdir)/include \ -I$(dcmdatadir)/include -I$(dcmioddir)/include -I$(dcmfgdir)/include -test_objs = tests.o t_huge_concat.o t_roundtrip.o +test_objs = tests.o t_huge_concat.o t_overflow.o t_roundtrip.o objs = $(test_objs) progs = tests diff --git a/dcmect/tests/t_huge_concat.cc b/dcmect/tests/t_huge_concat.cc index 253b0d03..686552de 100644 --- a/dcmect/tests/t_huge_concat.cc +++ b/dcmect/tests/t_huge_concat.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2023, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,6 +27,9 @@ #include "dcmtk/ofstd/oftest.h" #include "dcmtk/dcmdata/dctypes.h" +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/dcmdata/dcdatset.h" +#include "dcmtk/dcmdata/dcfilefo.h" #include "dcmtk/dcmect/enhanced_ct.h" @@ -50,11 +53,8 @@ #include "dcmtk/dcmfg/fgpixmsr.h" #include "dcmtk/dcmfg/fgplanor.h" #include "dcmtk/dcmfg/fgplanpo.h" -#include "dcmtk/dcmfg/fgrealworldvaluemapping.h" #include "dcmtk/dcmfg/fgtemporalposition.h" -static OFLogger tRoundLogger = OFLog::getLogger("dcmtk.test.t_huge_concat"); - // Number of Rows of image, might be changed for testing purposes static const Uint16 NUM_ROWS = 4000; // Number of Columns of image, might be changed for testing purposes diff --git a/dcmect/tests/t_overflow.cc b/dcmect/tests/t_overflow.cc new file mode 100644 index 00000000..4e07a5c5 --- /dev/null +++ b/dcmect/tests/t_overflow.cc @@ -0,0 +1,362 @@ +/* + * + * Copyright (C) 2024, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmect + * + * Author: Daniel Berredo / Michael Onken + * + * Purpose: Tests that check for pixel data overflow conditions + * + */ + + +#include /* make sure OS specific configuration is included first */ + +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static const Uint16 NUM_ROWS = 1024; +static const Uint16 NUM_COLS = 1; +static const Uint16 NUM_FRAMES = 2; +static const size_t NUM_PIXELS_PER_FRAME = 1; + +static OFString EXPECTED_DUMP; + +static EctEnhancedCT *create(); +static void configureIOD(EctEnhancedCT *ct); +static void setGenericValues(EctEnhancedCT *ct); +static void addSharedFGs(EctEnhancedCT *ct); +static void addFrames(EctEnhancedCT *ct); +static void addDimensions(EctEnhancedCT *ct); + + +OFTEST(dcmect_overflow) +{ + /* make sure data dictionary is loaded */ + if (!dcmDataDict.isDictionaryLoaded()) + { + OFCHECK(dcmDataDict.isDictionaryLoaded()); + } + + // Creation + EctEnhancedCT *ct = create(); + configureIOD(ct); + setGenericValues(ct); + addSharedFGs(ct); + addFrames(ct); + addDimensions(ct); + + // Write to dataset and compare its dump with expected result + DcmFileFormat dcmff; + + OFTempFile tf(O_RDWR, "", "t_overflow", ".dcm"); + OFCondition result; + result = ct->saveFile("output.dcm", EXS_LittleEndianExplicit); + OFCHECK_MSG(result == ECT_InvalidPixelInfo, result.text()); +} + +static EctEnhancedCT *create() +{ + IODEnhGeneralEquipmentModule::EquipmentInfo eq("Open Connections", "OC CT", "4711", "0.1"); + EctEnhancedCT *ct = NULL; + OFCondition result; + result = EctEnhancedCT::create(ct, + NUM_ROWS, + NUM_COLS, + OFFalse, + EctTypes::E_ImageType1_Original, + EctTypes::DT_ImageType3_Volume, + EctTypes::DT_ImageType4_Maximum, + "1" /* instance number */, + EctTypes::E_ContQuali_Research, + EctTypes::E_PixelPres_Monochrome, + EctTypes::E_VolProps_Volume, + EctTypes::DT_VolBasedCalcTechnique_VolumeRender, + eq, + "20190801120000" /* acquisition date */, + 2.0 /* acquisition duration */); + + OFCHECK(result.good()); + OFCHECK(ct != OFnullptr); + return ct; +} + +static void configureIOD(EctEnhancedCT *ct) +{ + if (!ct) + return; +} + +static void setGenericValues(EctEnhancedCT *ct) +{ + if (!ct) + return; + OFCHECK(ct->getPatient().setPatientName("Bond^James").good()); + OFCHECK(ct->getPatient().setPatientID("007").good()); + OFCHECK(ct->getPatient().setPatientBirthDate("19771007").good()); + OFCHECK(ct->getStudy().setStudyDate("20190801").good()); + OFCHECK(ct->getStudy().setStudyTime("120000").good()); + OFCHECK(ct->getStudy().setStudyID("1").good()); + OFCHECK(ct->getPatientStudy().setPatientAge("040Y").good()); + OFCHECK(ct->getSeries().setSeriesDescription("Test Description").good()); + OFCHECK(ct->getSeries().setSeriesNumber("1").good()); + OFCHECK(ct->getSeries().setPatientPosition("HFS").good()); + + // Those values are usually computed automatically. UIDS are generated and date/times are set to current values. + // But in order to compare the "old" dump with the freshly created image attributes, we set some values manually, + // so that they are not overwritten with new, automatically created values later. + OFCHECK(ct->getStudy().setStudyInstanceUID("1.2.276.0.7230010.3.1.2.8323329.14863.1565940357.864811").good()); + OFCHECK(ct->getFrameOfReference().setFrameOfReferenceUID("2.25.30853397773651184949181049330553108086").good()); + OFCHECK(ct->getSeries().setSeriesInstanceUID("1.2.276.0.7230010.3.1.3.8323329.14863.1565940357.864812").good()); + OFCHECK(ct->getSOPCommon().setSOPInstanceUID("1.2.276.0.7230010.3.1.4.8323329.14863.1565940357.864813").good()); + + OFCHECK(ct->getIODMultiFrameFGModule().setContentTime("092557").good()); + OFCHECK(ct->getIODMultiFrameFGModule().setContentDate("20190816").good()); +} + +static void addSharedFGs(EctEnhancedCT *ct) +{ + if (!ct) + return; + + FGPixelMeasures meas; + OFCHECK(meas.setPixelSpacing("0.1\\0.1").good()); + OFCHECK(meas.setSliceThickness("1.0").good()); + OFCHECK(meas.setSpacingBetweenSlices("0.05").good()); + + FGPlanePosPatient planpo; + OFCHECK(planpo.setImagePositionPatient("0.0", "0.0", "0.0").good()); + + FGPlaneOrientationPatient planor; + OFCHECK(planor.setImageOrientationPatient("1.0", "0.0", "0.0", "0.0", "1.0", "0.0").good()); + + FGFrameAnatomy ana; + OFCHECK(ana.setLaterality(FGFrameAnatomy::LATERALITY_BOTH).good()); + OFCHECK(ana.getAnatomy().getAnatomicRegion().set("12738006", "SCT", "Brain").good()); + + FGIrradiationEventIdentification irr; + OFCHECK(irr.setIrradiationEventUID("2.25.30853892236613436472911970638347155062").good()); + + FGCTImageFrameType itype; + OFCHECK(itype.setFrameType("ORIGINAL\\PRIMARY\\VOLUME\\MAXIMUM").good()); + OFCHECK(itype.setPixelPresentation(FGCTImageFrameType::E_PixelPres_Monochrome).good()); + OFCHECK(itype.setVolumetricProperties(FGCTImageFrameType::E_VolProp_Volume).good()); + OFCHECK(itype.setVolumeBasedCalculationTechnique(FGCTImageFrameType::DT_VolBasedCalcTechnique_VolumeRender).good()); + + FGCTAcquisitionType atype; + OFCHECK(atype.setAcquisitionType(FGCTAcquisitionType::DT_AcquisitionType_ConstantAngle).good()); + OFCHECK(atype.setTubeAngle(0.1).good()); + OFCHECK(atype.setConstantVolumeFlag(FGCTAcquisitionType::E_ConstVol_Yes).good()); + OFCHECK(atype.setFluoroscopyFlag(FGCTAcquisitionType::E_Fluoroscopy_No).good()); + + FGCTAcquisitionDetails adetails; + FGCTAcquisitionDetails::FGCTAcquisitionDetailsItem *item = new FGCTAcquisitionDetails::FGCTAcquisitionDetailsItem(); + OFCHECK(item->setRotationDirection(FGCTAcquisitionDetails::E_RotationDirection_CW).good()); + OFCHECK(item->setRevolutionTime(5).good()); + OFCHECK(item->setSingleCollimationWidth(1).good()); + OFCHECK(item->setTotalCollimationWidth(10).good()); + OFCHECK(item->setTableHeight(50).good()); + OFCHECK(item->setGantryDetectorTilt(5).good()); + OFCHECK(item->setDataCollectionDiameter(20).good()); + adetails.getCTAcquisitionDetailsItems().push_back(item); + + FGCTTableDynamics dyn; + FGCTTableDynamics::FGCTTableDynamicsItem *dyn_item = new FGCTTableDynamics::FGCTTableDynamicsItem; + OFCHECK(dyn_item); + if (dyn_item) + { + OFCHECK(dyn_item->setTableSpeed(1.0).good()); + OFCHECK(dyn_item->setTableFeedPerRotation(0.1).good()); + OFCHECK(dyn_item->setSpiralPitchFactor(0.2).good()); + dyn.getCTTableDynamicsItems().push_back(dyn_item); + } + + FGCTPosition pos; + OFCHECK(pos.setTablePosition(100.0).good()); + OFCHECK(pos.setReconstructionTargetCenterPatient(OFVector(3, 1.0)).good()); + OFCHECK(pos.setDataCollectionCenterPatient(OFVector(3, 2.0)).good()); + + FGCTGeometry geo; + FGCTGeometry::FGCTGeometryItem *geo_item = new FGCTGeometry::FGCTGeometryItem; + if (geo_item) + { + OFCHECK(geo_item->setDistanceSourceToDataCollectionCenter(5.0).good()); + OFCHECK(geo_item->setDistanceSourceToDetector(0.5).good()); + geo.getCTGeometryItems().push_back(geo_item); + } + + FGCTReconstruction rec; + OFCHECK(rec.setConvolutionKernel("DUMMY").good()); + OFCHECK(rec.setConvolutionKernelGroup("DUMMYGROUP").good()); + OFCHECK(rec.setImageFilter("FILTER").good()); + OFCHECK(rec.setReconstructionAlgorithm("ALGO").good()); + OFCHECK(rec.setReconstructionAngle(90.0).good()); + OFCHECK(rec.setReconstructionDiameter(100.0).good()); + // Not permitted if Reconstruction Diameter is provided instead + // OFCHECK(rec.setReconstructionFieldOfView(100.0, 100.0).good()); + OFCHECK(rec.setReconstructionPixelSpacing(0.1, 0.1).good()); + + FGCTExposure exp; + FGCTExposure::FGCTExposureItem *exp_item = new FGCTExposure::FGCTExposureItem; + if (exp_item) + { + OFCHECK(exp_item->setCTDIVol(0.1).good()); + CodeSequenceMacro *phantom_item = new CodeSequenceMacro("113682", "DCM", "ACR Accreditation Phantom - CT"); + exp_item->getCTDIPhantomTypeCodeSequence().push_back(phantom_item); + OFCHECK(exp_item->setExposureInMas(0.3).good()); + OFCHECK(exp_item->setExposureModulationType("WEIRD").good()); + OFCHECK(exp_item->setExposureTimeInMs(0.4).good()); + OFCHECK(exp_item->setImageAndFluoroscopyAreaDoseProduct(0.5).good()); + OFCHECK(exp_item->setWaterEquivalentDiameter(0.6).good()); + CodeSequenceMacro *water_code = new CodeSequenceMacro("113987", "DCM", "AAPM 220"); + exp_item->getWaterEquivalentDiameterCalculationMethodCodeSequence().push_back(water_code); + OFCHECK(exp_item->setXRayTubeCurrentInMa(0.7).good()); + exp.getCTExposureItems().push_back(exp_item); + } + + FGCTXRayDetails det; + FGCTXRayDetails::FGCTXRayDetailsItem *det_item = new FGCTXRayDetails::FGCTXRayDetailsItem; + if (det_item) + { + OFCHECK(det_item->setCalciumScoringMassFactorDevice(OFVector(3, 1)).good()); + OFCHECK(det_item->setCalciumScoringMassFactorPatient(2).good()); + OFCHECK(det_item->setEnergyWeightingFactor(3).good()); + OFCHECK(det_item->setFilterMaterial("FILTER_MATERIAL").good()); + OFCHECK(det_item->setFilterType("FILTER_TYPE").good()); + OFCHECK(det_item->setFocalSpots(OFVector(4, 4.4)).good()); + OFCHECK(det_item->setKVP(5.0).good()); + det.getCTXRayDetailsItems().push_back(det_item); + } + + FGPixelValueTransformation trans; + trans.setFGType(FGPixelValueTransformation::E_PixelValTrans_CT); + trans.setRescaleIntercept("0"); + trans.setRescaleSlope("1"); + trans.setRescaleType("HU"); + + FGCTAdditionalXRaySource asrc; + FGCTAdditionalXRaySource::FGCTAdditionalXRaySourceItem *asrc_item = new FGCTAdditionalXRaySource::FGCTAdditionalXRaySourceItem; + if (asrc_item) + { + OFCHECK(asrc_item->setDataCollectionDiameter(1.0).good()); + OFCHECK(asrc_item->setEnergyWeightingFactor(2.0).good()); + OFCHECK(asrc_item->setExposureInmAs(3.0).good()); + OFCHECK(asrc_item->setFilterMaterial("FILTER_MATERIAL").good()); + OFCHECK(asrc_item->setFilterType("FILTER_TYPE").good()); + OFCHECK(asrc_item->setFocalSpots(OFVector(4, 4.4)).good()); + OFCHECK(asrc_item->setKVP(5).good()); + OFCHECK(asrc_item->setXRayTubeCurrentInmA(6).good()); + asrc.getCTAdditionalXRaySourceItems().push_back(asrc_item); + } + + OFCHECK(ct->addForAllFrames(meas).good()); + OFCHECK(ct->addForAllFrames(planpo).good()); + OFCHECK(ct->addForAllFrames(planor).good()); + OFCHECK(ct->addForAllFrames(ana).good()); + OFCHECK(ct->addForAllFrames(irr).good()); + OFCHECK(ct->addForAllFrames(itype).good()); + OFCHECK(ct->addForAllFrames(atype).good()); + OFCHECK(ct->addForAllFrames(adetails).good()); + OFCHECK(ct->addForAllFrames(dyn).good()); + OFCHECK(ct->addForAllFrames(pos).good()); + OFCHECK(ct->addForAllFrames(geo).good()); + OFCHECK(ct->addForAllFrames(rec).good()); + OFCHECK(ct->addForAllFrames(exp).good()); + OFCHECK(ct->addForAllFrames(det).good()); + OFCHECK(ct->addForAllFrames(trans).good()); + OFCHECK(ct->addForAllFrames(asrc).good()); +} + +static void addFrames(EctEnhancedCT *ct) +{ + if (!ct) + return; + + FGFrameContent *fg = new FGFrameContent(); + fg->setStackID("1"); + OFCHECK(fg); + if (fg) + { + EctEnhancedCT::FramesType frames = ct->getFrames(); + for (Uint16 frameNo = 1; frameNo <= NUM_FRAMES; frameNo++) + { + OFCHECK(fg->setFrameAcquisitionNumber(frameNo).good()); + OFCHECK(fg->setFrameReferenceDateTime("20190816092557").good()); + OFCHECK(fg->setFrameAcquisitionDateTime("20190816092557").good()); + OFCHECK(fg->setFrameAcquisitionDuration(0.001).good()); + OFCHECK(fg->setInStackPositionNumber(frameNo).good()); + OFCHECK(fg->setDimensionIndexValues(1, 0).good()); + OFCHECK(fg->setDimensionIndexValues(frameNo, 1).good()); + OFVector groups; + groups.push_back(fg); + + Uint16 *data = new Uint16[NUM_PIXELS_PER_FRAME]; + for (size_t i = 0; i < NUM_PIXELS_PER_FRAME; ++i) + { + data[i] = 0x4141; + } + OFCHECK( + OFget >(&frames)->addFrame(data, NUM_PIXELS_PER_FRAME, groups).good()); + delete[] data; + } + } + delete fg; +} + +static void addDimensions(EctEnhancedCT *ct) +{ + if (!ct) + return; + IODMultiframeDimensionModule &dims = ct->getDimensions(); + OFCHECK(dims.addDimensionIndex( + DCM_StackID, "2.25.30855560781715986879861690673941231222", DCM_FrameContentSequence, "STACK_DIM") + .good()); + OFCHECK(dims.addDimensionIndex(DCM_InStackPositionNumber, + "2.25.30855560781715986879861690673941231222", + DCM_FrameContentSequence, + "STACK_DIM") + .good()); + OFunique_ptr org( + new IODMultiframeDimensionModule::DimensionOrganizationItem); + if (org) + { + org->setDimensionOrganizationUID("2.25.30855560781715986879861690673941231222"); + dims.getDimensionOrganizationSequence().push_back(org.release()); + } +} + + diff --git a/dcmect/tests/t_roundtrip.cc b/dcmect/tests/t_roundtrip.cc index a55745c4..3d05322b 100644 --- a/dcmect/tests/t_roundtrip.cc +++ b/dcmect/tests/t_roundtrip.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2023, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,7 +22,6 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/ofstd/ofmem.h" -#include "dcmtk/ofstd/ofstrutl.h" #include "dcmtk/ofstd/oftempf.h" #include "dcmtk/ofstd/oftest.h" @@ -30,7 +29,9 @@ #include "dcmtk/dcmdata/dcxfer.h" #include "dcmtk/dcmdata/dcswap.h" - +#include "dcmtk/dcmdata/dcfilefo.h" +#include "dcmtk/dcmdata/dcdatset.h" +#include "dcmtk/dcmdata/dcdict.h" #include "dcmtk/dcmfg/concatenationcreator.h" #include "dcmtk/dcmfg/concatenationloader.h" #include "dcmtk/dcmfg/fgctacquisitiondetails.h" @@ -51,10 +52,9 @@ #include "dcmtk/dcmfg/fgpixmsr.h" #include "dcmtk/dcmfg/fgplanor.h" #include "dcmtk/dcmfg/fgplanpo.h" -#include "dcmtk/dcmfg/fgrealworldvaluemapping.h" #include "dcmtk/dcmfg/fgtemporalposition.h" -static OFLogger tRoundLogger = OFLog::getLogger("dcmtk.test.t_roundtrip"); +static OFLogger tRoundLogger = OFLog::getLogger("dcmtk.test.troundtrip"); // Do not change values below since // a) The expected dataset (dump) is made for these values diff --git a/dcmect/tests/tests.cc b/dcmect/tests/tests.cc index 54a6ca02..8639dc1a 100644 --- a/dcmect/tests/tests.cc +++ b/dcmect/tests/tests.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -23,5 +23,6 @@ #include "dcmtk/ofstd/oftest.h" OFTEST_REGISTER(dcmect_huge_concat); +OFTEST_REGISTER(dcmect_overflow); OFTEST_REGISTER(dcmect_roundtrip); OFTEST_MAIN("dcmect") diff --git a/dcmfg/include/dcmtk/dcmfg/concatenationcreator.h b/dcmfg/include/dcmtk/dcmfg/concatenationcreator.h index 959c0f3e..a247fd5b 100644 --- a/dcmfg/include/dcmtk/dcmfg/concatenationcreator.h +++ b/dcmfg/include/dcmtk/dcmfg/concatenationcreator.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,10 +23,14 @@ #define CONCATENATIONCREATOR_H #include "dcmtk/config/osconfig.h" - -#include "dcmtk/dcmdata/dctk.h" +#include "dcmtk/dcmdata/dcsequen.h" +#include "dcmtk/ofstd/ofcond.h" +#include "dcmtk/ofstd/offile.h" #include "dcmtk/dcmfg/fgdefine.h" +class DcmItem; +class DcmSequenceOfItems; + /** Class for creating Concatenations from existing SOP Instances. * As input, a user can either provide a full SOP Instance with Pixel Data * attribute, or a SOP Instance plus separate pixel data as a vector of frame data. diff --git a/dcmfg/include/dcmtk/dcmfg/concatenationloader.h b/dcmfg/include/dcmtk/dcmfg/concatenationloader.h index 1ba53cd8..ecd7f308 100644 --- a/dcmfg/include/dcmtk/dcmfg/concatenationloader.h +++ b/dcmfg/include/dcmtk/dcmfg/concatenationloader.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2020, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -26,11 +26,12 @@ #include "dcmtk/dcmfg/fgdefine.h" #include "dcmtk/dcmiod/iodtypes.h" -#include "dcmtk/dcmiod/iodutil.h" +#include "dcmtk/ofstd/offile.h" #include "dcmtk/ofstd/oflist.h" #include "dcmtk/ofstd/ofmap.h" class DcmDataset; +class DcmItem; /** Class for scanning files for concatenations and if desired, load * one of them. If successful, loading produces the merged SOP Instance diff --git a/dcmfg/include/dcmtk/dcmfg/fg.h b/dcmfg/include/dcmtk/dcmfg/fg.h index ddca09fe..3ec37382 100644 --- a/dcmfg/include/dcmtk/dcmfg/fg.h +++ b/dcmfg/include/dcmtk/dcmfg/fg.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,8 +24,6 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcsequen.h" -#include "dcmtk/dcmdata/dctagkey.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/dcmfg/fgtypes.h" #include "dcmtk/ofstd/ofmap.h" diff --git a/dcmfg/include/dcmtk/dcmfg/fgbase.h b/dcmfg/include/dcmtk/dcmfg/fgbase.h index 6eaf395c..9bc6bc4f 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgbase.h +++ b/dcmfg/include/dcmtk/dcmfg/fgbase.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -26,7 +26,6 @@ #include "dcmtk/dcmdata/dcitem.h" #include "dcmtk/dcmfg/fgtypes.h" -#include "dcmtk/ofstd/ofstd.h" /** Abstract base class for deriving specific functional groups */ diff --git a/dcmfg/include/dcmtk/dcmfg/fgctacquisitiondetails.h b/dcmfg/include/dcmtk/dcmfg/fgctacquisitiondetails.h index 0ab9024a..ffef7a4c 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgctacquisitiondetails.h +++ b/dcmfg/include/dcmtk/dcmfg/fgctacquisitiondetails.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2022, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,13 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrus.h" +#include "dcmtk/dcmdata/dcvrcs.h" +#include "dcmtk/dcmdata/dcvrfd.h" +#include "dcmtk/dcmdata/dcvrds.h" /** Class representing the "CT Acquisition Details" Functional Group Macro. */ diff --git a/dcmfg/include/dcmtk/dcmfg/fgctacquisitiontype.h b/dcmfg/include/dcmtk/dcmfg/fgctacquisitiontype.h index dca9b084..249a1b6d 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgctacquisitiontype.h +++ b/dcmfg/include/dcmtk/dcmfg/fgctacquisitiontype.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2022, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,10 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/ofstd/ofstring.h" -#include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrcs.h" +#include "dcmtk/dcmdata/dcvrfd.h" /** Class representing the "CT Acquisition Type" Functional Group Macro. */ diff --git a/dcmfg/include/dcmtk/dcmfg/fgctadditionalxraysource.h b/dcmfg/include/dcmtk/dcmfg/fgctadditionalxraysource.h index 9d2ab441..2e20a3a7 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgctadditionalxraysource.h +++ b/dcmfg/include/dcmtk/dcmfg/fgctadditionalxraysource.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -25,9 +25,13 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dcitem.h" -#include "dcmtk/dcmdata/dctk.h" // TODO: include only needed VRs #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/dcmfg/fgdefine.h" +#include "dcmtk/dcmdata/dcvrds.h" +#include "dcmtk/dcmdata/dcvrfd.h" +#include "dcmtk/dcmdata/dcvrfl.h" +#include "dcmtk/dcmdata/dcvrsh.h" +#include "dcmtk/dcmdata/dcvrcs.h" /** Class representing the CT Additional X-Ray Source Functional Group Macro. */ diff --git a/dcmfg/include/dcmtk/dcmfg/fgctexposure.h b/dcmfg/include/dcmtk/dcmfg/fgctexposure.h index 2d850179..53f1090c 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgctexposure.h +++ b/dcmfg/include/dcmtk/dcmfg/fgctexposure.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2021, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,11 +24,13 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrus.h" +#include "dcmtk/dcmdata/dcvrfd.h" +#include "dcmtk/dcmdata/dcvrds.h" #include diff --git a/dcmfg/include/dcmtk/dcmfg/fgctgeometry.h b/dcmfg/include/dcmtk/dcmfg/fgctgeometry.h index d6115533..541fd312 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgctgeometry.h +++ b/dcmfg/include/dcmtk/dcmfg/fgctgeometry.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,12 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrus.h" +#include "dcmtk/dcmdata/dcvrds.h" +#include "dcmtk/dcmdata/dcvrfd.h" /** Class representing the "CT Geometry" Functional Group Macro. */ diff --git a/dcmfg/include/dcmtk/dcmfg/fgctimageframetype.h b/dcmfg/include/dcmtk/dcmfg/fgctimageframetype.h index 96e7cf81..23eba2b6 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgctimageframetype.h +++ b/dcmfg/include/dcmtk/dcmfg/fgctimageframetype.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2022, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,9 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/ofstd/ofstring.h" -#include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrcs.h" /** Class representing the "CT Image Frame Type" Functional Group Macro. Can only be * used as per-frame functional group (never shared). diff --git a/dcmfg/include/dcmtk/dcmfg/fgctposition.h b/dcmfg/include/dcmtk/dcmfg/fgctposition.h index 40d1b0fa..9ddda177 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgctposition.h +++ b/dcmfg/include/dcmtk/dcmfg/fgctposition.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,10 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrfd.h" /** Class representing the "CT Position" Functional Group Macro. */ diff --git a/dcmfg/include/dcmtk/dcmfg/fgctreconstruction.h b/dcmfg/include/dcmtk/dcmfg/fgctreconstruction.h index dff6d93c..61ba36e6 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgctreconstruction.h +++ b/dcmfg/include/dcmtk/dcmfg/fgctreconstruction.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,13 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrcs.h" +#include "dcmtk/dcmdata/dcvrds.h" +#include "dcmtk/dcmdata/dcvrfd.h" +#include "dcmtk/dcmdata/dcvrsh.h" /** Class representing the "CT Reconstruction" Functional Group Macro. */ diff --git a/dcmfg/include/dcmtk/dcmfg/fgcttabledynamics.h b/dcmfg/include/dcmtk/dcmfg/fgcttabledynamics.h index 2cc6caf2..69765cb4 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgcttabledynamics.h +++ b/dcmfg/include/dcmtk/dcmfg/fgcttabledynamics.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,10 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrfd.h" /** Class representing the "CT Table Dynamics" Functional Group Macro. */ diff --git a/dcmfg/include/dcmtk/dcmfg/fgctxraydetails.h b/dcmfg/include/dcmtk/dcmfg/fgctxraydetails.h index 557fb2ef..7fe60f99 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgctxraydetails.h +++ b/dcmfg/include/dcmtk/dcmfg/fgctxraydetails.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,14 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrus.h" +#include "dcmtk/dcmdata/dcvrds.h" +#include "dcmtk/dcmdata/dcvrfl.h" +#include "dcmtk/dcmdata/dcvrcs.h" +#include "dcmtk/dcmdata/dcvrsh.h" /** Class representing the "CT X-Ray Details" Functional Group Macro. */ diff --git a/dcmfg/include/dcmtk/dcmfg/fgdefine.h b/dcmfg/include/dcmtk/dcmfg/fgdefine.h index 896dd70a..1be18c6d 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgdefine.h +++ b/dcmfg/include/dcmtk/dcmfg/fgdefine.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,7 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/ofstd/ofdefine.h" +#include "dcmtk/ofstd/ofexport.h" #ifdef dcmfg_EXPORTS #define DCMTK_DCMFG_EXPORT DCMTK_DECL_EXPORT diff --git a/dcmfg/include/dcmtk/dcmfg/fgderimg.h b/dcmfg/include/dcmtk/dcmfg/fgderimg.h index 6a3b7986..a8c3b139 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgderimg.h +++ b/dcmfg/include/dcmtk/dcmfg/fgderimg.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,14 @@ #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmdata/dcdatset.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrst.h" + +class DcmDataset; /** Class representing a single item of the Source Image Sequence */ @@ -187,14 +191,15 @@ public: * actually used. However, such information could be added to the source * image item later by modifying the resulting item being handed back to the * caller. - * @param dataset DICOM dataset that should be referenced by their UID + * @param dataset DICOM item that should be referenced by their UID, + * must contain SOP Class UID and SOP Instance UID. * @param purposeOfReference Code representing the purpose of reference * (Defined CID 7202) * @param resultSourceImageItem The created derivation image item if * successful, NULL otherwise * @return EC_Normal if adding works, error code otherwise */ - virtual OFCondition addSourceImageItem(DcmDataset* dataset, + virtual OFCondition addSourceImageItem(DcmItem* dataset, const CodeSequenceMacro& purposeOfReference, SourceImageItem*& resultSourceImageItem); @@ -222,7 +227,8 @@ public: * set which frames or segments from those images have been actually used. * However, such information could be added to the source image item later by * modifying the resulting item handed back to the caller. - * @param datasets List of datasets that should be referenced by their UIDs. + * @param datasets DICOM items that should be referenced by their UID, + * must contain SOP Class UID and SOP Instance UID. * @param purposeOfReference Code representing the purpose of reference * (Defined CID 7202) * @param resultSourceImageItems The created derivation image items (one per @@ -231,7 +237,7 @@ public: * not lead to error. * @return EC_Normal if adding works, error code otherwise */ - virtual OFCondition addSourceImageItems(const OFVector& datasets, + virtual OFCondition addSourceImageItems(const OFVector& datasets, const CodeSequenceMacro& purposeOfReference, OFVector& resultSourceImageItems, const OFBool skipErrors = OFFalse); @@ -276,6 +282,17 @@ public: */ virtual OFCondition write(DcmItem& itemOfDerivationImageSequence); + /** Get SOP Class and SOP Instance UID from given item + * @param dataset The item to read from + * @param sopClassUID The SOP Class UID found in the item + * @param sopInstanceUID The SOP Instance UID found in the item + * @return EC_Normal if reading was successful and both attributes + * have non-empty values, error otherwise + */ + static OFCondition getSOPInfoFromItem(DcmItem *dataset, + OFString &sopClassUID, + OFString &sopInstanceUID); + private: // DICOM attributes. // The comments for each attribute describe "Name: (VR, VM, Type)". @@ -399,6 +416,7 @@ public: virtual OFCondition write(DcmItem& item); private: + /// List of derivation image items making up the Derivation Image Sequence OFVector m_DerivationImageItems; }; diff --git a/dcmfg/include/dcmtk/dcmfg/fgfact.h b/dcmfg/include/dcmtk/dcmfg/fgfact.h index 72ce723f..26bb5e83 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgfact.h +++ b/dcmfg/include/dcmtk/dcmfg/fgfact.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -26,7 +26,6 @@ #include "dcmtk/dcmdata/dctagkey.h" #include "dcmtk/dcmfg/fgtypes.h" -#include "dcmtk/ofstd/ofmap.h" class FGBase; diff --git a/dcmfg/include/dcmtk/dcmfg/fgfracon.h b/dcmfg/include/dcmtk/dcmfg/fgfracon.h index e55d0f27..e8218cc6 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgfracon.h +++ b/dcmfg/include/dcmtk/dcmfg/fgfracon.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,16 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/ofstd/ofstring.h" -#include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrus.h" +#include "dcmtk/dcmdata/dcvrfd.h" +#include "dcmtk/dcmdata/dcvrdt.h" +#include "dcmtk/dcmdata/dcvrul.h" +#include "dcmtk/dcmdata/dcvrsh.h" +#include "dcmtk/dcmdata/dcvrlt.h" +#include "dcmtk/dcmdata/dcvrcs.h" +#include "dcmtk/dcmdata/dcvrlo.h" /** Class representing the "Frame Content" Functional Group Macro. Can only be * used as per-frame functional group (never shared). diff --git a/dcmfg/include/dcmtk/dcmfg/fgframevoilut.h b/dcmfg/include/dcmtk/dcmfg/fgframevoilut.h index 32e83796..1c9d094b 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgframevoilut.h +++ b/dcmfg/include/dcmtk/dcmfg/fgframevoilut.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -25,6 +25,9 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dcitem.h" +#include "dcmtk/dcmdata/dcvrcs.h" +#include "dcmtk/dcmdata/dcvrlo.h" +#include "dcmtk/dcmdata/dcvrds.h" #include "dcmtk/dcmfg/fgbase.h" /** Class representing the "Frame VOI LUT" Functional Group Macro diff --git a/dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h b/dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h index 1cb94bf7..e78e2a5f 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h +++ b/dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -26,6 +26,9 @@ #include "dcmtk/dcmdata/dcitem.h" #include "dcmtk/dcmfg/fgbase.h" +#include "dcmtk/dcmdata/dcvrcs.h" +#include "dcmtk/dcmdata/dcvrus.h" +#include "dcmtk/dcmdata/dcvrss.h" /** Class for managing Image Data Type Functional Group that identifies the * data type characteristics of this frame diff --git a/dcmfg/include/dcmtk/dcmfg/fginterface.h b/dcmfg/include/dcmtk/dcmfg/fginterface.h index 8570efea..c046cfc9 100644 --- a/dcmfg/include/dcmtk/dcmfg/fginterface.h +++ b/dcmfg/include/dcmtk/dcmfg/fginterface.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,15 +24,10 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcdatset.h" -#include "dcmtk/dcmdata/dcsequen.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fg.h" #include "dcmtk/dcmfg/fgdefine.h" #include "dcmtk/dcmfg/fgtypes.h" -#include "dcmtk/dcmiod/iodrules.h" #include "dcmtk/ofstd/ofmap.h" -#include "dcmtk/ofstd/ofvector.h" // Forward declaration class IODMultiframeDimensionModule; diff --git a/dcmfg/include/dcmtk/dcmfg/fgirradiationeventid.h b/dcmfg/include/dcmtk/dcmfg/fgirradiationeventid.h index 20ab2373..8a9cdbd6 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgirradiationeventid.h +++ b/dcmfg/include/dcmtk/dcmfg/fgirradiationeventid.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2022, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,9 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/ofstd/ofstring.h" -#include "dcmtk/ofstd/ofvector.h" +#include "dcmtk/dcmdata/dcvrui.h" /** Class representing the "Irradiation Event Identification" Functional Group Macro. */ diff --git a/dcmfg/include/dcmtk/dcmfg/fgplanor.h b/dcmfg/include/dcmtk/dcmfg/fgplanor.h index 6ffb3df0..2174bb37 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgplanor.h +++ b/dcmfg/include/dcmtk/dcmfg/fgplanor.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,8 +23,6 @@ #define FGPLANOR_H #include "dcmtk/config/osconfig.h" - -#include "dcmtk/dcmdata/dcsequen.h" #include "dcmtk/dcmdata/dcvrds.h" #include "dcmtk/dcmfg/fgbase.h" diff --git a/dcmfg/include/dcmtk/dcmfg/fgplanpo.h b/dcmfg/include/dcmtk/dcmfg/fgplanpo.h index c2557d60..47c56711 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgplanpo.h +++ b/dcmfg/include/dcmtk/dcmfg/fgplanpo.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,6 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcsequen.h" #include "dcmtk/dcmdata/dcvrds.h" #include "dcmtk/dcmfg/fgbase.h" diff --git a/dcmfg/include/dcmtk/dcmfg/fgplanposvol.h b/dcmfg/include/dcmtk/dcmfg/fgplanposvol.h index 037fb125..b2f59577 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgplanposvol.h +++ b/dcmfg/include/dcmtk/dcmfg/fgplanposvol.h @@ -25,6 +25,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dcitem.h" +#include "dcmtk/dcmdata/dcvrfd.h" #include "dcmtk/dcmfg/fgbase.h" /** Class representing the Plane Position (Volume) Functional Group that diff --git a/dcmfg/include/dcmtk/dcmfg/fgseg.h b/dcmfg/include/dcmtk/dcmfg/fgseg.h index 1a060df9..19136d9a 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgseg.h +++ b/dcmfg/include/dcmtk/dcmfg/fgseg.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -25,7 +25,6 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dcitem.h" -#include "dcmtk/dcmdata/dcsequen.h" #include "dcmtk/dcmdata/dcvrus.h" #include "dcmtk/dcmfg/fgbase.h" diff --git a/dcmfg/include/dcmtk/dcmfg/fgtemporalposition.h b/dcmfg/include/dcmtk/dcmfg/fgtemporalposition.h index 73365af5..5a1843c7 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgtemporalposition.h +++ b/dcmfg/include/dcmtk/dcmfg/fgtemporalposition.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -25,7 +25,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dcitem.h" -#include "dcmtk/dcmdata/dctk.h" // TODO: include only needed VRs +#include "dcmtk/dcmdata/dcvrfd.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/dcmfg/fgdefine.h" #include "dcmtk/dcmfg/fgtypes.h" diff --git a/dcmfg/include/dcmtk/dcmfg/fgtypes.h b/dcmfg/include/dcmtk/dcmfg/fgtypes.h index 0d19a59e..52e849ff 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgtypes.h +++ b/dcmfg/include/dcmtk/dcmfg/fgtypes.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,12 +24,13 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fgdefine.h" #include "dcmtk/oflog/oflog.h" +#include "dcmtk/ofstd/ofcond.h" class FGBase; class FunctionalGroups; +class DcmTagKey; /*-----------------------* * logging * diff --git a/dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h b/dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h index 35b0c587..59cb18ee 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h +++ b/dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -25,6 +25,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dcitem.h" +#include "dcmtk/dcmdata/dcvrcs.h" #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/dcmfg/fgtypes.h" diff --git a/dcmfg/include/dcmtk/dcmfg/stackinterface.h b/dcmfg/include/dcmtk/dcmfg/stackinterface.h index e1329c4b..6f42d20e 100644 --- a/dcmfg/include/dcmtk/dcmfg/stackinterface.h +++ b/dcmfg/include/dcmtk/dcmfg/stackinterface.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,6 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmfg/fginterface.h" #include "dcmtk/dcmfg/stack.h" #include "dcmtk/ofstd/ofmap.h" diff --git a/dcmfg/libsrc/Makefile.dep b/dcmfg/libsrc/Makefile.dep index 61f587ec..8ed93f8f 100644 --- a/dcmfg/libsrc/Makefile.dep +++ b/dcmfg/libsrc/Makefile.dep @@ -1,29 +1,28 @@ concatenationcreator.o: concatenationcreator.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -55,6 +54,7 @@ concatenationcreator.o: concatenationcreator.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -64,61 +64,12 @@ concatenationcreator.o: concatenationcreator.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../include/dcmtk/dcmfg/concatenationcreator.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../include/dcmtk/dcmfg/concatenationcreator.h \ ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgtypes.h concatenationloader.o: concatenationloader.cc \ ../../config/include/dcmtk/config/osconfig.h \ @@ -144,7 +95,6 @@ concatenationloader.o: concatenationloader.cc \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -177,88 +127,36 @@ concatenationloader.o: concatenationloader.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../include/dcmtk/dcmfg/concatenationloader.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h ../include/dcmtk/dcmfg/fg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../include/dcmtk/dcmfg/concatenationloader.h \ + ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgtypes.h fg.o: fg.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmfg/fg.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../include/dcmtk/dcmfg/fg.h ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -268,15 +166,69 @@ fg.o: fg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h +fgbase.o: fgbase.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -302,76 +254,25 @@ fg.o: fg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmfg/fgbase.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h -fgbase.o: fgbase.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h +fgctacquisitiondetails.o: fgctacquisitiondetails.cc \ + ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ @@ -386,6 +287,7 @@ fgbase.o: fgbase.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../include/dcmtk/dcmfg/fgctacquisitiondetails.h \ ../include/dcmtk/dcmfg/fgbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -395,7 +297,6 @@ fgbase.o: fgbase.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -428,89 +329,28 @@ fgbase.o: fgbase.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ - ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ - ../../dcmiod/include/dcmtk/dcmiod/modfor.h \ - ../../dcmiod/include/dcmtk/dcmiod/modgeneralseries.h \ - ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ - ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ - ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ - ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h -fgctacquisitiondetails.o: fgctacquisitiondetails.cc \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +fgctacquisitiontype.o: fgctacquisitiontype.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -526,8 +366,17 @@ fgctacquisitiondetails.o: fgctacquisitiondetails.cc \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgctacquisitiondetails.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmfg/fgctacquisitiontype.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -542,7 +391,6 @@ fgctacquisitiondetails.o: fgctacquisitiondetails.cc \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -554,91 +402,32 @@ fgctacquisitiondetails.o: fgctacquisitiondetails.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h -fgctacquisitiontype.o: fgctacquisitiontype.cc \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +fgctadditionalxraysource.o: fgctadditionalxraysource.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -654,8 +443,16 @@ fgctacquisitiontype.o: fgctacquisitiontype.cc \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgctacquisitiontype.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmfg/fgctadditionalxraysource.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -670,7 +467,6 @@ fgctacquisitiontype.o: fgctacquisitiontype.cc \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -682,91 +478,37 @@ fgctacquisitiontype.o: fgctacquisitiontype.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h -fgctadditionalxraysource.o: fgctadditionalxraysource.cc \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +fgctexposure.o: fgctexposure.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -782,7 +524,7 @@ fgctadditionalxraysource.o: fgctadditionalxraysource.cc \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgctadditionalxraysource.h \ + ../include/dcmtk/dcmfg/fgctexposure.h ../include/dcmtk/dcmfg/fgbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ @@ -791,7 +533,6 @@ fgctadditionalxraysource.o: fgctadditionalxraysource.cc \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -824,77 +565,35 @@ fgctadditionalxraysource.o: fgctadditionalxraysource.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h -fgctexposure.o: fgctexposure.cc \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +fgctgeometry.o: fgctgeometry.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -910,8 +609,16 @@ fgctexposure.o: fgctexposure.cc \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgctexposure.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmfg/fgctgeometry.h ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -926,7 +633,6 @@ fgctexposure.o: fgctexposure.cc \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -938,93 +644,33 @@ fgctexposure.o: fgctexposure.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h -fgctgeometry.o: fgctgeometry.cc \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +fgctimageframetype.o: fgctimageframetype.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1040,8 +686,17 @@ fgctgeometry.o: fgctgeometry.cc \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgctgeometry.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmfg/fgctimageframetype.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1056,7 +711,6 @@ fgctgeometry.o: fgctgeometry.cc \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -1068,91 +722,31 @@ fgctgeometry.o: fgctgeometry.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h -fgctimageframetype.o: fgctimageframetype.cc \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +fgctposition.o: fgctposition.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1168,8 +762,16 @@ fgctimageframetype.o: fgctimageframetype.cc \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgctimageframetype.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmfg/fgctposition.h ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1184,7 +786,6 @@ fgctimageframetype.o: fgctimageframetype.cc \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -1196,91 +797,30 @@ fgctimageframetype.o: fgctimageframetype.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h -fgctposition.o: fgctposition.cc \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +fgctreconstruction.o: fgctreconstruction.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1296,8 +836,17 @@ fgctposition.o: fgctposition.cc \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgctposition.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmfg/fgctreconstruction.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1312,7 +861,6 @@ fgctposition.o: fgctposition.cc \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -1324,91 +872,35 @@ fgctposition.o: fgctposition.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h -fgctreconstruction.o: fgctreconstruction.cc \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +fgcttabledynamics.o: fgcttabledynamics.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1424,8 +916,17 @@ fgctreconstruction.o: fgctreconstruction.cc \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgctreconstruction.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmfg/fgcttabledynamics.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1440,7 +941,6 @@ fgctreconstruction.o: fgctreconstruction.cc \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -1452,91 +952,30 @@ fgctreconstruction.o: fgctreconstruction.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h -fgcttabledynamics.o: fgcttabledynamics.cc \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +fgctxraydetails.o: fgctxraydetails.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1552,8 +991,16 @@ fgcttabledynamics.o: fgcttabledynamics.cc \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgcttabledynamics.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmfg/fgctxraydetails.h ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1568,7 +1015,6 @@ fgcttabledynamics.o: fgcttabledynamics.cc \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -1580,108 +1026,55 @@ fgcttabledynamics.o: fgcttabledynamics.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h -fgctxraydetails.o: fgctxraydetails.cc \ - ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +fgderimg.o: fgderimg.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgctxraydetails.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1696,7 +1089,6 @@ fgctxraydetails.o: fgctxraydetails.cc \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -1708,246 +1100,81 @@ fgctxraydetails.o: fgctxraydetails.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../include/dcmtk/dcmfg/fgderimg.h ../include/dcmtk/dcmfg/fgbase.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h -fgderimg.o: fgderimg.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +fgfact.o: fgfact.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmfg/fgctacquisitiondetails.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ - ../../oflog/include/dcmtk/oflog/config/defines.h \ - ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ - ../../oflog/include/dcmtk/oflog/loglevel.h \ - ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../oflog/include/dcmtk/oflog/tchar.h \ - ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ - ../../oflog/include/dcmtk/oflog/appender.h \ - ../../ofstd/include/dcmtk/ofstd/ofmem.h \ - ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ - ../../oflog/include/dcmtk/oflog/layout.h \ - ../../oflog/include/dcmtk/oflog/streams.h \ - ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ - ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ - ../../oflog/include/dcmtk/oflog/spi/filter.h \ - ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ - ../../oflog/include/dcmtk/oflog/spi/logfact.h \ - ../../oflog/include/dcmtk/oflog/logmacro.h \ - ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ - ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmfg/fgderimg.h ../include/dcmtk/dcmfg/fgbase.h \ - ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h -fgfact.o: fgfact.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmfg/fgctacquisitiondetails.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -1960,98 +1187,42 @@ fgfact.o: fgfact.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ ../include/dcmtk/dcmfg/fgctacquisitiontype.h \ ../include/dcmtk/dcmfg/fgctadditionalxraysource.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../include/dcmtk/dcmfg/fgctexposure.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../include/dcmtk/dcmfg/fgctgeometry.h \ ../include/dcmtk/dcmfg/fgctimageframetype.h \ @@ -2059,12 +1230,21 @@ fgfact.o: fgfact.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmfg/fgctreconstruction.h \ ../include/dcmtk/dcmfg/fgcttabledynamics.h \ ../include/dcmtk/dcmfg/fgctxraydetails.h \ - ../include/dcmtk/dcmfg/fgderimg.h ../include/dcmtk/dcmfg/fgfact.h \ - ../include/dcmtk/dcmfg/fgfracon.h \ + ../include/dcmtk/dcmfg/fgderimg.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../include/dcmtk/dcmfg/fgfact.h ../include/dcmtk/dcmfg/fgfracon.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ ../include/dcmtk/dcmfg/fgframeanatomy.h \ ../include/dcmtk/dcmfg/fgframevoilut.h \ ../include/dcmtk/dcmfg/fgimagedatatype.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ ../include/dcmtk/dcmfg/fgirradiationeventid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../include/dcmtk/dcmfg/fgparametricmapframetype.h \ ../include/dcmtk/dcmfg/fgpixeltransform.h \ ../include/dcmtk/dcmfg/fgpixmsr.h ../include/dcmtk/dcmfg/fgplanor.h \ @@ -2076,7 +1256,7 @@ fgfact.o: fgfact.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmfg/fgtemporalposition.h \ ../include/dcmtk/dcmfg/fgusimagedescription.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h fgfracon.o: fgfracon.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -2092,8 +1272,16 @@ fgfracon.o: fgfracon.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgfracon.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmfg/fgfracon.h ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -2108,7 +1296,6 @@ fgfracon.o: fgfracon.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -2120,90 +1307,39 @@ fgfracon.o: fgfracon.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h fgframeanatomy.o: fgframeanatomy.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -2229,7 +1365,6 @@ fgframeanatomy.o: fgframeanatomy.cc \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2262,78 +1397,33 @@ fgframeanatomy.o: fgframeanatomy.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgframevoilut.o: fgframevoilut.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -2359,7 +1449,6 @@ fgframevoilut.o: fgframevoilut.cc \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2392,76 +1481,28 @@ fgframevoilut.o: fgframevoilut.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgimagedatatype.o: fgimagedatatype.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -2487,7 +1528,6 @@ fgimagedatatype.o: fgimagedatatype.cc \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2520,87 +1560,39 @@ fgimagedatatype.o: fgimagedatatype.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fginterface.o: fginterface.cc \ ../../config/include/dcmtk/config/osconfig.h ../include/dcmtk/dcmfg/fg.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -2610,15 +1602,7 @@ fginterface.o: fginterface.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -2644,81 +1628,26 @@ fginterface.o: fginterface.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmfg/fgbase.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgfact.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h ../include/dcmtk/dcmfg/fgfact.h \ ../include/dcmtk/dcmfg/fginterface.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h fgirradiationeventid.o: fgirradiationeventid.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -2736,7 +1665,16 @@ fgirradiationeventid.o: fgirradiationeventid.cc \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmfg/fgirradiationeventid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -2751,7 +1689,6 @@ fgirradiationeventid.o: fgirradiationeventid.cc \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -2763,90 +1700,30 @@ fgirradiationeventid.o: fgirradiationeventid.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgparametricmapframetype.o: fgparametricmapframetype.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -2872,7 +1749,6 @@ fgparametricmapframetype.o: fgparametricmapframetype.cc \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2905,6 +1781,7 @@ fgparametricmapframetype.o: fgparametricmapframetype.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -2913,68 +1790,16 @@ fgparametricmapframetype.o: fgparametricmapframetype.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgpixeltransform.o: fgpixeltransform.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -3001,7 +1826,6 @@ fgpixeltransform.o: fgpixeltransform.cc \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -3034,6 +1858,7 @@ fgpixeltransform.o: fgpixeltransform.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -3044,65 +1869,16 @@ fgpixeltransform.o: fgpixeltransform.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgpixmsr.o: fgpixmsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -3127,7 +1903,6 @@ fgpixmsr.o: fgpixmsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -3160,6 +1935,7 @@ fgpixmsr.o: fgpixmsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -3168,68 +1944,16 @@ fgpixmsr.o: fgpixmsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgplanor.o: fgplanor.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -3246,8 +1970,7 @@ fgplanor.o: fgplanor.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmfg/fgfact.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../include/dcmtk/dcmfg/fgdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -3273,90 +1996,40 @@ fgplanor.o: fgplanor.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../include/dcmtk/dcmfg/fgplanor.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgplanor.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgplanorvol.o: fgplanorvol.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -3409,6 +2082,7 @@ fgplanorvol.o: fgplanorvol.cc \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../include/dcmtk/dcmfg/fgplanorvol.h \ @@ -3417,74 +2091,20 @@ fgplanorvol.o: fgplanorvol.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgplanpo.o: fgplanpo.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -3501,8 +2121,7 @@ fgplanpo.o: fgplanpo.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmfg/fgfact.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../include/dcmtk/dcmfg/fgdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -3528,90 +2147,40 @@ fgplanpo.o: fgplanpo.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../include/dcmtk/dcmfg/fgplanpo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgplanpo.h \ - ../include/dcmtk/dcmfg/fgbase.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgplanposvol.o: fgplanposvol.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -3637,7 +2206,6 @@ fgplanposvol.o: fgplanposvol.cc \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -3670,102 +2238,45 @@ fgplanposvol.o: fgplanposvol.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgrealworldvaluemapping.o: fgrealworldvaluemapping.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../include/dcmtk/dcmfg/fgrealworldvaluemapping.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmfg/fgrealworldvaluemapping.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -3792,85 +2303,46 @@ fgrealworldvaluemapping.o: fgrealworldvaluemapping.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgseg.o: fgseg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -3895,7 +2367,6 @@ fgseg.o: fgseg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -3918,86 +2389,34 @@ fgseg.o: fgseg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ ../../oflog/include/dcmtk/oflog/spi/filter.h \ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ - ../../oflog/include/dcmtk/oflog/spi/logfact.h \ - ../../oflog/include/dcmtk/oflog/logmacro.h \ - ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ - ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgtemporalposition.o: fgtemporalposition.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -4023,7 +2442,6 @@ fgtemporalposition.o: fgtemporalposition.cc \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -4056,76 +2474,24 @@ fgtemporalposition.o: fgtemporalposition.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h fgtypes.o: fgtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ @@ -4134,23 +2500,17 @@ fgtypes.o: fgtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../include/dcmtk/dcmfg/fgbase.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -4164,6 +2524,7 @@ fgtypes.o: fgtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -4174,97 +2535,7 @@ fgtypes.o: fgtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/spi/logfact.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ - ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ - ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ - ../../dcmiod/include/dcmtk/dcmiod/modfor.h \ - ../../dcmiod/include/dcmtk/dcmiod/modgeneralseries.h \ - ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ - ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ - ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ - ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h + ../../oflog/include/dcmtk/oflog/tracelog.h fgusimagedescription.o: fgusimagedescription.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -4290,7 +2561,6 @@ fgusimagedescription.o: fgusimagedescription.cc \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -4323,83 +2593,32 @@ fgusimagedescription.o: fgusimagedescription.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h stack.o: stack.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmfg/stack.h ../include/dcmtk/dcmfg/fgdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ @@ -4411,29 +2630,41 @@ stack.o: stack.cc ../../config/include/dcmtk/config/osconfig.h \ stackinterface.o: stackinterface.cc \ ../include/dcmtk/dcmfg/stackinterface.h \ ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmfg/fginterface.h ../include/dcmtk/dcmfg/fg.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -4446,95 +2677,39 @@ stackinterface.o: stackinterface.cc \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h ../include/dcmtk/dcmfg/stack.h \ + ../include/dcmtk/dcmfg/fgfracon.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fginterface.h ../include/dcmtk/dcmfg/fg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../include/dcmtk/dcmfg/stack.h ../include/dcmtk/dcmfg/fgfracon.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h diff --git a/dcmfg/libsrc/concatenationcreator.cc b/dcmfg/libsrc/concatenationcreator.cc index 5db94a46..7143b0bc 100644 --- a/dcmfg/libsrc/concatenationcreator.cc +++ b/dcmfg/libsrc/concatenationcreator.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2022, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -21,11 +21,12 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcitem.h" #include "dcmtk/dcmdata/dcpixel.h" #include "dcmtk/dcmdata/dcuid.h" +#include "dcmtk/dcmdata/dcvris.h" +#include "dcmtk/dcmdata/dcfilefo.h" #include "dcmtk/dcmfg/concatenationcreator.h" #include "dcmtk/dcmfg/fgtypes.h" diff --git a/dcmfg/libsrc/concatenationloader.cc b/dcmfg/libsrc/concatenationloader.cc index f8df3669..d7a81f56 100644 --- a/dcmfg/libsrc/concatenationloader.cc +++ b/dcmfg/libsrc/concatenationloader.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2022, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,10 +23,10 @@ #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcitem.h" -#include "dcmtk/dcmdata/dcpixel.h" #include "dcmtk/dcmdata/dcuid.h" +#include "dcmtk/dcmdata/dcfilefo.h" +#include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmfg/concatenationloader.h" -#include "dcmtk/dcmfg/fg.h" #include "dcmtk/dcmfg/fgtypes.h" #include "dcmtk/ofstd/ofstd.h" diff --git a/dcmfg/libsrc/fgbase.cc b/dcmfg/libsrc/fgbase.cc index 20faaa92..12c570de 100644 --- a/dcmfg/libsrc/fgbase.cc +++ b/dcmfg/libsrc/fgbase.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -21,9 +21,8 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmfg/fgbase.h" -#include "dcmtk/dcmiod/iodcommn.h" // for static element helpers +#include "dcmtk/dcmdata/dcsequen.h" FGBase::FGBase(const DcmFGTypes::E_FGType fgType) : m_fgType(fgType) diff --git a/dcmfg/libsrc/fgctxraydetails.cc b/dcmfg/libsrc/fgctxraydetails.cc index d121f6c4..5db7ff99 100644 --- a/dcmfg/libsrc/fgctxraydetails.cc +++ b/dcmfg/libsrc/fgctxraydetails.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2021, Open Connections GmbH + * Copyright (C) 2019-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,6 @@ #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmfg/fgctxraydetails.h" #include "dcmtk/dcmfg/fgtypes.h" -#include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/dcmiod/iodutil.h" // Constructor diff --git a/dcmfg/libsrc/fgderimg.cc b/dcmfg/libsrc/fgderimg.cc index f36e9c96..84ddd0a1 100644 --- a/dcmfg/libsrc/fgderimg.cc +++ b/dcmfg/libsrc/fgderimg.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2019, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -21,8 +21,8 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcdatutl.h" #include "dcmtk/dcmdata/dcitem.h" +#include "dcmtk/dcmdata/dcfilefo.h" #include "dcmtk/dcmfg/fgderimg.h" #include "dcmtk/dcmiod/iodutil.h" @@ -459,7 +459,7 @@ OFCondition DerivationImageItem::addSourceImageItem(const OFString& file, return addSourceImageItem(dataset, purposeOfReference, resultSourceImageItem); } -OFCondition DerivationImageItem::addSourceImageItem(DcmDataset* dataset, +OFCondition DerivationImageItem::addSourceImageItem(DcmItem* dataset, const CodeSequenceMacro& purposeOfReference, SourceImageItem*& resultSourceImageItem) { @@ -481,7 +481,7 @@ OFCondition DerivationImageItem::addSourceImageItem(DcmDataset* dataset, resultSourceImageItem = NULL; OFString sopClass, sopInstance, ts; OFCondition result - = DcmDataUtil::getSOPInstanceFromDataset(dataset, EXS_Unknown, sopClass, sopInstance, ts /*ignored*/); + = DerivationImageItem::getSOPInfoFromItem(dataset, sopClass, sopInstance); { if (result.good()) result = item->getImageSOPInstanceReference().setReferencedSOPClassUID(sopClass); @@ -509,7 +509,7 @@ OFCondition DerivationImageItem::addSourceImageItems(const OFVector& f DcmFileFormat dcmff; OFCondition result; DcmDataset* dataset = NULL; - OFVector datasets; + OFVector datasets; OFVector::const_iterator it = files.begin(); while (it != files.end()) { @@ -526,13 +526,13 @@ OFCondition DerivationImageItem::addSourceImageItems(const OFVector& f return addSourceImageItems(datasets, purposeOfReference, resultSourceImageItems, skipErrors); } -OFCondition DerivationImageItem::addSourceImageItems(const OFVector& datasets, +OFCondition DerivationImageItem::addSourceImageItems(const OFVector& datasets, const CodeSequenceMacro& purposeOfReference, OFVector& resultSourceImageItems, const OFBool skipErrors) { OFCondition result; - OFVector::const_iterator it = datasets.begin(); + OFVector::const_iterator it = datasets.begin(); while (it != datasets.end()) { SourceImageItem* resultItem = NULL; @@ -636,3 +636,23 @@ OFCondition DerivationImageItem::write(DcmItem& itemOfDerivationImageSequence) return result; } + + +OFCondition DerivationImageItem::getSOPInfoFromItem(DcmItem *dataset, + OFString &sopClassUID, + OFString &sopInstanceUID) +{ + OFCondition status = EC_IllegalParameter; + // check for invalid dataset pointer + if (dataset != NULL) + { + DCMDATA_DEBUG("Getting SOP Class UID and SOP Instance UID from DICOM item"); + sopClassUID.clear(); + sopInstanceUID.clear(); + + status = dataset->findAndGetOFStringArray(DCM_SOPClassUID, sopClassUID); + if (status.good()) dataset->findAndGetOFStringArray(DCM_SOPInstanceUID, sopInstanceUID); + if (status.good() && (sopClassUID.empty() || sopInstanceUID.empty()) ) status = EC_MissingValue; + } + return status; +} diff --git a/dcmfg/libsrc/fgframevoilut.cc b/dcmfg/libsrc/fgframevoilut.cc index 214fe9cc..01fc798b 100644 --- a/dcmfg/libsrc/fgframevoilut.cc +++ b/dcmfg/libsrc/fgframevoilut.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by diff --git a/dcmfg/libsrc/fginterface.cc b/dcmfg/libsrc/fginterface.cc index 12bd0e4e..046d9116 100644 --- a/dcmfg/libsrc/fginterface.cc +++ b/dcmfg/libsrc/fginterface.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,9 +24,10 @@ #include "dcmtk/dcmfg/fg.h" #include "dcmtk/dcmfg/fgfact.h" // for creating new functional groups #include "dcmtk/dcmfg/fginterface.h" -#include "dcmtk/dcmiod/iodutil.h" // for static helpers #include "dcmtk/ofstd/ofmap.h" #include "dcmtk/ofstd/ofmem.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcsequen.h" FGInterface::FGInterface() : m_shared() diff --git a/dcmfg/libsrc/fgplanposvol.cc b/dcmfg/libsrc/fgplanposvol.cc index 1980fd8b..31725b96 100644 --- a/dcmfg/libsrc/fgplanposvol.cc +++ b/dcmfg/libsrc/fgplanposvol.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by diff --git a/dcmfg/libsrc/fgrealworldvaluemapping.cc b/dcmfg/libsrc/fgrealworldvaluemapping.cc index e5e8b19b..e545165f 100644 --- a/dcmfg/libsrc/fgrealworldvaluemapping.cc +++ b/dcmfg/libsrc/fgrealworldvaluemapping.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -21,8 +21,11 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmfg/fgrealworldvaluemapping.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcvrss.h" +#include "dcmtk/dcmdata/dcvrus.h" +#include "dcmtk/dcmdata/dcvrsh.h" #include "dcmtk/dcmiod/iodutil.h" const OFString FGRealWorldValueMapping::RWVMItem::m_ModuleName = "RealWorldValueMappingItemMacro"; diff --git a/dcmfg/libsrc/fgtypes.cc b/dcmfg/libsrc/fgtypes.cc index 0ff72e4f..1a353668 100644 --- a/dcmfg/libsrc/fgtypes.cc +++ b/dcmfg/libsrc/fgtypes.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -22,10 +22,8 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dcerror.h" -#include "dcmtk/dcmfg/fgbase.h" -#include "dcmtk/dcmfg/fgdefine.h" +#include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmfg/fgtypes.h" -#include "dcmtk/dcmiod/iodcommn.h" OFLogger DCM_dcmfgLogger = OFLog::getLogger("dcmtk.dcmfg"); diff --git a/dcmfg/tests/CMakeLists.txt b/dcmfg/tests/CMakeLists.txt index 1f3023f4..92b125b5 100644 --- a/dcmfg/tests/CMakeLists.txt +++ b/dcmfg/tests/CMakeLists.txt @@ -1,5 +1,5 @@ # declare executables -DCMTK_ADD_EXECUTABLE(dcmfg_tests +DCMTK_ADD_TEST_EXECUTABLE(dcmfg_tests tests.cc t_concatenation_creator.cc t_concatenation_loader.cc diff --git a/dcmfg/tests/Makefile.dep b/dcmfg/tests/Makefile.dep index a6ac492c..7e1d85a9 100644 --- a/dcmfg/tests/Makefile.dep +++ b/dcmfg/tests/Makefile.dep @@ -1,29 +1,46 @@ t_concatenation_creator.o: t_concatenation_creator.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmfg/concatenationcreator.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -35,90 +52,13 @@ t_concatenation_creator.o: t_concatenation_creator.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgtypes.h \ ../../ofstd/include/dcmtk/ofstd/oftempf.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ @@ -126,28 +66,33 @@ t_concatenation_creator.o: t_concatenation_creator.cc \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h t_concatenation_loader.o: t_concatenation_loader.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmfg/concatenationloader.h \ ../include/dcmtk/dcmfg/fgdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -170,15 +115,15 @@ t_concatenation_loader.o: t_concatenation_loader.cc \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -187,107 +132,69 @@ t_concatenation_loader.o: t_concatenation_loader.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../ofstd/include/dcmtk/ofstd/ofstrutl.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h t_ct_acquisition_details.o: t_ct_acquisition_details.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmfg/fgctacquisitiondetails.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -300,126 +207,72 @@ t_ct_acquisition_details.o: t_ct_acquisition_details.cc \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fginterface.h \ - ../include/dcmtk/dcmfg/fg.h ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h t_ct_acquisition_type.o: t_ct_acquisition_type.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmfg/fgctacquisitiontype.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -432,126 +285,70 @@ t_ct_acquisition_type.o: t_ct_acquisition_type.cc \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fginterface.h \ - ../include/dcmtk/dcmfg/fg.h ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h t_ct_image_frame_type.o: t_ct_image_frame_type.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmfg/fgctimageframetype.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -564,126 +361,68 @@ t_ct_image_frame_type.o: t_ct_image_frame_type.cc \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fginterface.h \ - ../include/dcmtk/dcmfg/fg.h ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h t_ct_position.o: t_ct_position.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmfg/fgctposition.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmfg/fgctposition.h ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -696,126 +435,68 @@ t_ct_position.o: t_ct_position.cc \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fginterface.h \ - ../include/dcmtk/dcmfg/fg.h ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h t_ct_table_dynamics.o: t_ct_table_dynamics.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmfg/fgcttabledynamics.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -828,103 +509,35 @@ t_ct_table_dynamics.o: t_ct_table_dynamics.cc \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fginterface.h \ - ../include/dcmtk/dcmfg/fg.h ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h t_deriv_image.o: t_deriv_image.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmfg/fgderimg.h ../include/dcmtk/dcmfg/fgbase.h \ + ../include/dcmtk/dcmfg/fgderimg.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -932,8 +545,8 @@ t_deriv_image.o: t_deriv_image.cc \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -943,7 +556,6 @@ t_deriv_image.o: t_deriv_image.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -977,86 +589,42 @@ t_deriv_image.o: t_deriv_image.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ + ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ ../include/dcmtk/dcmfg/fginterface.h ../include/dcmtk/dcmfg/fg.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h t_fg_base.o: t_fg_base.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmfg/fgbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -1066,8 +634,8 @@ t_fg_base.o: t_fg_base.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -1077,7 +645,6 @@ t_fg_base.o: t_fg_base.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1111,106 +678,60 @@ t_fg_base.o: t_fg_base.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmfg/fgtypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgdefine.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h t_frame_content.o: t_frame_content.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmfg/fgfracon.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmfg/fgfracon.h ../include/dcmtk/dcmfg/fgbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -1223,105 +744,48 @@ t_frame_content.o: t_frame_content.cc \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ - ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fginterface.h \ - ../include/dcmtk/dcmfg/fg.h ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h t_irradiation_event_identification.o: \ t_irradiation_event_identification.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmfg/fginterface.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../include/dcmtk/dcmfg/fgirradiationeventid.h \ + ../include/dcmtk/dcmfg/fgbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -1329,8 +793,8 @@ t_irradiation_event_identification.o: \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -1340,7 +804,6 @@ t_irradiation_event_identification.o: \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1374,83 +837,26 @@ t_irradiation_event_identification.o: \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmfg/fg.h ../include/dcmtk/dcmfg/fgbase.h \ ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../include/dcmtk/dcmfg/fgirradiationeventid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ @@ -1459,12 +865,12 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -1475,7 +881,6 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ diff --git a/dcmfg/tests/t_concatenation_creator.cc b/dcmfg/tests/t_concatenation_creator.cc index cdf8e9d3..3ad74bc1 100644 --- a/dcmfg/tests/t_concatenation_creator.cc +++ b/dcmfg/tests/t_concatenation_creator.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,10 +24,10 @@ #include "dcmtk/dcmfg/concatenationcreator.h" #include "dcmtk/dcmfg/fgtypes.h" #include "dcmtk/ofstd/ofstd.h" -#include "dcmtk/ofstd/ofstream.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/oftempf.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcfilefo.h" // NEMA CT Test files are available at: // ftp://medical.nema.org/medical/dicom/Multiframe/CT/nemamfct.images.tar.bz2 diff --git a/dcmfg/tests/t_concatenation_loader.cc b/dcmfg/tests/t_concatenation_loader.cc index 1776571b..72926132 100644 --- a/dcmfg/tests/t_concatenation_loader.cc +++ b/dcmfg/tests/t_concatenation_loader.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2022, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,14 +22,18 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmfg/concatenationloader.h" -#include "dcmtk/dcmfg/fgtypes.h" #include "dcmtk/dcmiod/iodtypes.h" +#include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/ofstd/ofmap.h" #include "dcmtk/ofstd/ofstd.h" #include "dcmtk/ofstd/ofstream.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofstrutl.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/dcmdata/dcfilefo.h" +#include "dcmtk/dcmdata/dcvrui.h" +#include "dcmtk/dcmdata/dcdeftag.h" // Path to NEMA example data with trailing slash static OFString NEMA_ENHANCED_CT_DIR = "/home/michael/data/dcm/nema_mf/DISCIMG/IMAGES/"; @@ -232,8 +236,7 @@ static void prepare_dset_dump() DSET_DUMP += "(0008,0201) SH [-0400] # 6, 1 TimezoneOffsetFromUTC\n"; DSET_DUMP += "(0008,1010) SH [CONSOLE01] # 10, 1 StationName\n"; DSET_DUMP += "(0008,1030) LO (no value available) # 0, 0 StudyDescription\n"; - DSET_DUMP += "(0008,103e) LO [Shared dimensions and stacks across series and concatenations] # 62, 1 " - "SeriesDescription\n"; + DSET_DUMP += "(0008,103e) LO [Shared dimensions and stacks across series and concatenations] # 62, 1 SeriesDescription\n"; DSET_DUMP += "(0008,1050) PN [Smith^John] # 10, 1 PerformingPhysicianName\n"; DSET_DUMP += "(0008,1060) PN [Smith^John] # 10, 1 NameOfPhysiciansReadingStudy\n"; DSET_DUMP += "(0008,1070) PN [Jones^Molly] # 12, 1 OperatorsName\n"; @@ -245,8 +248,7 @@ static void prepare_dset_dump() DSET_DUMP += " (0008,1199) SQ (Sequence with undefined length #=1) # u/l, 1 ReferencedSOPSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=2) # u/l, 1 Item\n"; DSET_DUMP += " (0008,1150) UI =RawDataStorage # 26, 1 ReferencedSOPClassUID\n"; - DSET_DUMP += " (0008,1155) UI [1.3.6.1.4.1.5962.1.9.70.2.1166562673.14401] # 42, 1 " - "ReferencedSOPInstanceUID\n"; + DSET_DUMP += " (0008,1155) UI [1.3.6.1.4.1.5962.1.9.70.2.1166562673.14401] # 42, 1 ReferencedSOPInstanceUID\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,000e) UI [1.3.6.1.4.1.5962.1.3.70.2.1166562673.14401] # 42, 1 SeriesInstanceUID\n"; @@ -270,8 +272,7 @@ static void prepare_dset_dump() DSET_DUMP += " (0008,0100) SH [C-B0322] # 8, 1 CodeValue\n"; DSET_DUMP += " (0008,0102) SH [SRT] # 4, 1 CodingSchemeDesignator\n"; DSET_DUMP += " (0008,0104) LO [Iohexol] # 8, 1 CodeMeaning\n"; - DSET_DUMP += " (0018,0014) SQ (Sequence with undefined length #=1) # u/l, 1 " - "ContrastBolusAdministrationRouteSequence\n"; + DSET_DUMP += " (0018,0014) SQ (Sequence with undefined length #=1) # u/l, 1 ContrastBolusAdministrationRouteSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0008,0100) SH [G-D101] # 6, 1 CodeValue\n"; DSET_DUMP += " (0008,0102) SH [SNM3] # 4, 1 CodingSchemeDesignator\n"; @@ -279,11 +280,9 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,1041) DS [150] # 4, 1 ContrastBolusVolume\n"; - DSET_DUMP += " (0018,1049) DS [300] # 4, 1 " - "ContrastBolusIngredientConcentration\n"; + DSET_DUMP += " (0018,1049) DS [300] # 4, 1 ContrastBolusIngredientConcentration\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9338) SQ (Sequence with undefined length #=1) # u/l, 1 ContrastBolusIngredientCodeSequence\n"; + DSET_DUMP += " (0018,9338) SQ (Sequence with undefined length #=1) # u/l, 1 ContrastBolusIngredientCodeSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0008,0100) SH [C-11400] # 8, 1 CodeValue\n"; DSET_DUMP += " (0008,0102) SH [SRT] # 4, 1 CodingSchemeDesignator\n"; @@ -295,8 +294,7 @@ static void prepare_dset_dump() DSET_DUMP += " (0008,0100) SH [C-B0317] # 8, 1 CodeValue\n"; DSET_DUMP += " (0008,0102) SH [SNM3] # 4, 1 CodingSchemeDesignator\n"; DSET_DUMP += " (0008,0104) LO [Diatrizoate] # 12, 1 CodeMeaning\n"; - DSET_DUMP += " (0018,0014) SQ (Sequence with undefined length #=1) # u/l, 1 " - "ContrastBolusAdministrationRouteSequence\n"; + DSET_DUMP += " (0018,0014) SQ (Sequence with undefined length #=1) # u/l, 1 ContrastBolusAdministrationRouteSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0008,0100) SH [G-D140] # 6, 1 CodeValue\n"; DSET_DUMP += " (0008,0102) SH [SNM3] # 4, 1 CodingSchemeDesignator\n"; @@ -304,11 +302,9 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,1041) DS [1000] # 4, 1 ContrastBolusVolume\n"; - DSET_DUMP += " (0018,1049) DS [11.1] # 4, 1 " - "ContrastBolusIngredientConcentration\n"; + DSET_DUMP += " (0018,1049) DS [11.1] # 4, 1 ContrastBolusIngredientConcentration\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9338) SQ (Sequence with undefined length #=1) # u/l, 1 ContrastBolusIngredientCodeSequence\n"; + DSET_DUMP += " (0018,9338) SQ (Sequence with undefined length #=1) # u/l, 1 ContrastBolusIngredientCodeSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0008,0100) SH [C-11400] # 8, 1 CodeValue\n"; DSET_DUMP += " (0008,0102) SH [SRT] # 4, 1 CodingSchemeDesignator\n"; @@ -321,7 +317,7 @@ static void prepare_dset_dump() DSET_DUMP += "(0018,1020) LO [1.00] # 4, 1 SoftwareVersions\n"; DSET_DUMP += "(0018,5100) CS [FFS] # 4, 1 PatientPosition\n"; DSET_DUMP += "(0018,9004) CS [PRODUCT] # 8, 1 ContentQualification\n"; - DSET_DUMP += "(0018,9073) FD 522.00048828124988631 # 8, 1 AcquisitionDuration\n"; + DSET_DUMP += "(0018,9073) FD 522.0004882812499 # 8, 1 AcquisitionDuration\n"; DSET_DUMP += "(0020,000d) UI [1.3.6.1.4.1.5962.1.2.70.1166562673.14401] # 40, 1 StudyInstanceUID\n"; DSET_DUMP += "(0020,000e) UI [1.3.6.1.4.1.5962.1.3.70.2.1166562673.14401] # 42, 1 SeriesInstanceUID\n"; DSET_DUMP += "(0020,0010) SH [0070] # 4, 1 StudyID\n"; @@ -333,26 +329,22 @@ static void prepare_dset_dump() DSET_DUMP += "(0020,4000) LT [Both arterial and portal venous] # 32, 1 ImageComments\n"; DSET_DUMP += "(0020,9221) SQ (Sequence with undefined length #=1) # u/l, 1 DimensionOrganizationSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=1) # u/l, 1 Item\n"; - DSET_DUMP - += " (0020,9164) UI [1.3.6.1.4.1.5962.1.6.70.2.0.1166562673.14401] # 44, 1 DimensionOrganizationUID\n"; + DSET_DUMP += " (0020,9164) UI [1.3.6.1.4.1.5962.1.6.70.2.0.1166562673.14401] # 44, 1 DimensionOrganizationUID\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += "(fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += "(0020,9222) SQ (Sequence with undefined length #=3) # u/l, 1 DimensionIndexSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP - += " (0020,9164) UI [1.3.6.1.4.1.5962.1.6.70.2.0.1166562673.14401] # 44, 1 DimensionOrganizationUID\n"; + DSET_DUMP += " (0020,9164) UI [1.3.6.1.4.1.5962.1.6.70.2.0.1166562673.14401] # 44, 1 DimensionOrganizationUID\n"; DSET_DUMP += " (0020,9165) AT (0020,9056) # 4, 1 DimensionIndexPointer\n"; DSET_DUMP += " (0020,9167) AT (0020,9111) # 4, 1 FunctionalGroupPointer\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP - += " (0020,9164) UI [1.3.6.1.4.1.5962.1.6.70.2.0.1166562673.14401] # 44, 1 DimensionOrganizationUID\n"; + DSET_DUMP += " (0020,9164) UI [1.3.6.1.4.1.5962.1.6.70.2.0.1166562673.14401] # 44, 1 DimensionOrganizationUID\n"; DSET_DUMP += " (0020,9165) AT (0020,9057) # 4, 1 DimensionIndexPointer\n"; DSET_DUMP += " (0020,9167) AT (0020,9111) # 4, 1 FunctionalGroupPointer\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP - += " (0020,9164) UI [1.3.6.1.4.1.5962.1.6.70.2.0.1166562673.14401] # 44, 1 DimensionOrganizationUID\n"; + DSET_DUMP += " (0020,9164) UI [1.3.6.1.4.1.5962.1.6.70.2.0.1166562673.14401] # 44, 1 DimensionOrganizationUID\n"; DSET_DUMP += " (0020,9165) AT (0018,9344) # 4, 1 DimensionIndexPointer\n"; DSET_DUMP += " (0020,9167) AT (0018,9341) # 4, 1 FunctionalGroupPointer\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; @@ -387,22 +379,21 @@ static void prepare_dset_dump() DSET_DUMP += " (0018,1130) DS [103.200] # 8, 1 TableHeight\n"; DSET_DUMP += " (0018,1140) CS [CW] # 2, 1 RotationDirection\n"; DSET_DUMP += " (0018,9305) FD 1 # 8, 1 RevolutionTime\n"; - DSET_DUMP += " (0018,9306) FD 7.000007629394530361822 # 8, 1 SingleCollimationWidth\n"; - DSET_DUMP += " (0018,9307) FD 7.000007629394530361822 # 8, 1 TotalCollimationWidth\n"; + DSET_DUMP += " (0018,9306) FD 7.00000762939453 # 8, 1 SingleCollimationWidth\n"; + DSET_DUMP += " (0018,9307) FD 7.00000762939453 # 8, 1 TotalCollimationWidth\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9308) SQ (Sequence with undefined length #=1) # u/l, 1 CTTableDynamicsSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9309) FD 9.8000183105468732 # 8, 1 TableSpeed\n"; + DSET_DUMP += " (0018,9309) FD 9.800018310546873 # 8, 1 TableSpeed\n"; DSET_DUMP += " (0018,9310) FD 9.800010681152342 # 8, 1 TableFeedPerRotation\n"; - DSET_DUMP += " (0018,9311) FD 1.4000015258789061 # 8, 1 SpiralPitchFactor\n"; + DSET_DUMP += " (0018,9311) FD 1.400001525878906 # 8, 1 SpiralPitchFactor\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9312) SQ (Sequence with undefined length #=1) # u/l, 1 CTGeometrySequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=2) # u/l, 1 Item\n"; DSET_DUMP += " (0018,1110) DS [1099.31] # 8, 1 DistanceSourceToDetector\n"; - DSET_DUMP += " (0018,9335) FD 630.00048828124988631 # 8, 1 " - "DistanceSourceToDataCollectionCenter\n"; + DSET_DUMP += " (0018,9335) FD 630.0004882812499 # 8, 1 DistanceSourceToDataCollectionCenter\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9314) SQ (Sequence with undefined length #=1) # u/l, 1 CTReconstructionSequence\n"; @@ -411,18 +402,17 @@ static void prepare_dset_dump() DSET_DUMP += " (0018,1210) SH [STANDARD] # 8, 1 ConvolutionKernel\n"; DSET_DUMP += " (0018,9315) CS [ITERATIVE] # 10, 1 ReconstructionAlgorithm\n"; DSET_DUMP += " (0018,9316) CS [SOFT_TISSUE] # 12, 1 ConvolutionKernelGroup\n"; - DSET_DUMP += " (0018,9319) FD 360.00024414062494316 # 8, 1 ReconstructionAngle\n"; + DSET_DUMP += " (0018,9319) FD 360 # 8, 1 ReconstructionAngle\n"; DSET_DUMP += " (0018,9320) SH [None] # 4, 1 ImageFilter\n"; - DSET_DUMP - += " (0018,9322) FD 0.63476610183715811\\0.63476610183715811 # 16, 2 ReconstructionPixelSpacing\n"; + DSET_DUMP += " (0018,9322) FD 0.6347661018371581\\0.6347661018371581 # 16, 2 ReconstructionPixelSpacing\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9321) SQ (Sequence with undefined length #=1) # u/l, 1 CTExposureSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=5) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9323) CS [NONE] # 4, 1 ExposureModulationType\n"; - DSET_DUMP += " (0018,9328) FD 1000.0004882812498863 # 8, 1 ExposureTimeInms\n"; - DSET_DUMP += " (0018,9330) FD 230.00012207031247158 # 8, 1 XRayTubeCurrentInmA\n"; - DSET_DUMP += " (0018,9332) FD 230.00012207031247158 # 8, 1 ExposureInmAs\n"; + DSET_DUMP += " (0018,9328) FD 1000 # 8, 1 ExposureTimeInms\n"; + DSET_DUMP += " (0018,9330) FD 230 # 8, 1 XRayTubeCurrentInmA\n"; + DSET_DUMP += " (0018,9332) FD 230 # 8, 1 ExposureInmAs\n"; DSET_DUMP += " (0018,9345) FD (no value available) # 0, 0 CTDIvol\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; @@ -439,15 +429,12 @@ static void prepare_dset_dump() DSET_DUMP += " (0008,9007) CS [ORIGINAL\\PRIMARY\\POST_CONTRAST\\NONE] # 36, 4 FrameType\n"; DSET_DUMP += " (0008,9205) CS [MONOCHROME] # 10, 1 PixelPresentation\n"; DSET_DUMP += " (0008,9206) CS [VOLUME] # 6, 1 VolumetricProperties\n"; - DSET_DUMP - += " (0008,9207) CS [NONE] # 4, 1 VolumeBasedCalculationTechnique\n"; + DSET_DUMP += " (0008,9207) CS [NONE] # 4, 1 VolumeBasedCalculationTechnique\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; - DSET_DUMP += " (0018,9477) SQ (Sequence with undefined length #=1) # u/l, 1 " - "IrradiationEventIdentificationSequence\n"; + DSET_DUMP += " (0018,9477) SQ (Sequence with undefined length #=1) # u/l, 1 IrradiationEventIdentificationSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=1) # u/l, 1 Item\n"; - DSET_DUMP - += " (0008,3010) UI [1.3.6.1.4.1.5962.1.10.70.2.1.1166562673.14401] # 46, 1 IrradiationEventUID\n"; + DSET_DUMP += " (0008,3010) UI [1.3.6.1.4.1.5962.1.10.70.2.1.1166562673.14401] # 46, 1 IrradiationEventUID\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9071) SQ (Sequence with undefined length #=1) # u/l, 1 FrameAnatomySequence\n"; @@ -455,8 +442,7 @@ static void prepare_dset_dump() DSET_DUMP += " (0008,2218) SQ (Sequence with undefined length #=1) # u/l, 1 AnatomicRegionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0008,0100) SH [R-FAB57] # 8, 1 CodeValue\n"; - DSET_DUMP - += " (0008,0102) SH [SRT] # 4, 1 CodingSchemeDesignator\n"; + DSET_DUMP += " (0008,0102) SH [SRT] # 4, 1 CodingSchemeDesignator\n"; DSET_DUMP += " (0008,0104) LO [Abdomen and Pelvis] # 18, 1 CodeMeaning\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; @@ -465,8 +451,7 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9116) SQ (Sequence with undefined length #=1) # u/l, 1 PlaneOrientationSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=1) # u/l, 1 Item\n"; - DSET_DUMP += " (0020,0037) DS [1.00000\\0.00000\\0.00000\\0.00000\\1.00000\\0.00000] # 48, 6 " - "ImageOrientationPatient\n"; + DSET_DUMP += " (0020,0037) DS [1.00000\\0.00000\\0.00000\\0.00000\\1.00000\\0.00000] # 48, 6 ImageOrientationPatient\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0028,9110) SQ (Sequence with undefined length #=1) # u/l, 1 PixelMeasuresSequence\n"; @@ -481,8 +466,7 @@ static void prepare_dset_dump() DSET_DUMP += " (0028,1051) DS [400.000] # 8, 1 WindowWidth\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; - DSET_DUMP - += " (0028,9145) SQ (Sequence with undefined length #=1) # u/l, 1 PixelValueTransformationSequence\n"; + DSET_DUMP += " (0028,9145) SQ (Sequence with undefined length #=1) # u/l, 1 PixelValueTransformationSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0028,1052) DS [-1024.00] # 8, 1 RescaleIntercept\n"; DSET_DUMP += " (0028,1053) DS [1.00000] # 8, 1 RescaleSlope\n"; @@ -495,35 +479,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-10.00000762939452947364 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-10.00000762939452947364 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -10.00000762939452947364 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-10.00000762939453 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-10.00000762939453 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -10.00000762939453 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204055] # 14, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204055.350] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 30 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -539,35 +517,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-17.0000152587890589473 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-17.0000152587890589473 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -17.00143432617187145 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-17.00001525878906 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-17.00001525878906 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -17.00143432617187 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204055.714] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204056.064] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 29 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -583,35 +555,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-24.0000152587890589473 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-24.0000152587890589473 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -24.00285339355468395 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-24.00001525878906 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-24.00001525878906 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -24.0029 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204056.428] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204056.778] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 28 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -627,35 +593,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-31.0000152587890589473 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-31.0000152587890589473 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -31.00427246093749645 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-31.00001525878906 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-31.00001525878906 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -31.0043 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204057.142] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204057.492] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 27 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -671,35 +631,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-38.0000305175781178946 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-38.0000305175781178946 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -37.995758056640618 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-38.00003051757812 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-38.00003051757812 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -37.99575805664062 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204057.857] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204058.207] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 26 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -715,35 +669,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-45.0000305175781178946 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-45.0000305175781178946 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -44.997161865234368 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-45.00003051757812 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-45.00003051757812 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -44.99716186523437 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204058.571] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204058.921] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 25 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -759,35 +707,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-52.0000305175781178946 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-52.0000305175781178946 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -51.998596191406243 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-52.00003051757812 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-52.00003051757812 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -51.99859619140624 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204059.285] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204059.635] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 24 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -803,35 +745,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-59.0000305175781178946 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-59.0000305175781178946 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -59.0000305175781178946 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-59.00003051757812 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-59.00003051757812 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -59.00003051757812 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204100] # 14, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204100.350] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 23 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -847,35 +783,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-66.0000610351562357891 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-66.0000610351562357891 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -66.00146484374998579 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-66.00006103515624 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-66.00006103515624 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -66.00146484374999 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204100.714] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204101.064] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 22 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -891,35 +821,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-73.0000610351562357891 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-73.0000610351562357891 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -73.00286865234373579 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-73.00006103515624 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-73.00006103515624 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -73.00286865234374 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204101.428] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204101.778] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 21 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -935,35 +859,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-80.0000610351562357891 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-80.0000610351562357891 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -80.00433349609373579 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-80.00006103515624 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-80.00006103515624 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -80.00433349609374 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204102.142] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204102.492] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 20 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -979,35 +897,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-87.0000610351562357891 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-87.0000610351562357891 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -86.995788574218736 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-87.00006103515624 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-87.00006103515624 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -86.99578857421874 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204102.857] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204103.207] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 19 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1023,35 +935,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-94.0000610351562357891 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-94.0000610351562357891 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -93.997192382812486 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-94.00006103515624 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-94.00006103515624 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -93.99719238281249 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204103.571] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204103.921] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 18 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1067,35 +973,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-101.000061035156235789 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-101.000061035156235789 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -100.99859619140624 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-101 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-101 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -100.999 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204104.285] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204104.635] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 17 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1111,35 +1011,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-108.000061035156235789 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-108.000061035156235789 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -108.000061035156235789 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-108 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-108 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -108 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204105] # 14, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204105.350] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 16 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1155,35 +1049,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-115.000061035156235789 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-115.000061035156235789 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -115.0014648437499858 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-115 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-115 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -115.001 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204105.714] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204106.064] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 15 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1199,35 +1087,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-122.000061035156235789 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-122.000061035156235789 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -122.0028686523437358 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-122 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-122 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -122.003 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204106.428] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204106.778] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 14 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1243,35 +1125,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-129.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-129.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -129.0043945312499716 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-129 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-129 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -129.004 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204107.142] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204107.492] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 13 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1287,35 +1163,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-136.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-136.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -135.99584960937497 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-136 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-136 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -135.996 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204107.857] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204108.207] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 12 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1331,35 +1201,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-143.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-143.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -142.99719238281247 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-143 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-143 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -142.997 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204108.571] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204108.921] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 11 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1375,35 +1239,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-150.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-150.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -149.99865722656247 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-150 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-150 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -149.999 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204109.285] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204109.635] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 10 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1419,35 +1277,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-157.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-157.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -157.00012207031247158 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-157 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-157 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -157 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204109.999] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204110.349] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 9 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1463,35 +1315,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-164.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-164.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -164.0014648437499716 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-164 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-164 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -164.001 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204110.714] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204111.064] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 8 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1507,35 +1353,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-171.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-171.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -171.0029296874999716 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-171 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-171 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -171.003 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204111.428] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204111.778] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 7 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1551,35 +1391,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-178.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-178.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -178.0043945312499716 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-178 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-178 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -178.004 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204112.142] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204112.492] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 6 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1595,35 +1429,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-185.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-185.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -184.99584960937497 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-185 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-185 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -184.996 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204112.857] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204113.207] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 5 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1639,35 +1467,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-192.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-192.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -191.99719238281247 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-192 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-192 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -191.997 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204113.571] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204113.921] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 4 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1683,35 +1505,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-199.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-199.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -198.99865722656247 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-199 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-199 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -198.999 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204114.285] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204114.635] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 3 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1727,35 +1543,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-206.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-206.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -206.00012207031247158 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-206 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-206 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -206 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204115] # 14, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204115.350] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 2 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1771,35 +1581,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-213.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-213.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -213.0014648437499716 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-213 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-213 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -213.001 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [ARTERIAL] # 8, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204115.714] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204116.064] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 1 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1815,35 +1619,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-10.00000762939452947364 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-10.00000762939452947364 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -10.00000762939452947364 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-10.00000762939453 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-10.00000762939453 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -10.00000762939453 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204137] # 14, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204137.350] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 30 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1859,35 +1657,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-17.0000152587890589473 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-17.0000152587890589473 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -17.00143432617187145 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-17.00001525878906 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-17.00001525878906 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -17.00143432617187 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204137.714] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204138.064] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 29 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1903,35 +1695,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-24.0000152587890589473 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-24.0000152587890589473 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -24.00285339355468395 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-24.00001525878906 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-24.00001525878906 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -24.0029 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204138.428] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204138.778] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 28 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1947,35 +1733,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-31.0000152587890589473 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-31.0000152587890589473 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -31.00427246093749645 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-31.00001525878906 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-31.00001525878906 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -31.0043 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204139.142] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204139.492] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 27 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -1991,35 +1771,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-38.0000305175781178946 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-38.0000305175781178946 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -37.995758056640618 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-38.00003051757812 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-38.00003051757812 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -37.99575805664062 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204139.857] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204140.207] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 26 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2035,35 +1809,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-45.0000305175781178946 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-45.0000305175781178946 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -44.997161865234368 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-45.00003051757812 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-45.00003051757812 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -44.99716186523437 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204140.571] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204140.921] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 25 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2079,35 +1847,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-52.0000305175781178946 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-52.0000305175781178946 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -51.998596191406243 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-52.00003051757812 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-52.00003051757812 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -51.99859619140624 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204141.285] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204141.635] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 24 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2123,35 +1885,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-59.0000305175781178946 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-59.0000305175781178946 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -59.0000305175781178946 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-59.00003051757812 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-59.00003051757812 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -59.00003051757812 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204142] # 14, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204142.350] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 23 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2167,35 +1923,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-66.0000610351562357891 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-66.0000610351562357891 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -66.00146484374998579 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-66.00006103515624 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-66.00006103515624 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -66.00146484374999 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204142.714] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204143.064] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 22 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2211,35 +1961,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-73.0000610351562357891 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-73.0000610351562357891 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -73.00286865234373579 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-73.00006103515624 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-73.00006103515624 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -73.00286865234374 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204143.428] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204143.778] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 21 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2255,35 +1999,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-80.0000610351562357891 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-80.0000610351562357891 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -80.00433349609373579 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-80.00006103515624 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-80.00006103515624 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -80.00433349609374 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204144.142] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204144.492] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 20 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2299,35 +2037,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-87.0000610351562357891 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-87.0000610351562357891 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -86.995788574218736 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-87.00006103515624 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-87.00006103515624 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -86.99578857421874 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204144.857] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204145.207] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 19 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2343,35 +2075,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-94.0000610351562357891 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-94.0000610351562357891 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -93.997192382812486 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-94.00006103515624 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-94.00006103515624 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -93.99719238281249 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204145.571] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204145.921] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 18 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2387,35 +2113,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-101.000061035156235789 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-101.000061035156235789 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -100.99859619140624 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-101 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-101 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -100.999 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204146.285] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204146.635] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 17 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2431,35 +2151,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-108.000061035156235789 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-108.000061035156235789 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -108.000061035156235789 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-108 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-108 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -108 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204147] # 14, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204147.350] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 16 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2475,35 +2189,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-115.000061035156235789 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-115.000061035156235789 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -115.0014648437499858 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-115 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-115 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -115.001 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204147.714] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204148.064] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 15 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2519,35 +2227,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-122.000061035156235789 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-122.000061035156235789 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -122.0028686523437358 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-122 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-122 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -122.003 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204148.428] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204148.778] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 14 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2563,35 +2265,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-129.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-129.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -129.0043945312499716 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-129 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-129 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -129.004 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204149.142] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204149.492] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 13 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2607,35 +2303,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-136.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-136.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -135.99584960937497 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-136 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-136 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -135.996 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204149.857] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204150.207] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 12 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2651,35 +2341,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-143.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-143.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -142.99719238281247 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-143 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-143 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -142.997 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204150.571] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204150.921] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 11 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2695,35 +2379,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-150.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-150.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -149.99865722656247 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-150 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-150 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -149.999 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204151.285] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204151.635] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 10 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2739,35 +2417,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-157.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-157.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -157.00012207031247158 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-157 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-157 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -157 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204151.999] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204152.349] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 9 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2783,35 +2455,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-164.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-164.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -164.0014648437499716 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-164 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-164 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -164.001 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204152.714] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204153.064] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 8 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2827,35 +2493,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-171.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-171.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -171.0029296874999716 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-171 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-171 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -171.003 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204153.428] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204153.778] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 7 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2871,35 +2531,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-178.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-178.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -178.0043945312499716 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-178 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-178 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -178.004 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204154.142] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204154.492] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 6 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2915,35 +2569,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-185.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-185.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -184.99584960937497 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-185 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-185 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -184.996 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204154.857] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204155.207] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 5 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -2959,35 +2607,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-192.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-192.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -191.99719238281247 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-192 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-192 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -191.997 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204155.571] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204155.921] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 4 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -3003,35 +2645,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-199.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-199.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -198.99865722656247 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-199 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-199 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -198.999 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204156.285] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204156.635] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 3 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -3047,35 +2683,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-206.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-206.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -206.00012207031247158 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-206 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-206 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -206 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204157] # 14, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204157.350] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 2 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; @@ -3091,35 +2721,29 @@ static void prepare_dset_dump() DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9326) SQ (Sequence with undefined length #=1) # u/l, 1 CTPositionSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; - DSET_DUMP += " (0018,9313) FD 3.08271408081054643\\-0.31728720664978023\\-213.00012207031247158 # 24, 3 " - "DataCollectionCenterPatient\n"; - DSET_DUMP += " (0018,9318) FD 3.08271408081054643\\-0.31728720664978023\\-213.00012207031247158 # 24, 3 " - "ReconstructionTargetCenterPatient\n"; - DSET_DUMP += " (0018,9327) FD -213.0014648437499716 # 8, 1 TablePosition\n"; + DSET_DUMP += " (0018,9313) FD 3.08271\\-0.3172872066497802\\-213 # 24, 3 DataCollectionCenterPatient\n"; + DSET_DUMP += " (0018,9318) FD 3.08271\\-0.3172872066497802\\-213 # 24, 3 ReconstructionTargetCenterPatient\n"; + DSET_DUMP += " (0018,9327) FD -213.001 # 8, 1 TablePosition\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0018,9341) SQ (Sequence with undefined length #=2) # u/l, 1 ContrastBolusUsageSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 1 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS [YES] # 4, 1 ContrastBolusAgentDetected\n"; DSET_DUMP += " (0018,9344) CS [PORTAL_VENOUS] # 14, 1 ContrastBolusAgentPhase\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=3) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9337) US 2 # 2, 1 ContrastBolusAgentNumber\n"; - DSET_DUMP - += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; - DSET_DUMP - += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; + DSET_DUMP += " (0018,9342) CS [YES] # 4, 1 ContrastBolusAgentAdministered\n"; + DSET_DUMP += " (0018,9343) CS (no value available) # 0, 0 ContrastBolusAgentDetected\n"; DSET_DUMP += " (fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem\n"; DSET_DUMP += " (fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem\n"; DSET_DUMP += " (0020,9111) SQ (Sequence with undefined length #=1) # u/l, 1 FrameContentSequence\n"; DSET_DUMP += " (fffe,e000) na (Item with undefined length #=7) # u/l, 1 Item\n"; DSET_DUMP += " (0018,9074) DT [20061219204157.714] # 18, 1 FrameAcquisitionDateTime\n"; DSET_DUMP += " (0018,9151) DT [20061219204158.064] # 18, 1 FrameReferenceDateTime\n"; - DSET_DUMP += " (0018,9220) FD 700.00048828124988631 # 8, 1 FrameAcquisitionDuration\n"; + DSET_DUMP += " (0018,9220) FD 700.0004882812499 # 8, 1 FrameAcquisitionDuration\n"; DSET_DUMP += " (0020,9056) SH [1] # 2, 1 StackID\n"; DSET_DUMP += " (0020,9057) UL 1 # 4, 1 InStackPositionNumber\n"; DSET_DUMP += " (0020,9156) US 2 # 2, 1 FrameAcquisitionNumber\n"; diff --git a/dcmfg/tests/t_ct_acquisition_details.cc b/dcmfg/tests/t_ct_acquisition_details.cc index 1ee03eea..38949efd 100644 --- a/dcmfg/tests/t_ct_acquisition_details.cc +++ b/dcmfg/tests/t_ct_acquisition_details.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2020, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,9 +22,9 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmfg/fgctacquisitiondetails.h" -#include "dcmtk/dcmfg/fginterface.h" #include "dcmtk/ofstd/ofcond.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdict.h" static void checkDump(const OFString& ds_dump, const OFString& expected_dump); diff --git a/dcmfg/tests/t_ct_acquisition_type.cc b/dcmfg/tests/t_ct_acquisition_type.cc index 0751b4d5..e5e41b02 100644 --- a/dcmfg/tests/t_ct_acquisition_type.cc +++ b/dcmfg/tests/t_ct_acquisition_type.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2020, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,9 +22,9 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmfg/fgctacquisitiontype.h" -#include "dcmtk/dcmfg/fginterface.h" #include "dcmtk/ofstd/ofcond.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdict.h" static void init_template(OFString& fg_dump) { diff --git a/dcmfg/tests/t_ct_image_frame_type.cc b/dcmfg/tests/t_ct_image_frame_type.cc index badef70d..31e3fc17 100644 --- a/dcmfg/tests/t_ct_image_frame_type.cc +++ b/dcmfg/tests/t_ct_image_frame_type.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2020, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,9 +22,9 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmfg/fgctimageframetype.h" -#include "dcmtk/dcmfg/fginterface.h" #include "dcmtk/ofstd/ofcond.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdict.h" static void init_template(OFString& fg_dump) { diff --git a/dcmfg/tests/t_ct_position.cc b/dcmfg/tests/t_ct_position.cc index 60a3346f..80b6a1f2 100644 --- a/dcmfg/tests/t_ct_position.cc +++ b/dcmfg/tests/t_ct_position.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2020, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,9 +22,9 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmfg/fgctposition.h" -#include "dcmtk/dcmfg/fginterface.h" #include "dcmtk/ofstd/ofcond.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdict.h" static void init_template(OFString& fg_dump) { diff --git a/dcmfg/tests/t_ct_table_dynamics.cc b/dcmfg/tests/t_ct_table_dynamics.cc index f4d9a2e2..10f1856f 100644 --- a/dcmfg/tests/t_ct_table_dynamics.cc +++ b/dcmfg/tests/t_ct_table_dynamics.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2020, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,9 +22,9 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmfg/fgcttabledynamics.h" -#include "dcmtk/dcmfg/fginterface.h" #include "dcmtk/ofstd/ofcond.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdict.h" static void init_template(OFString& fg_dump) { diff --git a/dcmfg/tests/t_deriv_image.cc b/dcmfg/tests/t_deriv_image.cc index a3384c12..d34512f7 100644 --- a/dcmfg/tests/t_deriv_image.cc +++ b/dcmfg/tests/t_deriv_image.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2020, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,6 +24,7 @@ #include "dcmtk/dcmfg/fgderimg.h" #include "dcmtk/dcmfg/fginterface.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdict.h" static void init_template(OFString& fg_dump) { diff --git a/dcmfg/tests/t_fg_base.cc b/dcmfg/tests/t_fg_base.cc index fa56bb24..00437a68 100644 --- a/dcmfg/tests/t_fg_base.cc +++ b/dcmfg/tests/t_fg_base.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2022, OFFIS e.V. + * Copyright (C) 2022-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -23,6 +23,9 @@ #include "dcmtk/dcmfg/fgbase.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/dcmdata/dcdeftag.h" + OFTEST(dcmfg_fgbase_fgunknown) { diff --git a/dcmfg/tests/t_frame_content.cc b/dcmfg/tests/t_frame_content.cc index 4a92feec..1dd2111c 100644 --- a/dcmfg/tests/t_frame_content.cc +++ b/dcmfg/tests/t_frame_content.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2020, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,9 +22,9 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmfg/fgfracon.h" -#include "dcmtk/dcmfg/fginterface.h" #include "dcmtk/ofstd/ofcond.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdict.h" static void init_template(OFString& fg_dump) { diff --git a/dcmfg/tests/t_irradiation_event_identification.cc b/dcmfg/tests/t_irradiation_event_identification.cc index 54df4de8..26a86419 100644 --- a/dcmfg/tests/t_irradiation_event_identification.cc +++ b/dcmfg/tests/t_irradiation_event_identification.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2020, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,10 +21,10 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcmtk/dcmfg/fginterface.h" #include "dcmtk/dcmfg/fgirradiationeventid.h" #include "dcmtk/ofstd/ofcond.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdict.h" static void init_template(OFString& fg_dump) { diff --git a/dcmimage/apps/Makefile.dep b/dcmimage/apps/Makefile.dep index 1b4ba183..54ee72ad 100644 --- a/dcmimage/apps/Makefile.dep +++ b/dcmimage/apps/Makefile.dep @@ -1,155 +1,8 @@ dcm2pnm.o: dcm2pnm.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofstub.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../oflog/include/dcmtk/oflog/config/defines.h \ - ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ - ../../oflog/include/dcmtk/oflog/loglevel.h \ - ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../oflog/include/dcmtk/oflog/tchar.h \ - ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ - ../../oflog/include/dcmtk/oflog/appender.h \ - ../../ofstd/include/dcmtk/ofstd/ofmem.h \ - ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ - ../../oflog/include/dcmtk/oflog/layout.h \ - ../../oflog/include/dcmtk/oflog/streams.h \ - ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ - ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ - ../../oflog/include/dcmtk/oflog/spi/filter.h \ - ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ - ../../oflog/include/dcmtk/oflog/spi/logfact.h \ - ../../oflog/include/dcmtk/oflog/logmacro.h \ - ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ - ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcrledrg.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimoimg.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfcache.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diovlay.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diobjcou.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diovdat.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diovpln.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimopx.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dipixel.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimomod.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diluptab.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dibaslut.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimoopx.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/didispfn.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/digsdfn.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diciefn.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dicielut.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/didislut.h \ - ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ - ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ - ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h \ - ../include/dcmtk/dcmimage/diregist.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diregbas.h \ - ../include/dcmtk/dcmimage/dicdefin.h \ - ../include/dcmtk/dcmimage/dipitiff.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diplugin.h \ - ../include/dcmtk/dcmimage/dipipng.h + ../../ofstd/include/dcmtk/ofstd/ofexport.h dcmicmp.o: dcmicmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimage/dcmicmph.h \ ../include/dcmtk/dcmimage/dicdefin.h \ @@ -159,7 +12,6 @@ dcmicmp.o: dcmicmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -169,6 +21,7 @@ dcmicmp.o: dcmicmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -195,7 +48,6 @@ dcmicmp.o: dcmicmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -207,6 +59,7 @@ dcmicmp.o: dcmicmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -295,9 +148,9 @@ dcmquant.o: dcmquant.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -327,12 +180,12 @@ dcmquant.o: dcmquant.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -441,9 +294,9 @@ dcmscale.o: dcmscale.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -473,12 +326,12 @@ dcmscale.o: dcmscale.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ diff --git a/dcmimage/apps/dcm2pnm.cc b/dcmimage/apps/dcm2pnm.cc index e7b210e2..930d0fab 100644 --- a/dcmimage/apps/dcm2pnm.cc +++ b/dcmimage/apps/dcm2pnm.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2023, OFFIS e.V. + * Copyright (C) 2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -13,1531 +13,16 @@ * * Module: dcmimage * - * Authors: Marco Eichelberg, Joerg Riesmeier + * Authors: Marco Eichelberg * - * Purpose: Convert DICOM Images to PPM or PGM using the dcmimage library. + * Purpose: Proxy stub that calls dcm2img * */ - #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/ofstd/ofstub.h" -#include "dcmtk/dcmdata/dctk.h" /* for various dcmdata headers */ -#include "dcmtk/dcmdata/cmdlnarg.h" /* for prepareCmdLineArgs */ -#include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */ -#include "dcmtk/dcmdata/dcrledrg.h" /* for DcmRLEDecoderRegistration */ - -#include "dcmtk/dcmimgle/dcmimage.h" /* for DicomImage */ -#include "dcmtk/dcmimgle/digsdfn.h" /* for DiGSDFunction */ -#include "dcmtk/dcmimgle/diciefn.h" /* for DiCIELABFunction */ - -#include "dcmtk/ofstd/ofconapp.h" /* for OFConsoleApplication */ -#include "dcmtk/ofstd/ofcmdln.h" /* for OFCommandLine */ - -#include "dcmtk/dcmimage/diregist.h" /* include to support color images */ -#include "dcmtk/ofstd/ofstd.h" /* for OFStandard */ - -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM -#include "dcmtk/dcmjpeg/djdecode.h" /* for dcmjpeg decoders */ -#include "dcmtk/dcmjpeg/dipijpeg.h" /* for dcmimage JPEG plugin */ -#endif - -#ifdef BUILD_DCM2PNM_AS_DCML2PNM -#include "dcmtk/dcmjpls/djdecode.h" /* for dcmjpls decoders */ -#endif - -#ifdef WITH_LIBTIFF -#include "dcmtk/dcmimage/dipitiff.h" /* for dcmimage TIFF plugin */ -#endif - -#ifdef WITH_LIBPNG -#include "dcmtk/dcmimage/dipipng.h" /* for dcmimage PNG plugin */ -#endif - -#ifdef WITH_ZLIB -#include /* for zlibVersion() */ -#endif - -#include "dcmtk/ofstd/ofstream.h" -#include "dcmtk/oflog/oflog.h" - -#define OFFIS_OUTFILE_DESCRIPTION "output filename to be written (default: stdout)" - -#ifdef BUILD_DCM2PNM_AS_DCML2PNM -# define OFFIS_CONSOLE_APPLICATION "dcml2pnm" -#elif defined(BUILD_DCM2PNM_AS_DCMJ2PNM) -# define OFFIS_CONSOLE_APPLICATION "dcmj2pnm" -#else -# define OFFIS_CONSOLE_APPLICATION "dcm2pnm" -#endif - -static OFLogger dcm2pnmLogger = OFLog::getLogger("dcmtk.apps." OFFIS_CONSOLE_APPLICATION); - -static const char *consoleDescription = "Convert DICOM images to PGM/PPM" -#ifdef WITH_LIBPNG - ", PNG" -#endif -#ifdef WITH_LIBTIFF - ", TIFF" -#endif -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - ", JPEG" -#endif - " or BMP"; - -static char rcsid[] = "$dcmtk: " OFFIS_CONSOLE_APPLICATION " v" - OFFIS_DCMTK_VERSION " " OFFIS_DCMTK_RELEASEDATE " $"; - -#define SHORTCOL 4 -#define LONGCOL 20 - -/* output file types */ -enum E_FileType +int main(int argc, char** argv) { - EFT_RawPNM, - EFT_8bitPNM, - EFT_16bitPNM, - EFT_NbitPNM, - EFT_BMP, - EFT_8bitBMP, - EFT_24bitBMP, - EFT_32bitBMP, - EFT_JPEG, - EFT_TIFF, - EFT_PNG, - EFT_16bitPNG -#ifdef PASTEL_COLOR_OUTPUT - ,EFT_PastelPNM -#endif -}; - - -// ******************************************** - -int main(int argc, char *argv[]) -{ - OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION, consoleDescription, rcsid); - OFCommandLine cmd; - - E_FileReadMode opt_readMode = ERM_autoDetect; /* default: fileformat or dataset */ - E_TransferSyntax opt_transferSyntax = EXS_Unknown; /* default: xfer syntax recognition */ - - unsigned long opt_compatibilityMode = CIF_MayDetachPixelData | CIF_TakeOverExternalDataset; - OFBool opt_ignoreVoiLutDepth = OFFalse; /* default: do not ignore VOI LUT bit depth */ - OFCmdUnsignedInt opt_frame = 1; /* default: first frame */ - OFCmdUnsignedInt opt_frameCount = 1; /* default: one frame */ - OFBool opt_useFrameNumber = OFFalse; /* default: use frame counter */ - OFBool opt_multiFrame = OFFalse; /* default: no multiframes */ - int opt_convertToGrayscale = 0; /* default: no conversion */ - int opt_changePolarity = 0; /* default: normal polarity */ - int opt_useAspectRatio = 1; /* default: use aspect ratio for scaling */ - OFCmdUnsignedInt opt_useInterpolation = 1; /* default: use interpolation method '1' for scaling */ - int opt_useClip = 0; /* default: don't clip */ - OFCmdSignedInt opt_left = 0, opt_top = 0; /* clip region (origin) */ - OFCmdUnsignedInt opt_width = 0, opt_height = 0; /* clip region (extension) */ - int opt_rotateDegree = 0; /* default: no rotation */ - int opt_flipType = 0; /* default: no flipping */ - int opt_scaleType = 0; /* default: no scaling */ - /* 1 = X-factor, 2 = Y-factor, 3=X-size, 4=Y-size */ - OFCmdFloat opt_scale_factor = 1.0; - OFCmdUnsignedInt opt_scale_size = 1; - int opt_windowType = 0; /* default: no windowing */ - /* 1=Wi, 2=Wl, 3=Wm, 4=Wh, 5=Ww, 6=Wn, 7=Wr */ - OFCmdUnsignedInt opt_windowParameter = 0; - OFCmdUnsignedInt opt_roiLeft = 0, opt_roiTop = 0, opt_roiWidth = 0, opt_roiHeight = 0; - OFCmdFloat opt_windowCenter = 0.0, opt_windowWidth = 0.0; - - EF_VoiLutFunction opt_voiFunction = EFV_Default; - ES_PresentationLut opt_presShape = ESP_Default; - OFString opt_displayFile; - int opt_displayFunction = 0; /* default: GSDF */ - /* 0=GSDF, 1=CIELAB */ - OFCmdFloat opt_ambientLight = -1; /* default: not set */ - OFCmdFloat opt_illumination = -1; /* default: not set */ - OFCmdFloat opt_minDensity = -1; /* default: not set */ - OFCmdFloat opt_maxDensity = -1; /* default: not set */ - DiDisplayFunction::E_DeviceType deviceType = DiDisplayFunction::EDT_Monitor; - -#ifdef WITH_LIBTIFF - // TIFF parameters - DiTIFFCompression opt_tiffCompression = E_tiffLZWCompression; - DiTIFFLZWPredictor opt_lzwPredictor = E_tiffLZWPredictorDefault; - OFCmdUnsignedInt opt_rowsPerStrip = 0; -#endif - -#ifdef WITH_LIBPNG - // PNG parameters - DiPNGInterlace opt_interlace = E_pngInterlaceAdam7; - DiPNGMetainfo opt_metainfo = E_pngFileMetainfo; -#endif - -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - // JPEG parameters - OFCmdUnsignedInt opt_quality = 90; /* default: 90% JPEG quality */ - E_SubSampling opt_sampling = ESS_422; /* default: 4:2:2 sub-sampling */ - E_DecompressionColorSpaceConversion opt_decompCSconversion = EDC_photometricInterpretation; - OFBool opt_predictor6WorkaroundEnable = OFFalse; - OFBool opt_cornellWorkaroundEnable = OFFalse; - OFBool opt_forceSingleFragmentPerFrame = OFFalse; -#endif - - int opt_Overlay[16]; - int opt_O_used = 0; /* flag for +O parameter */ - EM_Overlay opt_OverlayMode = EMO_Default; /* default: Replace or ROI */ - - OFCmdFloat opt_foregroundDensity = 1.0; - OFCmdFloat opt_thresholdDensity = 0.5; - - int opt_imageInfo = 0; /* default: no info */ - int opt_suppressOutput = 0; /* default: create output */ - E_FileType opt_fileType = EFT_RawPNM; /* default: 8-bit PGM/PPM */ - /* (binary for file output and ASCII for stdout) */ - OFCmdUnsignedInt opt_fileBits = 0; /* default: 0 */ - const char * opt_ifname = NULL; - const char * opt_ofname = NULL; - - unsigned long i; - for (i = 0; i < 16; i++) - opt_Overlay[i] = 2; /* default: display all overlays if present */ - - prepareCmdLineArgs(argc, argv, OFFIS_CONSOLE_APPLICATION); - cmd.setOptionColumns(LONGCOL, SHORTCOL); - cmd.setParamColumn(LONGCOL + SHORTCOL + 4); - - cmd.addParam("dcmfile-in", "DICOM input filename to be converted\n(\"-\" for stdin)"); - cmd.addParam("bitmap-out", OFFIS_OUTFILE_DESCRIPTION, OFCmdParam::PM_Optional); - - cmd.addGroup("general options:", LONGCOL, SHORTCOL + 2); - cmd.addOption("--help", "-h", "print this help text and exit", OFCommandLine::AF_Exclusive); - cmd.addOption("--version", "print version information and exit", OFCommandLine::AF_Exclusive); - OFLog::addOptions(cmd); - - cmd.addGroup("input options:"); - - cmd.addSubGroup("input file format:"); - cmd.addOption("--read-file", "+f", "read file format or data set (default)"); - cmd.addOption("--read-file-only", "+fo", "read file format only"); - cmd.addOption("--read-dataset", "-f", "read data set without file meta information"); - - cmd.addSubGroup("input transfer syntax:"); - cmd.addOption("--read-xfer-auto", "-t=", "use TS recognition (default)"); - cmd.addOption("--read-xfer-detect", "-td", "ignore TS specified in the file meta header"); - cmd.addOption("--read-xfer-little", "-te", "read with explicit VR little endian TS"); - cmd.addOption("--read-xfer-big", "-tb", "read with explicit VR big endian TS"); - cmd.addOption("--read-xfer-implicit", "-ti", "read with implicit VR little endian TS"); - - cmd.addGroup("image processing options:"); - - cmd.addSubGroup("frame selection:"); - cmd.addOption("--frame", "+F", 1, "[n]umber: integer", - "select specified frame (default: 1)"); - cmd.addOption("--frame-range", "+Fr", 2, "[n]umber [c]ount: integer", - "select c frames beginning with frame n"); - cmd.addOption("--all-frames", "+Fa", "select all frames"); - - cmd.addSubGroup("rotation:"); - cmd.addOption("--rotate-left", "+Rl", "rotate image left (-90 degrees)"); - cmd.addOption("--rotate-right", "+Rr", "rotate image right (+90 degrees)"); - cmd.addOption("--rotate-top-down", "+Rtd", "rotate image top-down (180 degrees)"); - - cmd.addSubGroup("flipping:"); - cmd.addOption("--flip-horizontally", "+Lh", "flip image horizontally"); - cmd.addOption("--flip-vertically", "+Lv", "flip image vertically"); - cmd.addOption("--flip-both-axes", "+Lhv", "flip image horizontally and vertically"); - - cmd.addSubGroup("scaling:"); - cmd.addOption("--recognize-aspect", "+a", "recognize pixel aspect ratio when scaling (def.)"); - cmd.addOption("--ignore-aspect", "-a", "ignore pixel aspect ratio when scaling"); - cmd.addOption("--interpolate", "+i", 1, "[n]umber of algorithm: integer", - "use interpolation when scaling (1..4, def: 1)"); - cmd.addOption("--no-interpolation", "-i", "no interpolation when scaling"); - cmd.addOption("--no-scaling", "-S", "no scaling, ignore pixel aspect ratio (default)"); - cmd.addOption("--scale-x-factor", "+Sxf", 1, "[f]actor: float", - "scale x axis by factor, auto-compute y axis"); - cmd.addOption("--scale-y-factor", "+Syf", 1, "[f]actor: float", - "scale y axis by factor, auto-compute x axis"); - cmd.addOption("--scale-x-size", "+Sxv", 1, "[n]umber: integer", - "scale x axis to n pixels, auto-compute y axis"); - cmd.addOption("--scale-y-size", "+Syv", 1, "[n]umber: integer", - "scale y axis to n pixels, auto-compute x axis"); -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - cmd.addSubGroup("color space conversion (JPEG compressed images only):"); - cmd.addOption("--conv-photometric", "+cp", "convert if YCbCr photometric interpr. (default)"); - cmd.addOption("--conv-lossy", "+cl", "convert YCbCr to RGB if lossy JPEG"); - cmd.addOption("--conv-guess", "+cg", "convert to RGB if YCbCr is guessed by library"); - cmd.addOption("--conv-guess-lossy", "+cgl", "convert to RGB if lossy JPEG and YCbCr is\nguessed by the underlying JPEG library"); - cmd.addOption("--conv-always", "+ca", "always convert YCbCr to RGB"); - cmd.addOption("--conv-never", "+cn", "never convert color space"); - - cmd.addSubGroup("workaround options for incorrect encodings (JPEG compressed images only):"); - cmd.addOption("--workaround-pred6", "+w6", "enable workaround for JPEG lossless images\nwith overflow in predictor 6"); - cmd.addOption("--workaround-incpl", "+wi", "enable workaround for incomplete JPEG data"); - cmd.addOption("--workaround-cornell", "+wc", "enable workaround for 16-bit JPEG lossless\nCornell images with Huffman table overflow"); -#endif - - cmd.addSubGroup("modality LUT transformation:"); - cmd.addOption("--no-modality", "-M", "ignore stored modality LUT transformation"); - cmd.addOption("--use-modality", "+M", "use modality LUT transformation (default)"); - - cmd.addSubGroup("VOI LUT transformation:"); - cmd.addOption("--no-windowing", "-W", "no VOI windowing (default)"); - cmd.addOption("--use-window", "+Wi", 1, "[n]umber: integer", - "use the n-th VOI window from image file"); - cmd.addOption("--use-voi-lut", "+Wl", 1, "[n]umber: integer", - "use the n-th VOI look up table from image file"); - cmd.addOption("--min-max-window", "+Wm", "compute VOI window using min-max algorithm"); - cmd.addOption("--min-max-window-n", "+Wn", "compute VOI window using min-max algorithm,\nignoring extreme values"); - cmd.addOption("--roi-min-max-window", "+Wr", 4, "[l]eft [t]op [w]idth [h]eight: integer", - "compute ROI window using min-max algorithm,\nregion of interest is specified by l,t,w,h"); - cmd.addOption("--histogram-window", "+Wh", 1, "[n]umber: integer", - "compute VOI window using Histogram algorithm,\nignoring n percent"); - cmd.addOption("--set-window", "+Ww", 2, "[c]enter [w]idth: float", - "compute VOI window using center c and width w"); - cmd.addOption("--linear-function", "+Wfl", "set VOI LUT function to LINEAR"); - cmd.addOption("--sigmoid-function", "+Wfs", "set VOI LUT function to SIGMOID"); - - cmd.addSubGroup("presentation LUT transformation:"); - cmd.addOption("--identity-shape", "+Pid", "set presentation LUT shape to IDENTITY"); - cmd.addOption("--inverse-shape", "+Piv", "set presentation LUT shape to INVERSE"); - cmd.addOption("--lin-od-shape", "+Pod", "set presentation LUT shape to LIN OD"); - - cmd.addSubGroup("overlay:"); - cmd.addOption("--no-overlays", "-O", "do not display overlays"); - cmd.addOption("--display-overlay", "+O" , 1, "[n]umber: integer", - "display overlay n (0..16, 0=all, default: +O 0)"); - cmd.addOption("--ovl-replace", "+Omr", "use overlay mode \"Replace\"\n(default for Graphic overlays)"); - cmd.addOption("--ovl-threshold", "+Omt", "use overlay mode \"Threshold Replace\""); - cmd.addOption("--ovl-complement", "+Omc", "use overlay mode \"Complement\""); - cmd.addOption("--ovl-invert", "+Omv", "use overlay mode \"Invert Bitmap\""); - cmd.addOption("--ovl-roi", "+Omi", "use overlay mode \"Region of Interest\"\n(default for ROI overlays)"); - cmd.addOption("--set-foreground", "+Osf", 1, "[d]ensity: float", - "set overlay foreground density (0..1, def: 1)"); - cmd.addOption("--set-threshold", "+Ost", 1, "[d]ensity: float", - "set overlay threshold density (0..1, def: 0.5)"); - - cmd.addSubGroup("display LUT transformation:"); - cmd.addOption("--monitor-file", "+Dm", 1, "[f]ilename: string", - "calibrate output according to monitor\ncharacteristics defined in f"); - cmd.addOption("--printer-file", "+Dp", 1, "[f]ilename: string", - "calibrate output according to printer\ncharacteristics defined in f"); - cmd.addOption("--ambient-light", "+Da", 1, "[a]mbient light: float", - "ambient light value (cd/m^2, default: file f)"); - cmd.addOption("--illumination", "+Di", 1, "[i]llumination: float", - "illumination value (cd/m^2, default: file f)"); - cmd.addOption("--min-density", "+Dn", 1, "[m]inimum optical density: float", - "Dmin value (default: off, only with +Dp)"); - cmd.addOption("--max-density", "+Dx", 1, "[m]aximum optical density: float", - "Dmax value (default: off, only with +Dp)"); - cmd.addOption("--gsd-function", "+Dg", "use GSDF for calibration (default for +Dm/+Dp)"); - cmd.addOption("--cielab-function", "+Dc", "use CIELAB function for calibration "); - - cmd.addSubGroup("compatibility:"); - cmd.addOption("--accept-acr-nema", "+Ma", "accept ACR-NEMA images without photometric\ninterpretation"); - cmd.addOption("--accept-palettes", "+Mp", "accept incorrect palette attribute tags\n(0028,111x) and (0028,121x)"); - cmd.addOption("--check-lut-depth", "+Mc", "check 3rd value of the LUT descriptor, compare\nwith expected bit depth based on LUT data"); - cmd.addOption("--ignore-mlut-depth", "+Mm", "ignore 3rd value of the modality LUT descriptor,\ndetermine bits per table entry automatically"); - cmd.addOption("--ignore-vlut-depth", "+Mv", "ignore 3rd value of the VOI LUT descriptor,\ndetermine bits per table entry automatically"); - -#ifdef WITH_LIBTIFF - cmd.addSubGroup("TIFF format:"); - cmd.addOption("--compr-lzw", "+Tl", "LZW compression (default)"); - cmd.addOption("--compr-rle", "+Tr", "RLE compression"); - cmd.addOption("--compr-none", "+Tn", "uncompressed"); - cmd.addOption("--predictor-default", "+Pd", "no LZW predictor (default)"); - cmd.addOption("--predictor-none", "+Pn", "LZW predictor 1 (no prediction)"); - cmd.addOption("--predictor-horz", "+Ph", "LZW predictor 2 (horizontal differencing)"); - cmd.addOption("--rows-per-strip", "+Rs", 1, "[r]ows: integer (default: 0)", - "rows per strip, default 8K per strip"); -#endif - -#ifdef WITH_LIBPNG - cmd.addSubGroup("PNG format:"); - cmd.addOption("--interlace", "+il", "create interlaced file (default)"); - cmd.addOption("--nointerlace", "-il", "create non-interlaced file"); - cmd.addOption("--meta-file", "+mf", "create PNG file meta information (default)"); - cmd.addOption("--meta-none", "-mf", "no PNG file meta information"); -#endif - -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - cmd.addSubGroup("JPEG format"); - cmd.addOption("--compr-quality", "+Jq", 1, "[q]uality: integer (0..100, default: 90)", - "quality value for compression (in percent)"); - cmd.addOption("--sample-444", "+Js4", "4:4:4 sampling (no subsampling)"); - cmd.addOption("--sample-422", "+Js2", "4:2:2 subsampling (horizontal subsampling of\nchroma components, default)"); - cmd.addOption("--sample-411", "+Js1", "4:1:1 subsampling (horizontal and vertical\nsubsampling of chroma components)"); -#endif - - cmd.addSubGroup("other transformations:"); - cmd.addOption("--grayscale", "+G", "convert color image to grayscale (monochrome)"); - cmd.addOption("--change-polarity", "+P", "change polarity (invert pixel output)"); - cmd.addOption("--clip-region", "+C", 4, "[l]eft [t]op [w]idth [h]eight: integer", - "clip image region (l, t, w, h)"); - - cmd.addGroup("output options:"); - cmd.addSubGroup("general:"); - cmd.addOption("--image-info", "-im", "print image details (requires verbose mode)"); - cmd.addOption("--no-output", "-o", "do not create any output (useful with -im)"); - cmd.addSubGroup("filename generation (only with --frame-range or --all-frames):"); - cmd.addOption("--use-frame-counter", "+Fc", "use 0-based counter for filenames (default)"); - cmd.addOption("--use-frame-number", "+Fn", "use absolute frame number for filenames"); - cmd.addSubGroup("image format:"); - cmd.addOption("--write-raw-pnm", "+op", "write 8-bit binary PGM/PPM (default for files)"); - cmd.addOption("--write-8-bit-pnm", "+opb", "write 8-bit ASCII PGM/PPM (default for stdout)"); - cmd.addOption("--write-16-bit-pnm", "+opw", "write 16-bit ASCII PGM/PPM"); - cmd.addOption("--write-n-bit-pnm", "+opn", 1, "[n]umber: integer", - "write n-bit ASCII PGM/PPM (1..32)"); - cmd.addOption("--write-bmp", "+ob", "write 8-bit (monochrome) or 24-bit (color) BMP"); - cmd.addOption("--write-8-bit-bmp", "+obp", "write 8-bit palette BMP (monochrome only)"); - cmd.addOption("--write-24-bit-bmp", "+obt", "write 24-bit truecolor BMP"); - cmd.addOption("--write-32-bit-bmp", "+obr", "write 32-bit truecolor BMP"); -#ifdef WITH_LIBTIFF - cmd.addOption("--write-tiff", "+ot", "write 8-bit (monochrome) or 24-bit (color) TIFF"); -#endif -#ifdef WITH_LIBPNG - cmd.addOption("--write-png", "+on", "write 8-bit (monochrome) or 24-bit (color) PNG"); - cmd.addOption("--write-16-bit-png", "+on2", "write 16-bit (monochrome) or 48-bit (color) PNG"); -#endif -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - cmd.addOption("--write-jpeg", "+oj", "write 8-bit lossy JPEG (baseline)"); -#endif -#ifdef PASTEL_COLOR_OUTPUT - cmd.addOption("--write-pastel-pnm", "+op", "write 8-bit binary PPM with pastel colors\n(early experimental version)"); -#endif - - if (app.parseCommandLine(cmd, argc, argv)) - { - /* check exclusive options first */ - if (cmd.hasExclusiveOption()) - { - if (cmd.findOption("--version")) - { - app.printHeader(OFTrue /*print host identifier*/); - COUT << OFendl << "External libraries used:"; -#if !defined(WITH_ZLIB) && !defined(BUILD_DCM2PNM_AS_DCMJ2PNM) && !defined(BUILD_DCM2PNM_AS_DCML2PNM) && !defined(WITH_LIBTIFF) && !defined(WITH_LIBPNG) - COUT << " none" << OFendl; -#else - COUT << OFendl; -#endif -#ifdef WITH_ZLIB - COUT << "- ZLIB, Version " << zlibVersion() << OFendl; -#endif -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - COUT << "- " << DiJPEGPlugin::getLibraryVersionString() << OFendl; -#endif -#ifdef BUILD_DCM2PNM_AS_DCML2PNM - COUT << "- " << DJLSDecoderRegistration::getLibraryVersionString() << OFendl; -#endif -#ifdef WITH_LIBTIFF - COUT << "- " << DiTIFFPlugin::getLibraryVersionString() << OFendl; -#endif -#ifdef WITH_LIBPNG - COUT << "- " << DiPNGPlugin::getLibraryVersionString() << OFendl; -#endif - return 0; - } - } - - /* command line parameters */ - - cmd.getParam(1, opt_ifname); - cmd.getParam(2, opt_ofname); - - /* general options */ - - OFLog::configureFromCommandLine(cmd, app); - - /* input options: input file format */ - - cmd.beginOptionBlock(); - if (cmd.findOption("--read-file")) opt_readMode = ERM_autoDetect; - if (cmd.findOption("--read-file-only")) opt_readMode = ERM_fileOnly; - if (cmd.findOption("--read-dataset")) opt_readMode = ERM_dataset; - cmd.endOptionBlock(); - - /* input options: input transfer syntax */ - - cmd.beginOptionBlock(); - if (cmd.findOption("--read-xfer-auto")) - opt_transferSyntax = EXS_Unknown; - if (cmd.findOption("--read-xfer-detect")) - dcmAutoDetectDatasetXfer.set(OFTrue); - if (cmd.findOption("--read-xfer-little")) - { - app.checkDependence("--read-xfer-little", "--read-dataset", opt_readMode == ERM_dataset); - opt_transferSyntax = EXS_LittleEndianExplicit; - } - if (cmd.findOption("--read-xfer-big")) - { - app.checkDependence("--read-xfer-big", "--read-dataset", opt_readMode == ERM_dataset); - opt_transferSyntax = EXS_BigEndianExplicit; - } - if (cmd.findOption("--read-xfer-implicit")) - { - app.checkDependence("--read-xfer-implicit", "--read-dataset", opt_readMode == ERM_dataset); - opt_transferSyntax = EXS_LittleEndianImplicit; - } - cmd.endOptionBlock(); - - /* image processing options: compatibility options */ - - if (cmd.findOption("--accept-acr-nema")) - opt_compatibilityMode |= CIF_AcrNemaCompatibility; - if (cmd.findOption("--accept-palettes")) - opt_compatibilityMode |= CIF_WrongPaletteAttributeTags; - if (cmd.findOption("--check-lut-depth")) - opt_compatibilityMode |= CIF_CheckLutBitDepth; - if (cmd.findOption("--ignore-mlut-depth")) - opt_compatibilityMode |= CIF_IgnoreModalityLutBitDepth; - if (cmd.findOption("--ignore-vlut-depth")) - opt_ignoreVoiLutDepth = OFTrue; - - /* image processing options: frame selection */ - - cmd.beginOptionBlock(); - if (cmd.findOption("--frame")) - app.checkValue(cmd.getValueAndCheckMin(opt_frame, 1)); - if (cmd.findOption("--frame-range")) - { - app.checkValue(cmd.getValueAndCheckMin(opt_frame, 1)); - app.checkValue(cmd.getValueAndCheckMin(opt_frameCount, 1)); - opt_multiFrame = OFTrue; - } - if (cmd.findOption("--all-frames")) - { - opt_frameCount = 0; - opt_multiFrame = OFTrue; - } - cmd.endOptionBlock(); - - /* image processing options: other transformations */ - - if (cmd.findOption("--grayscale")) - opt_convertToGrayscale = 1; - if (cmd.findOption("--change-polarity")) - opt_changePolarity = 1; - - if (cmd.findOption("--clip-region")) - { - app.checkValue(cmd.getValue(opt_left)); - app.checkValue(cmd.getValue(opt_top)); - app.checkValue(cmd.getValue(opt_width)); - app.checkValue(cmd.getValue(opt_height)); - opt_useClip = 1; - } - - /* image processing options: rotation */ - - cmd.beginOptionBlock(); - if (cmd.findOption("--rotate-left")) - opt_rotateDegree = 270; - if (cmd.findOption("--rotate-right")) - opt_rotateDegree = 90; - if (cmd.findOption("--rotate-top-down")) - opt_rotateDegree = 180; - cmd.endOptionBlock(); - - /* image processing options: flipping */ - - cmd.beginOptionBlock(); - if (cmd.findOption("--flip-horizontally")) - opt_flipType = 1; - if (cmd.findOption("--flip-vertically")) - opt_flipType = 2; - if (cmd.findOption("--flip-both-axes")) - opt_flipType = 3; - cmd.endOptionBlock(); - - /* image processing options: scaling */ - - cmd.beginOptionBlock(); - if (cmd.findOption("--recognize-aspect")) - opt_useAspectRatio = 1; - if (cmd.findOption("--ignore-aspect")) - opt_useAspectRatio = 0; - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--interpolate")) - app.checkValue(cmd.getValueAndCheckMinMax(opt_useInterpolation, 1, 4)); - if (cmd.findOption("--no-interpolation")) - opt_useInterpolation = 0; - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--no-scaling")) - opt_scaleType = 0; - if (cmd.findOption("--scale-x-factor")) - { - opt_scaleType = 1; - app.checkValue(cmd.getValueAndCheckMin(opt_scale_factor, 0.0, OFFalse)); - } - if (cmd.findOption("--scale-y-factor")) - { - opt_scaleType = 2; - app.checkValue(cmd.getValueAndCheckMin(opt_scale_factor, 0.0, OFFalse)); - } - if (cmd.findOption("--scale-x-size")) - { - opt_scaleType = 3; - app.checkValue(cmd.getValueAndCheckMin(opt_scale_size, 1)); - } - if (cmd.findOption("--scale-y-size")) - { - opt_scaleType = 4; - app.checkValue(cmd.getValueAndCheckMin(opt_scale_size, 1)); - } - cmd.endOptionBlock(); - - /* image processing options: color space conversion */ - -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - cmd.beginOptionBlock(); - if (cmd.findOption("--conv-photometric")) - opt_decompCSconversion = EDC_photometricInterpretation; - if (cmd.findOption("--conv-lossy")) - opt_decompCSconversion = EDC_lossyOnly; - if (cmd.findOption("--conv-guess")) - opt_decompCSconversion = EDC_guess; - if (cmd.findOption("--conv-guess-lossy")) - opt_decompCSconversion = EDC_guessLossyOnly; - if (cmd.findOption("--conv-always")) - opt_decompCSconversion = EDC_always; - if (cmd.findOption("--conv-never")) - opt_decompCSconversion = EDC_never; - cmd.endOptionBlock(); - - if (cmd.findOption("--workaround-pred6")) opt_predictor6WorkaroundEnable = OFTrue; - if (cmd.findOption("--workaround-incpl")) opt_forceSingleFragmentPerFrame = OFTrue; - if (cmd.findOption("--workaround-cornell")) opt_cornellWorkaroundEnable = OFTrue; -#endif - - /* image processing options: modality LUT transformation */ - - cmd.beginOptionBlock(); - if (cmd.findOption("--no-modality")) - opt_compatibilityMode |= CIF_IgnoreModalityTransformation; - if (cmd.findOption("--use-modality")) - opt_compatibilityMode &= ~CIF_IgnoreModalityTransformation; - cmd.endOptionBlock(); - - /* image processing options: VOI LUT transformation */ - - cmd.beginOptionBlock(); - if (cmd.findOption("--no-windowing")) - opt_windowType = 0; - if (cmd.findOption("--use-window")) - { - opt_windowType = 1; - app.checkValue(cmd.getValueAndCheckMin(opt_windowParameter, 1)); - } - if (cmd.findOption("--use-voi-lut")) - { - opt_windowType = 2; - app.checkValue(cmd.getValueAndCheckMin(opt_windowParameter, 1)); - } - if (cmd.findOption("--min-max-window")) - opt_windowType = 3; - if (cmd.findOption("--min-max-window-n")) - opt_windowType = 6; - if (cmd.findOption("--roi-min-max-window")) - { - opt_windowType = 7; - app.checkValue(cmd.getValue(opt_roiLeft)); - app.checkValue(cmd.getValue(opt_roiTop)); - app.checkValue(cmd.getValueAndCheckMin(opt_roiWidth, 1)); - app.checkValue(cmd.getValueAndCheckMin(opt_roiHeight, 1)); - } - if (cmd.findOption("--histogram-window")) - { - opt_windowType = 4; - app.checkValue(cmd.getValueAndCheckMinMax(opt_windowParameter, 0, 100)); - } - if (cmd.findOption("--set-window")) - { - opt_windowType = 5; - app.checkValue(cmd.getValue(opt_windowCenter)); - app.checkValue(cmd.getValueAndCheckMin(opt_windowWidth, 1.0)); - } - cmd.endOptionBlock(); - cmd.beginOptionBlock(); - if (cmd.findOption("--linear-function")) - opt_voiFunction = EFV_Linear; - if (cmd.findOption("--sigmoid-function")) - opt_voiFunction = EFV_Sigmoid; - cmd.endOptionBlock(); - - /* image processing options: presentation LUT transformation */ - - cmd.beginOptionBlock(); - if (cmd.findOption("--identity-shape")) - opt_presShape = ESP_Identity; - if (cmd.findOption("--inverse-shape")) - opt_presShape = ESP_Inverse; - if (cmd.findOption("--lin-od-shape")) - opt_presShape = ESP_LinOD; - cmd.endOptionBlock(); - - /* image processing options: display LUT transformation */ - - cmd.beginOptionBlock(); - if (cmd.findOption("--monitor-file")) - { - app.checkValue(cmd.getValue(opt_displayFile)); - deviceType = DiDisplayFunction::EDT_Monitor; - } - if (cmd.findOption("--printer-file")) - { - app.checkValue(cmd.getValue(opt_displayFile)); - deviceType = DiDisplayFunction::EDT_Printer; - } - cmd.endOptionBlock(); - - if (cmd.findOption("--ambient-light")) - app.checkValue(cmd.getValueAndCheckMin(opt_ambientLight, 0)); - if (cmd.findOption("--illumination")) - app.checkValue(cmd.getValueAndCheckMin(opt_illumination, 0)); - if (cmd.findOption("--min-density")) - { - app.checkDependence("--min-density", "--printer-file", deviceType == DiDisplayFunction::EDT_Printer); - app.checkValue(cmd.getValueAndCheckMin(opt_minDensity, 0)); - } - if (cmd.findOption("--max-density")) - { - app.checkDependence("--max-density", "--printer-file", deviceType == DiDisplayFunction::EDT_Printer); - app.checkValue(cmd.getValueAndCheckMin(opt_maxDensity, (opt_minDensity < 0) ? 0.0 : opt_minDensity, OFFalse /*incl*/)); - } - - cmd.beginOptionBlock(); - if (cmd.findOption("--gsd-function")) - opt_displayFunction = 0; - if (cmd.findOption("--cielab-function")) - opt_displayFunction = 1; - cmd.endOptionBlock(); - - /* image processing options: overlay */ - - cmd.beginOptionBlock(); - if (cmd.findOption("--no-overlays")) - { - opt_O_used = 1; - for (i = 0; i < 16; i++) - opt_Overlay[i] = 0; - } - if (cmd.findOption("--display-overlay", 0, OFCommandLine::FOM_First)) - { - do { - unsigned long l; - app.checkValue(cmd.getValueAndCheckMinMax(l, 0, 16)); - if (!opt_O_used) - { - for (i = 0; i < 16; i++) opt_Overlay[i] = 0; - opt_O_used = 1; - } - if (l > 0) - opt_Overlay[l - 1] = 1; - else - { - for (i = 0; i < 16; i++) - opt_Overlay[i] = 2; - } - } while (cmd.findOption("--display-overlay", 0, OFCommandLine::FOM_Next)); - } - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--ovl-replace")) - opt_OverlayMode = EMO_Replace; - if (cmd.findOption("--ovl-threshold")) - opt_OverlayMode = EMO_ThresholdReplace; - if (cmd.findOption("--ovl-complement")) - opt_OverlayMode = EMO_Complement; - if (cmd.findOption("--ovl-invert")) - opt_OverlayMode = EMO_InvertBitmap; - if (cmd.findOption("--ovl-roi")) - opt_OverlayMode = EMO_RegionOfInterest; - cmd.endOptionBlock(); - - if (cmd.findOption("--set-foreground")) - app.checkValue(cmd.getValueAndCheckMinMax(opt_foregroundDensity, 0.0, 1.0)); - if (cmd.findOption("--set-threshold")) - app.checkValue(cmd.getValueAndCheckMinMax(opt_thresholdDensity, 0.0, 1.0)); - - /* image processing options: TIFF options */ - -#ifdef WITH_LIBTIFF - cmd.beginOptionBlock(); - if (cmd.findOption("--compr-lzw")) opt_tiffCompression = E_tiffLZWCompression; - if (cmd.findOption("--compr-rle")) opt_tiffCompression = E_tiffPackBitsCompression; - if (cmd.findOption("--compr-none")) opt_tiffCompression = E_tiffNoCompression; - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--predictor-default")) opt_lzwPredictor = E_tiffLZWPredictorDefault; - if (cmd.findOption("--predictor-none")) opt_lzwPredictor = E_tiffLZWPredictorNoPrediction; - if (cmd.findOption("--predictor-horz")) opt_lzwPredictor = E_tiffLZWPredictorHDifferencing; - cmd.endOptionBlock(); - - if (cmd.findOption("--rows-per-strip")) - app.checkValue(cmd.getValueAndCheckMinMax(opt_rowsPerStrip, 0, 65535)); -#endif - - /* image processing options: PNG options */ - -#ifdef WITH_LIBPNG - cmd.beginOptionBlock(); - if (cmd.findOption("--interlace")) opt_interlace = E_pngInterlaceAdam7; - if (cmd.findOption("--nointerlace")) opt_interlace = E_pngInterlaceNone; - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--meta-none")) opt_metainfo = E_pngNoMetainfo; - if (cmd.findOption("--meta-file")) opt_metainfo = E_pngFileMetainfo; - cmd.endOptionBlock(); -#endif - - /* image processing options: JPEG options */ - -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - if (cmd.findOption("--compr-quality")) - app.checkValue(cmd.getValueAndCheckMinMax(opt_quality, 0, 100)); - cmd.beginOptionBlock(); - if (cmd.findOption("--sample-444")) - opt_sampling = ESS_444; - if (cmd.findOption("--sample-422")) - opt_sampling = ESS_422; - if (cmd.findOption("--sample-411")) - opt_sampling = ESS_411; - cmd.endOptionBlock(); -#endif - - /* output options */ - - if (cmd.findOption("--image-info")) - { - app.checkDependence("--image-info", "verbose mode", dcm2pnmLogger.isEnabledFor(OFLogger::INFO_LOG_LEVEL)); - opt_imageInfo = 1; - } - - cmd.beginOptionBlock(); - if (cmd.findOption("--use-frame-counter")) - { - app.checkDependence("--use-frame-counter", "--frame-range or --all-frames", opt_multiFrame); - opt_useFrameNumber = OFFalse; - } - if (cmd.findOption("--use-frame-number")) - { - app.checkDependence("--use-frame-number", "--frame-range or --all-frames", opt_multiFrame); - opt_useFrameNumber = OFTrue; - } - cmd.endOptionBlock(); - - cmd.beginOptionBlock(); - if (cmd.findOption("--no-output")) - opt_suppressOutput = 1; - if (cmd.findOption("--write-raw-pnm")) - opt_fileType = EFT_RawPNM; - if (cmd.findOption("--write-8-bit-pnm")) - opt_fileType = EFT_8bitPNM; - if (cmd.findOption("--write-16-bit-pnm")) - opt_fileType = EFT_16bitPNM; - if (cmd.findOption("--write-n-bit-pnm")) - { - opt_fileType = EFT_NbitPNM; - app.checkValue(cmd.getValueAndCheckMinMax(opt_fileBits, 1, 32)); - } - if (cmd.findOption("--write-bmp")) - opt_fileType = EFT_BMP; - if (cmd.findOption("--write-8-bit-bmp")) - opt_fileType = EFT_8bitBMP; - if (cmd.findOption("--write-24-bit-bmp")) - opt_fileType = EFT_24bitBMP; - if (cmd.findOption("--write-32-bit-bmp")) - opt_fileType = EFT_32bitBMP; -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - if (cmd.findOption("--write-jpeg")) - opt_fileType = EFT_JPEG; -#endif -#ifdef WITH_LIBTIFF - if (cmd.findOption("--write-tiff")) - opt_fileType = EFT_TIFF; -#endif -#ifdef WITH_LIBPNG - if (cmd.findOption("--write-png")) - opt_fileType = EFT_PNG; - if (cmd.findOption("--write-16-bit-png")) - opt_fileType = EFT_16bitPNG; -#endif -#ifdef PASTEL_COLOR_OUTPUT - if (cmd.findOption("--write-pastel-pnm")) - opt_fileType = EFT_PastelPNM; -#endif - cmd.endOptionBlock(); - } - - /* print resource identifier */ - OFLOG_DEBUG(dcm2pnmLogger, rcsid << OFendl); - - /* make sure data dictionary is loaded */ - if (!dcmDataDict.isDictionaryLoaded()) - { - OFLOG_WARN(dcm2pnmLogger, "no data dictionary loaded, check environment variable: " - << DCM_DICT_ENVIRONMENT_VARIABLE); - } - - if (opt_suppressOutput && opt_ofname) - OFLOG_WARN(dcm2pnmLogger, "ignoring parameter bitmap-out because of option --no-output"); - - OFLOG_INFO(dcm2pnmLogger, "reading DICOM file: " << opt_ifname); - - // register RLE decompression codec - DcmRLEDecoderRegistration::registerCodecs(); -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - // register JPEG decompression codecs - DJDecoderRegistration::registerCodecs(opt_decompCSconversion, EUC_default, - EPC_default, opt_predictor6WorkaroundEnable, opt_cornellWorkaroundEnable, - opt_forceSingleFragmentPerFrame); -#endif -#ifdef BUILD_DCM2PNM_AS_DCML2PNM - // register JPEG-LS decompression codecs - DJLSDecoderRegistration::registerCodecs(); -#endif - - DcmFileFormat *dfile = new DcmFileFormat(); - OFCondition cond = dfile->loadFile(opt_ifname, opt_transferSyntax, EGL_withoutGL, DCM_MaxReadLength, opt_readMode); - - if (cond.bad()) - { - OFLOG_FATAL(dcm2pnmLogger, cond.text() << ": reading file: " << opt_ifname); - return 1; - } - - OFLOG_INFO(dcm2pnmLogger, "preparing pixel data"); - - DcmDataset *dataset = dfile->getDataset(); - E_TransferSyntax xfer = dataset->getOriginalXfer(); - - Sint32 frameCount; - if (dataset->findAndGetSint32(DCM_NumberOfFrames, frameCount).bad()) - frameCount = 1; - if ((opt_frameCount == 0) || ((opt_frame == 1) && (opt_frameCount == OFstatic_cast(Uint32, frameCount)))) - { - // since we process all frames anyway, decompress the complete pixel data (if required) - opt_compatibilityMode |= CIF_DecompressCompletePixelData; - } - if ((frameCount > 1) && !(opt_compatibilityMode & CIF_DecompressCompletePixelData)) - { - // use partial read access to pixel data (only in case of multiple frames, but not for all frames) - opt_compatibilityMode |= CIF_UsePartialAccessToPixelData; - } - - DicomImage *di = new DicomImage(dfile, xfer, opt_compatibilityMode, opt_frame - 1, opt_frameCount); - if (di == NULL) - { - OFLOG_FATAL(dcm2pnmLogger, "Out of memory"); - return 1; - } - - if (di->getStatus() != EIS_Normal) - { - OFLOG_FATAL(dcm2pnmLogger, DicomImage::getString(di->getStatus())); - return 1; - } - - /* create & set display function */ - DiDisplayFunction *disp = NULL; - if (!opt_displayFile.empty()) - { - if (opt_displayFunction == 1) - disp = new DiCIELABFunction(opt_displayFile.c_str(), deviceType); - else - disp = new DiGSDFunction(opt_displayFile.c_str(), deviceType); - if (disp != NULL) - { - if (opt_ambientLight >= 0) - disp->setAmbientLightValue(opt_ambientLight); - if (opt_illumination >= 0) - disp->setIlluminationValue(opt_illumination); - if (opt_minDensity >= 0) - disp->setMinDensityValue(opt_minDensity); - if (opt_maxDensity >= 0) - disp->setMaxDensityValue(opt_maxDensity); - if ((di != NULL) && (disp->isValid())) - { - OFLOG_INFO(dcm2pnmLogger, "activating " - << ((opt_displayFunction == 1) ? "CIELAB" : "GSDF") - << " display function for " - << ((deviceType == DiDisplayFunction::EDT_Monitor) ? "softcopy" : "hardcopy") - << " devices"); - if (!di->setDisplayFunction(disp)) - OFLOG_WARN(dcm2pnmLogger, "cannot select display function"); - } - } - } - - if (opt_imageInfo) - { - /* dump image parameters */ - OFLOG_INFO(dcm2pnmLogger, "dumping image parameters"); - - double minVal = 0.0; - double maxVal = 0.0; - const char *colorModel; - const char *SOPClassUID = NULL; - const char *SOPInstanceUID = NULL; - const char *SOPClassText = NULL; - const char *XferText = DcmXfer(xfer).getXferName(); - - int minmaxValid = di->getMinMaxValues(minVal, maxVal); - colorModel = di->getString(di->getPhotometricInterpretation()); - if (colorModel == NULL) - colorModel = "unknown"; - - dataset->findAndGetString(DCM_SOPClassUID, SOPClassUID); - dataset->findAndGetString(DCM_SOPInstanceUID, SOPInstanceUID); - - if (SOPInstanceUID == NULL) - SOPInstanceUID = "not present"; - if (SOPClassUID == NULL) - SOPClassText = "not present"; - else - SOPClassText = dcmFindNameOfUID(SOPClassUID); - if (SOPClassText == NULL) - SOPClassText = SOPClassUID; - - char aspectRatio[30]; - OFStandard::ftoa(aspectRatio, sizeof(aspectRatio), di->getHeightWidthRatio(), OFStandard::ftoa_format_f, 0, 2); - - /* dump some general information */ - OFLOG_INFO(dcm2pnmLogger, " filename : " << opt_ifname << OFendl - << " transfer syntax : " << XferText << OFendl - << " SOP class : " << SOPClassText << OFendl - << " SOP instance UID : " << SOPInstanceUID << OFendl - << " columns x rows : " << di->getWidth() << " x " << di->getHeight() << OFendl - << " bits per sample : " << di->getDepth() << OFendl - << " color model : " << colorModel << OFendl - << " pixel aspect ratio : " << aspectRatio << OFendl - << " number of frames : " << di->getNumberOfFrames() << " (" << di->getFrameCount() << " processed)"); - if (di->getFrameTime() > 0) - OFLOG_INFO(dcm2pnmLogger, " frame time (in ms) : " << di->getFrameTime()); - - /* dump VOI windows */ - unsigned long count; - OFString explStr, funcStr; - count = di->getWindowCount(); - switch (di->getVoiLutFunction()) - { - case EFV_Default: - funcStr = ""; - break; - case EFV_Linear: - funcStr = "LINEAR"; - break; - case EFV_Sigmoid: - funcStr = "SIGMOID"; - break; - } - OFLOG_INFO(dcm2pnmLogger, " VOI LUT function : " << funcStr); - OFLOG_INFO(dcm2pnmLogger, " VOI windows in file : " << di->getWindowCount()); - for (i = 0; i < count; i++) - { - if (di->getVoiWindowExplanation(i, explStr) == NULL) - OFLOG_INFO(dcm2pnmLogger, " - "); - else - OFLOG_INFO(dcm2pnmLogger, " - " << explStr); - } - - /* dump VOI LUTs */ - count = di->getVoiLutCount(); - OFLOG_INFO(dcm2pnmLogger, " VOI LUTs in file : " << count); - for (i = 0; i < count; i++) - { - if (di->getVoiLutExplanation(i, explStr) == NULL) - OFLOG_INFO(dcm2pnmLogger, " - "); - else - OFLOG_INFO(dcm2pnmLogger, " - " << explStr); - } - - /* dump presentation LUT shape */ - OFString shapeStr; - switch (di->getPresentationLutShape()) - { - case ESP_Default: - shapeStr = ""; - break; - case ESP_Identity: - shapeStr = "IDENTITY"; - break; - case ESP_Inverse: - shapeStr = "INVERSE"; - break; - case ESP_LinOD: - shapeStr = "LIN OD"; - break; - } - OFLOG_INFO(dcm2pnmLogger, " presentation shape : " << shapeStr); - - /* dump overlays */ - OFLOG_INFO(dcm2pnmLogger, " overlays in file : " << di->getOverlayCount()); - - if (minmaxValid) - { - char minmaxText[30]; - OFStandard::ftoa(minmaxText, sizeof(minmaxText), maxVal, OFStandard::ftoa_format_f, 0, 0); - OFLOG_INFO(dcm2pnmLogger, " maximum pixel value : " << minmaxText); - OFStandard::ftoa(minmaxText, sizeof(minmaxText), minVal, OFStandard::ftoa_format_f, 0, 0); - OFLOG_INFO(dcm2pnmLogger, " minimum pixel value : " << minmaxText); - } - } - - if (!opt_suppressOutput) - { - /* try to select frame */ - if (opt_frame != di->getFirstFrame() + 1) - { - OFLOG_FATAL(dcm2pnmLogger, "cannot select frame " << opt_frame << ", invalid frame number"); - return 1; - } - - /* convert to grayscale if image is not monochrome */ - if ((opt_convertToGrayscale) && (!di->isMonochrome())) - { - OFLOG_INFO(dcm2pnmLogger, "converting image to grayscale"); - - DicomImage *newimage = di->createMonochromeImage(); - if (newimage == NULL) - { - OFLOG_FATAL(dcm2pnmLogger, "Out of memory or cannot convert to monochrome image"); - return 1; - } - else if (newimage->getStatus() != EIS_Normal) - { - OFLOG_FATAL(dcm2pnmLogger, DicomImage::getString(newimage->getStatus())); - return 1; - } - else - { - delete di; - di = newimage; - } - } - - /* process overlay parameters */ - di->hideAllOverlays(); - for (unsigned int k = 0; k < 16; k++) - { - if (opt_Overlay[k]) - { - if ((opt_Overlay[k] == 1) || (k < di->getOverlayCount())) - { - OFLOG_INFO(dcm2pnmLogger, "activating overlay plane " << k + 1); - if (opt_OverlayMode != EMO_Default) - { - if (!di->showOverlay(k, opt_OverlayMode, opt_foregroundDensity, opt_thresholdDensity)) - OFLOG_WARN(dcm2pnmLogger, "cannot display overlay plane " << k + 1); - } else { - if (!di->showOverlay(k)) /* use default values */ - OFLOG_WARN(dcm2pnmLogger, "cannot display overlay plane " << k + 1); - } - } - } - } - - /* process VOI parameters */ - switch (opt_windowType) - { - case 1: /* use the n-th VOI window from the image file */ - if ((opt_windowParameter < 1) || (opt_windowParameter > di->getWindowCount())) - { - OFLOG_FATAL(dcm2pnmLogger, "cannot select VOI window " << opt_windowParameter << ", only " - << di->getWindowCount() << " window(s) in file"); - return 1; - } - OFLOG_INFO(dcm2pnmLogger, "activating VOI window " << opt_windowParameter); - if (!di->setWindow(opt_windowParameter - 1)) - OFLOG_WARN(dcm2pnmLogger, "cannot select VOI window " << opt_windowParameter); - break; - case 2: /* use the n-th VOI look up table from the image file */ - if ((opt_windowParameter < 1) || (opt_windowParameter > di->getVoiLutCount())) - { - OFLOG_FATAL(dcm2pnmLogger, "cannot select VOI LUT " << opt_windowParameter << ", only " - << di->getVoiLutCount() << " LUT(s) in file"); - return 1; - } - OFLOG_INFO(dcm2pnmLogger, "activating VOI LUT " << opt_windowParameter); - if (!di->setVoiLut(opt_windowParameter - 1, opt_ignoreVoiLutDepth ? ELM_IgnoreValue : ELM_UseValue)) - OFLOG_WARN(dcm2pnmLogger, "cannot select VOI LUT " << opt_windowParameter); - break; - case 3: /* Compute VOI window using min-max algorithm */ - OFLOG_INFO(dcm2pnmLogger, "activating VOI window min-max algorithm"); - if (!di->setMinMaxWindow(0)) - OFLOG_WARN(dcm2pnmLogger, "cannot compute min/max VOI window"); - break; - case 4: /* Compute VOI window using Histogram algorithm, ignoring n percent */ - OFLOG_INFO(dcm2pnmLogger, "activating VOI window histogram algorithm, ignoring " << opt_windowParameter << "%"); - if (!di->setHistogramWindow(OFstatic_cast(double, opt_windowParameter)/100.0)) - OFLOG_WARN(dcm2pnmLogger, "cannot compute histogram VOI window"); - break; - case 5: /* Compute VOI window using center and width */ - OFLOG_INFO(dcm2pnmLogger, "activating VOI window center=" << opt_windowCenter << ", width=" << opt_windowWidth); - if (!di->setWindow(opt_windowCenter, opt_windowWidth)) - OFLOG_WARN(dcm2pnmLogger, "cannot set VOI window to specified values"); - break; - case 6: /* Compute VOI window using min-max algorithm ignoring extremes */ - OFLOG_INFO(dcm2pnmLogger, "activating VOI window min-max algorithm, ignoring extreme values"); - if (!di->setMinMaxWindow(1)) - OFLOG_WARN(dcm2pnmLogger, "cannot compute min/max VOI window"); - break; - case 7: /* Compute region of interest VOI window */ - OFLOG_INFO(dcm2pnmLogger, "activating region of interest VOI window"); - if (!di->setRoiWindow(opt_roiLeft, opt_roiTop, opt_roiWidth, opt_roiHeight)) - OFLOG_WARN(dcm2pnmLogger, "cannot compute region of interest VOI window"); - break; - default: /* no VOI windowing */ - if (di->isMonochrome()) - { - OFLOG_INFO(dcm2pnmLogger, "disabling VOI window computation"); - if (!di->setNoVoiTransformation()) - OFLOG_WARN(dcm2pnmLogger, "cannot ignore VOI window"); - } - break; - } - /* VOI LUT function */ - if (opt_voiFunction != EFV_Default) - { - if (opt_voiFunction == EFV_Linear) - OFLOG_INFO(dcm2pnmLogger, "setting VOI LUT function to LINEAR"); - else if (opt_voiFunction == EFV_Sigmoid) - OFLOG_INFO(dcm2pnmLogger, "setting VOI LUT function to SIGMOID"); - if (!di->setVoiLutFunction(opt_voiFunction)) - OFLOG_WARN(dcm2pnmLogger, "cannot set VOI LUT function"); - } - - /* process presentation LUT parameters */ - if (opt_presShape != ESP_Default) - { - if (opt_presShape == ESP_Identity) - OFLOG_INFO(dcm2pnmLogger, "setting presentation LUT shape to IDENTITY"); - else if (opt_presShape == ESP_Inverse) - OFLOG_INFO(dcm2pnmLogger, "setting presentation LUT shape to INVERSE"); - else if (opt_presShape == ESP_LinOD) - OFLOG_INFO(dcm2pnmLogger, "setting presentation LUT shape to LIN OD"); - if (!di->setPresentationLutShape(opt_presShape)) - OFLOG_WARN(dcm2pnmLogger, "cannot set presentation LUT shape"); - } - - /* change polarity */ - if (opt_changePolarity) - { - OFLOG_INFO(dcm2pnmLogger, "setting polarity to REVERSE"); - if (!di->setPolarity(EPP_Reverse)) - OFLOG_WARN(dcm2pnmLogger, "cannot set polarity"); - } - - /* perform clipping */ - if (opt_useClip && (opt_scaleType == 0)) - { - OFLOG_INFO(dcm2pnmLogger, "clipping image to (" << opt_left << "," << opt_top << "," << opt_width - << "," << opt_height << ")"); - DicomImage *newimage = di->createClippedImage(opt_left, opt_top, opt_width, opt_height); - if (newimage == NULL) - { - OFLOG_FATAL(dcm2pnmLogger, "clipping to (" << opt_left << "," << opt_top << "," << opt_width - << "," << opt_height << ") failed"); - return 1; - } else if (newimage->getStatus() != EIS_Normal) - { - OFLOG_FATAL(dcm2pnmLogger, DicomImage::getString(newimage->getStatus())); - return 1; - } - else - { - delete di; - di = newimage; - } - } - - /* perform rotation */ - if (opt_rotateDegree > 0) - { - OFLOG_INFO(dcm2pnmLogger, "rotating image by " << opt_rotateDegree << " degrees"); - if (!di->rotateImage(opt_rotateDegree)) - OFLOG_WARN(dcm2pnmLogger, "cannot rotate image"); - } - - /* perform flipping */ - if (opt_flipType > 0) - { - switch (opt_flipType) - { - case 1: - OFLOG_INFO(dcm2pnmLogger, "flipping image horizontally"); - if (!di->flipImage(1, 0)) - OFLOG_WARN(dcm2pnmLogger, "cannot flip image"); - break; - case 2: - OFLOG_INFO(dcm2pnmLogger, "flipping image vertically"); - if (!di->flipImage(0, 1)) - OFLOG_WARN(dcm2pnmLogger, "cannot flip image"); - break; - case 3: - OFLOG_INFO(dcm2pnmLogger, "flipping image horizontally and vertically"); - if (!di->flipImage(1, 1)) - OFLOG_WARN(dcm2pnmLogger, "cannot flip image"); - break; - default: - break; - } - } - - /* perform scaling */ - if (opt_scaleType > 0) - { - DicomImage *newimage; - if (opt_useClip) - OFLOG_INFO(dcm2pnmLogger, "clipping image to (" << opt_left << "," << opt_top << "," << opt_width << "," << opt_height << ")"); - switch (opt_scaleType) - { - case 1: - OFLOG_INFO(dcm2pnmLogger, "scaling image, X factor=" << opt_scale_factor - << ", Interpolation=" << OFstatic_cast(int, opt_useInterpolation) - << ", Aspect Ratio=" << (opt_useAspectRatio ? "yes" : "no")); - if (opt_useClip) - newimage = di->createScaledImage(opt_left, opt_top, opt_width, opt_height, opt_scale_factor, 0.0, - OFstatic_cast(int, opt_useInterpolation), opt_useAspectRatio); - else - newimage = di->createScaledImage(opt_scale_factor, 0.0, OFstatic_cast(int, opt_useInterpolation), - opt_useAspectRatio); - break; - case 2: - OFLOG_INFO(dcm2pnmLogger, "scaling image, Y factor=" << opt_scale_factor - << ", Interpolation=" << OFstatic_cast(int, opt_useInterpolation) - << ", Aspect Ratio=" << (opt_useAspectRatio ? "yes" : "no")); - if (opt_useClip) - newimage = di->createScaledImage(opt_left, opt_top, opt_width, opt_height, 0.0, opt_scale_factor, - OFstatic_cast(int, opt_useInterpolation), opt_useAspectRatio); - else - newimage = di->createScaledImage(0.0, opt_scale_factor, OFstatic_cast(int, opt_useInterpolation), - opt_useAspectRatio); - break; - case 3: - OFLOG_INFO(dcm2pnmLogger, "scaling image, X size=" << opt_scale_size - << ", Interpolation=" << OFstatic_cast(int, opt_useInterpolation) - << ", Aspect Ratio=" << (opt_useAspectRatio ? "yes" : "no")); - if (opt_useClip) - newimage = di->createScaledImage(opt_left, opt_top, opt_width, opt_height, opt_scale_size, 0, - OFstatic_cast(int, opt_useInterpolation), opt_useAspectRatio); - else - newimage = di->createScaledImage(opt_scale_size, 0, OFstatic_cast(int, opt_useInterpolation), - opt_useAspectRatio); - break; - case 4: - OFLOG_INFO(dcm2pnmLogger, "scaling image, Y size=" << opt_scale_size - << ", Interpolation=" << OFstatic_cast(int, opt_useInterpolation) - << ", Aspect Ratio=" << (opt_useAspectRatio ? "yes" : "no")); - if (opt_useClip) - newimage = di->createScaledImage(opt_left, opt_top, opt_width, opt_height, 0, opt_scale_size, - OFstatic_cast(int, opt_useInterpolation), opt_useAspectRatio); - else - newimage = di->createScaledImage(0, opt_scale_size, OFstatic_cast(int, opt_useInterpolation), - opt_useAspectRatio); - break; - default: - OFLOG_INFO(dcm2pnmLogger, "internal error: unknown scaling type"); - newimage = NULL; - break; - } - if (newimage == NULL) - { - OFLOG_FATAL(dcm2pnmLogger, "Out of memory or cannot scale image"); - return 1; - } - else if (newimage->getStatus() != EIS_Normal) - { - OFLOG_FATAL(dcm2pnmLogger, DicomImage::getString(newimage->getStatus())); - return 1; - } - else - { - delete di; - di = newimage; - } - } - - /* write selected frame(s) to file */ - - int result = 0; - FILE *ofile = NULL; - OFString ofname; - unsigned int fcount = OFstatic_cast(unsigned int, ((opt_frameCount > 0) && (opt_frameCount <= di->getFrameCount())) ? opt_frameCount : di->getFrameCount()); - const char *ofext = NULL; - /* determine default file extension */ - switch (opt_fileType) - { - case EFT_BMP: - case EFT_8bitBMP: - case EFT_24bitBMP: - case EFT_32bitBMP: - ofext = "bmp"; - break; - case EFT_JPEG: - ofext = "jpg"; - break; - case EFT_TIFF: - ofext = "tif"; - break; - case EFT_PNG: - case EFT_16bitPNG: - ofext = "png"; - break; - default: - if (di->isMonochrome()) ofext = "pgm"; else ofext = "ppm"; - break; - } - - if (fcount < opt_frameCount) - { - OFLOG_WARN(dcm2pnmLogger, "cannot select " << opt_frameCount << " frames, limiting to " - << fcount << " frames"); - } - - for (unsigned int frame = 0; frame < fcount; frame++) - { - if (opt_ofname) - { - /* output to file */ - if (opt_multiFrame) - { - OFOStringStream stream; - /* generate output filename */ - stream << opt_ofname << "."; - if (opt_useFrameNumber) - stream << "f" << (opt_frame + frame); - else - stream << frame; - stream << "." << ofext << OFStringStream_ends; - /* convert string stream into a character string */ - OFSTRINGSTREAM_GETSTR(stream, buffer_str) - ofname.assign(buffer_str); - OFSTRINGSTREAM_FREESTR(buffer_str) - } else - ofname.assign(opt_ofname); - OFLOG_INFO(dcm2pnmLogger, "writing frame " << (opt_frame + frame) << " to " << ofname); - ofile = fopen(ofname.c_str(), "wb"); - if (ofile == NULL) - { - OFLOG_FATAL(dcm2pnmLogger, "cannot create file " << ofname); - return 1; - } - } else { - /* output to stdout */ - ofile = stdout; - OFLOG_INFO(dcm2pnmLogger, "writing frame " << (opt_frame + frame) << " to stdout"); - } - - /* finally create output image file */ - - switch (opt_fileType) - { - case EFT_RawPNM: - result = di->writeRawPPM(ofile, 8, frame); - break; - case EFT_8bitPNM: - result = di->writePPM(ofile, 8, frame); - break; - case EFT_16bitPNM: - result = di->writePPM(ofile, 16, frame); - break; - case EFT_NbitPNM: - result = di->writePPM(ofile, OFstatic_cast(int, opt_fileBits), frame); - break; - case EFT_BMP: - result = di->writeBMP(ofile, 0, frame); - break; - case EFT_8bitBMP: - result = di->writeBMP(ofile, 8, frame); - break; - case EFT_24bitBMP: - result = di->writeBMP(ofile, 24, frame); - break; - case EFT_32bitBMP: - result = di->writeBMP(ofile, 32, frame); - break; -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - case EFT_JPEG: - { - /* initialize JPEG plugin */ - DiJPEGPlugin plugin; - plugin.setQuality(OFstatic_cast(unsigned int, opt_quality)); - plugin.setSampling(opt_sampling); - result = di->writePluginFormat(&plugin, ofile, frame); - } - break; -#endif -#ifdef WITH_LIBTIFF - case EFT_TIFF: - { - /* initialize TIFF plugin */ - DiTIFFPlugin tiffPlugin; - tiffPlugin.setCompressionType(opt_tiffCompression); - tiffPlugin.setLZWPredictor(opt_lzwPredictor); - tiffPlugin.setRowsPerStrip(OFstatic_cast(unsigned long, opt_rowsPerStrip)); - result = di->writePluginFormat(&tiffPlugin, ofile, frame); - } - break; -#endif -#ifdef WITH_LIBPNG - case EFT_PNG: - case EFT_16bitPNG: - { - /* initialize PNG plugin */ - DiPNGPlugin pngPlugin; - pngPlugin.setInterlaceType(opt_interlace); - pngPlugin.setMetainfoType(opt_metainfo); - if (opt_fileType == EFT_16bitPNG) - pngPlugin.setBitsPerSample(16); - result = di->writePluginFormat(&pngPlugin, ofile, frame); - } - break; -#endif -#ifdef PASTEL_COLOR_OUTPUT - case EFT_PastelPNM: - result = di->writePPM(ofile, MI_PastelColor, frame); - break; -#endif - default: - if (opt_ofname) - result = di->writeRawPPM(ofile, 8, frame); - else /* stdout */ - result = di->writePPM(ofile, 8, frame); - break; - } - - if (opt_ofname) - fclose(ofile); - - if (!result) - { - OFLOG_FATAL(dcm2pnmLogger, "cannot write frame"); - return 1; - } - } - } - - /* done, now cleanup. */ - OFLOG_INFO(dcm2pnmLogger, "cleaning up memory"); - delete di; - delete disp; - - // deregister RLE decompression codec - DcmRLEDecoderRegistration::cleanup(); -#ifdef BUILD_DCM2PNM_AS_DCMJ2PNM - // deregister JPEG decompression codecs - DJDecoderRegistration::cleanup(); -#endif -#ifdef BUILD_DCM2PNM_AS_DCML2PNM - // deregister JPEG-LS decompression codecs - DJLSDecoderRegistration::cleanup(); -#endif - - return 0; + return OFstub_main(argc, argv, "dcm2pnm", "dcm2img"); } diff --git a/dcmimage/docs/dcm2pnm.man b/dcmimage/docs/dcm2pnm.man index d8edba0e..c6238c2e 100644 --- a/dcmimage/docs/dcm2pnm.man +++ b/dcmimage/docs/dcm2pnm.man @@ -14,488 +14,15 @@ dcm2pnm [options] dcmfile-in [bitmap-out] \section dcm2pnm_description DESCRIPTION -The \b dcm2pnm utility reads a DICOM image, converts the pixel data according -to the selected image processing options and writes back an image in the -well-known PGM/PPM (portable gray map / portable pix map), PNG, TIFF or -Windows BMP format. This utility only supports uncompressed and RLE -compressed DICOM images. The command line tool \b dcmj2pnm also supports a -number of JPEG compression schemes. - -\section dcm2pnm_parameters PARAMETERS - -\verbatim -dcmfile-in DICOM input filename to be converted ("-" for stdin) - -bitmap-out output filename to be written (default: stdout) -\endverbatim - -\section dcm2pnm_options OPTIONS - -\subsection dcm2pnm_general_options general options -\verbatim - -h --help - print this help text and exit - - --version - print version information and exit - - --arguments - print expanded command line arguments - - -q --quiet - quiet mode, print no warnings and errors - - -v --verbose - verbose mode, print processing details - - -d --debug - debug mode, print debug information - - -ll --log-level [l]evel: string constant - (fatal, error, warn, info, debug, trace) - use level l for the logger - - -lc --log-config [f]ilename: string - use config file f for the logger -\endverbatim - -\subsection dcm2pnm_input_options input options -\verbatim -input file format: - - +f --read-file - read file format or data set (default) - - +fo --read-file-only - read file format only - - -f --read-dataset - read data set without file meta information - -input transfer syntax: - - -t= --read-xfer-auto - use TS recognition (default) - - -td --read-xfer-detect - ignore TS specified in the file meta header - - -te --read-xfer-little - read with explicit VR little endian TS - - -tb --read-xfer-big - read with explicit VR big endian TS - - -ti --read-xfer-implicit - read with implicit VR little endian TS -\endverbatim - -\subsection dcm2pnm_image_processing_options image processing options -\verbatim -frame selection: - - +F --frame [n]umber: integer - select specified frame (default: 1) - - +Fr --frame-range [n]umber [c]ount: integer - select c frames beginning with frame n - - +Fa --all-frames - select all frames - -rotation: - - +Rl --rotate-left - rotate image left (-90 degrees) - - +Rr --rotate-right - rotate image right (+90 degrees) - - +Rtd --rotate-top-down - rotate image top-down (180 degrees) - -flipping: - - +Lh --flip-horizontally - flip image horizontally - - +Lv --flip-vertically - flip image vertically - - +Lhv --flip-both-axes - flip image horizontally and vertically - -scaling: - - +a --recognize-aspect - recognize pixel aspect ratio when scaling (default) - - -a --ignore-aspect - ignore pixel aspect ratio when scaling - - +i --interpolate [n]umber of algorithm: integer - use interpolation when scaling (1..4, default: 1) - - -i --no-interpolation - no interpolation when scaling - - -S --no-scaling - no scaling, ignore pixel aspect ratio (default) - - +Sxf --scale-x-factor [f]actor: float - scale x axis by factor, auto-compute y axis - - +Syf --scale-y-factor [f]actor: float - scale y axis by factor, auto-compute x axis - - +Sxv --scale-x-size [n]umber: integer - scale x axis to n pixels, auto-compute y axis - - +Syv --scale-y-size [n]umber: integer - scale y axis to n pixels, auto-compute x axis - -modality LUT transformation: - - -M --no-modality - ignore stored modality LUT transformation - - +M --use-modality - use modality LUT transformation (default) - -VOI LUT transformation: - - -W --no-windowing - no VOI windowing (default) - - +Wi --use-window [n]umber: integer - use the n-th VOI window from image file - - +Wl --use-voi-lut [n]umber: integer - use the n-th VOI look up table from image file - - +Wm --min-max-window - compute VOI window using min-max algorithm - - +Wn --min-max-window-n - compute VOI window using min-max algorithm, - ignoring extreme values - - +Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer - compute ROI window using min-max algorithm, - region of interest is specified by l,t,w,h - - +Wh --histogram-window [n]umber: integer - compute VOI window using Histogram algorithm, - ignoring n percent - - +Ww --set-window [c]enter [w]idth: float - compute VOI window using center c and width w - - +Wfl --linear-function - set VOI LUT function to LINEAR - - +Wfs --sigmoid-function - set VOI LUT function to SIGMOID - -presentation LUT transformation: - - +Pid --identity-shape - set presentation LUT shape to IDENTITY - - +Piv --inverse-shape - set presentation LUT shape to INVERSE - - +Pod --lin-od-shape - set presentation LUT shape to LIN OD - -overlay: - - -O --no-overlays - do not display overlays - - +O --display-overlay [n]umber: integer - display overlay n (0..16, 0=all, default: +O 0) - - +Omr --ovl-replace - use overlay mode "Replace" - (default for Graphic overlays) - - +Omt --ovl-threshold - use overlay mode "Threshold Replace" - - +Omc --ovl-complement - use overlay mode "Complement" - - +Omv --ovl-invert - use overlay mode "Invert Bitmap" - - +Omi --ovl-roi - use overlay mode "Region of Interest" - (default for ROI overlays) - - +Osf --set-foreground [d]ensity: float - set overlay foreground density (0..1, default: 1) - - +Ost --set-threshold [d]ensity: float - set overlay threshold density (0..1, default: 0.5) - -display LUT transformation: - - +Dm --monitor-file [f]ilename: string - calibrate output according to monitor characteristics - defined in f - - +Dp --printer-file [f]ilename: string - calibrate output according to printer characteristics - defined in f - - +Da --ambient-light [a]mbient light: float - ambient light value (cd/m^2, default: file f) - - +Di --illumination [i]llumination: float - illumination value (cd/m^2, default: file f) - - +Dn --min-density [m]inimum optical density: float - Dmin value (default: off, only with +Dp) - - +Dx --max-density [m]aximum optical density: float - Dmax value (default: off, only with +Dp) - - +Dg --gsd-function - use GSDF for calibration (default for +Dm/+Dp) - - +Dc --cielab-function - use CIELAB function for calibration - -compatibility: - - +Ma --accept-acr-nema - accept ACR-NEMA images without photometric - interpretation - - +Mp --accept-palettes - accept incorrect palette attribute tags - (0028,111x) and (0028,121x) - - +Mc --check-lut-depth - check 3rd value of the LUT descriptor, compare - with expected bit depth based on LUT data - - +Mm --ignore-mlut-depth - ignore 3rd value of the modality LUT descriptor, - determine bits per table entry automatically - - +Mv --ignore-vlut-depth - ignore 3rd value of the VOI LUT descriptor, - determine bits per table entry automatically - -TIFF format: - - +Tl --compr-lzw - LZW compression (default) - - +Tr --compr-rle - RLE compression - - +Tn --compr-none - uncompressed - - +Pd --predictor-default - no LZW predictor (default) - - +Pn --predictor-none - LZW predictor 1 (no prediction) - - +Ph --predictor-horz - LZW predictor 2 (horizontal differencing) - - +Rs --rows-per-strip [r]ows: integer (default: 0) - rows per strip, default 8K per strip - -PNG format: - - +il --interlace - create interlaced file (default) - - -il --nointerlace - create non-interlaced file - - +mf --meta-file - create PNG file meta information (default) - - -mf --meta-none - no PNG file meta information - -other transformations: - - +G --grayscale - convert color image to grayscale (monochrome) - - +P --change-polarity - change polarity (invert pixel output) - - +C --clip-region [l]eft [t]op [w]idth [h]eight: integer - clip image region (l, t, w, h) -\endverbatim - -\subsection dcm2pnm_output_options output options -\verbatim -general: - - -im --image-info - print image details (requires verbose mode) - - -o --no-output - do not create any output (useful with -im) - -filename generation (only with --frame-range or --all-frames): - - +Fc --use-frame-counter - use 0-based counter for filenames (default) - - +Fn --use-frame-number - use absolute frame number for filenames - -image format: - - +op --write-raw-pnm - write 8-bit binary PGM/PPM (default for files) - - +opb --write-8-bit-pnm - write 8-bit ASCII PGM/PPM (default for stdout) - - +opw --write-16-bit-pnm - write 16-bit ASCII PGM/PPM - - +opn --write-n-bit-pnm [n]umber: integer - write n-bit ASCII PGM/PPM (1..32) - - +ob --write-bmp - write 8-bit (monochrome) or 24-bit (color) BMP - - +obp --write-8-bit-bmp - write 8-bit palette BMP (monochrome only) - - +obt --write-24-bit-bmp - write 24-bit truecolor BMP - - +obr --write-32-bit-bmp - write 32-bit truecolor BMP - - +ot --write-tiff - write 8-bit (monochrome) or 24-bit (color) TIFF - - +on --write-png - write 8-bit (monochrome) or 24-bit (color) PNG - - +on2 --write-16-bit-png - write 16-bit (monochrome) or 48-bit (color) PNG -\endverbatim - -\section dcm2pnm_notes NOTES - -The following preferred interpolation algorithms can be selected using the -\e --interpolate option: - -- 1 = free scaling algorithm with interpolation from pbmplus toolkit -- 2 = free scaling algorithm with interpolation from c't magazine -- 3 = magnification algorithm with bilinear interpolation from Eduard Stanescu -- 4 = magnification algorithm with bicubic interpolation from Eduard Stanescu - -The \e --write-tiff option is only available when DCMTK has been configured -and compiled with support for the external \b libtiff TIFF library. The -availability of the TIFF compression options depends on the \b libtiff -configuration. - -The \e --write-png option is only available when DCMTK has been configured -and compiled with support for the external \b libpng PNG library. Option -\e --interlace enables progressive image view while loading the PNG file. -Only a few applications take care of the meta info (TEXT) in a PNG file. - -\section dcm2pnm_transfer_syntaxes TRANSFER SYNTAXES - -\b dcm2pnm supports the following transfer syntaxes for input (\e dcmfile-in): - -\verbatim -LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 -LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) -BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 -RLELosslessTransferSyntax 1.2.840.10008.1.2.5 -\endverbatim - -(*) if compiled with zlib support enabled - -\section dcm2pnm_logging LOGGING - -The level of logging output of the various command line tools and underlying -libraries can be specified by the user. By default, only errors and warnings -are written to the standard error stream. Using option \e --verbose also -informational messages like processing details are reported. Option -\e --debug can be used to get more details on the internal activity, e.g. for -debugging purposes. Other logging levels can be selected using option -\e --log-level. In \e --quiet mode only fatal errors are reported. In such -very severe error events, the application will usually terminate. For more -details on the different logging levels, see documentation of module "oflog". - -In case the logging output should be written to file (optionally with logfile -rotation), to syslog (Unix) or the event log (Windows) option \e --log-config -can be used. This configuration file also allows for directing only certain -messages to a particular output stream and for filtering certain messages -based on the module or application where they are generated. An example -configuration file is provided in \/logger.cfg. - -\section dcm2pnm_command_line COMMAND LINE - -All command line tools use the following notation for parameters: square -brackets enclose optional values (0-1), three trailing dots indicate that -multiple values are allowed (1-n), a combination of both means 0 to n values. - -Command line options are distinguished from parameters by a leading '+' or '-' -sign, respectively. Usually, order and position of command line options are -arbitrary (i.e. they can appear anywhere). However, if options are mutually -exclusive the rightmost appearance is used. This behavior conforms to the -standard evaluation rules of common Unix shells. - -In addition, one or more command files can be specified using an '@' sign as a -prefix to the filename (e.g. \@command.txt). Such a command argument -is replaced by the content of the corresponding text file (multiple -whitespaces are treated as a single separator unless they appear between two -quotation marks) prior to any further evaluation. Please note that a command -file cannot contain another command file. This simple but effective approach -allows one to summarize common combinations of options/parameters and avoids -longish and confusing command lines (an example is provided in file -\/dumppat.txt). - -\section dcm2pnm_environment ENVIRONMENT - -The \b dcm2pnm utility will attempt to load DICOM data dictionaries specified -in the \e DCMDICTPATH environment variable. By default, i.e. if the -\e DCMDICTPATH environment variable is not set, the file -\/dicom.dic will be loaded unless the dictionary is built -into the application (default for Windows). - -The default behavior should be preferred and the \e DCMDICTPATH environment -variable only used when alternative data dictionaries are required. The -\e DCMDICTPATH environment variable has the same format as the Unix shell -\e PATH variable in that a colon (":") separates entries. On Windows systems, -a semicolon (";") is used as a separator. The data dictionary code will -attempt to load each file specified in the \e DCMDICTPATH environment variable. -It is an error if no data dictionary can be loaded. - -\section dcm2pnm_files FILES - -\/camera.lut - sample characteristics file of a camera -\n\/monitor.lut - sample characteristics file of a monitor -\n\/printer.lut - sample characteristics file of a printer -\n\/scanner.lut - sample characteristics file of a scanner +The \b dcm2pnm tool is deprecated. Use \b dcm2img instead, which supports +the same command line parameters, and more. \section dcm2pnm_see_also SEE ALSO -dcmj2pnm(1), img2dcm(1) +dcm2img(1) \section dcm2pnm_copyright COPYRIGHT -Copyright (C) 1998-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1998-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmimage/docs/dcmicmp.man b/dcmimage/docs/dcmicmp.man index ac702456..e9c56d83 100644 --- a/dcmimage/docs/dcmicmp.man +++ b/dcmimage/docs/dcmicmp.man @@ -372,6 +372,6 @@ It is an error if no data dictionary can be loaded. \section dcmicmp_copyright COPYRIGHT -Copyright (C) 2018-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2018-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmimage/docs/dcmquant.man b/dcmimage/docs/dcmquant.man index bed1204e..0bc03eb3 100644 --- a/dcmimage/docs/dcmquant.man +++ b/dcmimage/docs/dcmquant.man @@ -284,6 +284,6 @@ It is an error if no data dictionary can be loaded. \section dcmquant_copyright COPYRIGHT -Copyright (C) 2001-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2001-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmimage/docs/dcmscale.man b/dcmimage/docs/dcmscale.man index ef4975b8..404802df 100644 --- a/dcmimage/docs/dcmscale.man +++ b/dcmimage/docs/dcmscale.man @@ -266,6 +266,6 @@ It is an error if no data dictionary can be loaded. \section dcmscale_copyright COPYRIGHT -Copyright (C) 2002-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2002-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmimage/libsrc/Makefile.dep b/dcmimage/libsrc/Makefile.dep index 11250f0d..5cd88f55 100644 --- a/dcmimage/libsrc/Makefile.dep +++ b/dcmimage/libsrc/Makefile.dep @@ -7,7 +7,6 @@ dcmicmph.o: dcmicmph.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -17,6 +16,7 @@ dcmicmph.o: dcmicmph.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -43,7 +43,6 @@ dcmicmph.o: dcmicmph.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -55,6 +54,7 @@ dcmicmph.o: dcmicmph.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -158,9 +158,9 @@ diargimg.o: diargimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -194,7 +194,6 @@ diargimg.o: diargimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -202,6 +201,7 @@ diargimg.o: diargimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -245,9 +245,9 @@ dicmyimg.o: dicmyimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -278,7 +278,6 @@ dicmyimg.o: dicmyimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -286,6 +285,7 @@ dicmyimg.o: dicmyimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -310,28 +310,41 @@ dicmyimg.o: dicmyimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dipxrept.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diinpx.h dicoimg.o: dicoimg.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmimage/dicoimg.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -344,35 +357,17 @@ dicoimg.o: dicoimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../include/dcmtk/dcmimage/dicoimg.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../../dcmdata/include/dcmtk/dcmdata/dcfcache.h \ @@ -386,6 +381,11 @@ dicoimg.o: dicoimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimage/dicopx.h ../include/dcmtk/dcmimage/dilogger.h \ ../include/dcmtk/dcmimage/dicdefin.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dipixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dimo2img.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dimoimg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dimopx.h \ @@ -415,7 +415,6 @@ dicoopx.o: dicoopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -425,6 +424,7 @@ dicoopx.o: dicoopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -459,9 +459,9 @@ dicopx.o: dicopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -508,7 +508,6 @@ dicopx.o: dicopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -516,6 +515,7 @@ dicopx.o: dicopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -536,9 +536,9 @@ dihsvimg.o: dihsvimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -569,7 +569,6 @@ dihsvimg.o: dihsvimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -577,6 +576,7 @@ dihsvimg.o: dihsvimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -614,9 +614,9 @@ dilogger.o: dilogger.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -649,9 +649,9 @@ dipalimg.o: dipalimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -689,12 +689,12 @@ dipalimg.o: dipalimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ @@ -723,22 +723,26 @@ dipalimg.o: dipalimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diinpx.h \ ../include/dcmtk/dcmimage/diqttype.h dipipng.o: dipipng.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmimage/dipipng.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diplugin.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ + ../include/dcmtk/dcmimage/dicdefin.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -768,7 +772,6 @@ dipipng.o: dipipng.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -776,6 +779,7 @@ dipipng.o: dipipng.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -786,13 +790,9 @@ dipipng.o: dipipng.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diovlay.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diobjcou.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diovdat.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diovpln.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ - ../include/dcmtk/dcmimage/dipipng.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diplugin.h \ - ../include/dcmtk/dcmimage/dicdefin.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../ofstd/include/dcmtk/ofstd/diag/vsobjdes.def dipitiff.o: dipitiff.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -809,9 +809,9 @@ dipitiff.o: dipitiff.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -841,7 +841,6 @@ dipitiff.o: dipitiff.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -849,6 +848,7 @@ dipitiff.o: dipitiff.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -874,9 +874,9 @@ diqtctab.o: diqtctab.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -923,6 +923,7 @@ diqtctab.o: diqtctab.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -931,7 +932,6 @@ diqtctab.o: diqtctab.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -948,12 +948,12 @@ diqtfs.o: diqtfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmimage/diqttype.h \ ../include/dcmtk/dcmimage/dicdefin.h \ ../include/dcmtk/dcmimage/diqtstab.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -962,7 +962,6 @@ diqtfs.o: diqtfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h diqthash.o: diqthash.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimage/diqthash.h \ @@ -972,7 +971,6 @@ diqthash.o: diqthash.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmimage/diqtpix.h ../include/dcmtk/dcmimage/diqttype.h \ ../include/dcmtk/dcmimage/dicdefin.h \ ../include/dcmtk/dcmimage/diqtstab.h \ @@ -989,6 +987,7 @@ diqthash.o: diqthash.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1010,6 +1009,7 @@ diqthash.o: diqthash.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dimoimg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ @@ -1022,7 +1022,6 @@ diqthash.o: diqthash.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1055,7 +1054,6 @@ diqthitl.o: diqthitl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmimage/diqthitm.h ../include/dcmtk/dcmimage/diqtpix.h \ ../include/dcmtk/dcmimage/diqttype.h \ ../include/dcmtk/dcmimage/dicdefin.h \ @@ -1075,8 +1073,8 @@ diquant.o: diquant.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1119,7 +1117,6 @@ diquant.o: diquant.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1127,6 +1124,7 @@ diquant.o: diquant.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1171,7 +1169,6 @@ diregist.o: diregist.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -1181,6 +1178,7 @@ diregist.o: diregist.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1212,7 +1210,6 @@ diregist.o: diregist.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1222,6 +1219,7 @@ diregist.o: diregist.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1272,9 +1270,9 @@ dirgbimg.o: dirgbimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1305,7 +1303,6 @@ dirgbimg.o: dirgbimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1313,6 +1310,7 @@ dirgbimg.o: dirgbimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1350,9 +1348,9 @@ diybrimg.o: diybrimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1383,7 +1381,6 @@ diybrimg.o: diybrimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1391,6 +1388,7 @@ diybrimg.o: diybrimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1433,9 +1431,9 @@ diyf2img.o: diyf2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1466,7 +1464,6 @@ diyf2img.o: diyf2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1474,6 +1471,7 @@ diyf2img.o: diyf2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1516,9 +1514,9 @@ diyp2img.o: diyp2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1549,7 +1547,6 @@ diyp2img.o: diyp2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1557,6 +1554,7 @@ diyp2img.o: diyp2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ diff --git a/dcmimage/libsrc/dicoimg.cc b/dcmimage/libsrc/dicoimg.cc index e7fc314a..37deb8aa 100644 --- a/dcmimage/libsrc/dicoimg.cc +++ b/dcmimage/libsrc/dicoimg.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2021, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,12 +21,13 @@ #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmimage/dicoimg.h" #include "dcmtk/dcmdata/dctypes.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcpixel.h" +#include "dcmtk/ofstd/ofstd.h" -#include "dcmtk/dcmimage/dicoimg.h" #include "dcmtk/dcmimgle/dimo2img.h" #include "dcmtk/dcmimage/dicopxt.h" #include "dcmtk/dcmimage/dicocpt.h" @@ -574,11 +575,11 @@ int DiColorImage::writeImageToDataset(DcmItem &dataset, dataset.putAndInsertUint16(DCM_Columns, Columns); dataset.putAndInsertUint16(DCM_Rows, Rows); #ifdef PRId32 - sprintf(numBuf, "%" PRId32, NumberOfFrames); + OFStandard::snprintf(numBuf, sizeof(numBuf), "%" PRId32, NumberOfFrames); #elif SIZEOF_LONG == 8 - sprintf(numBuf, "%d", NumberOfFrames); + OFStandard::snprintf(numBuf, sizeof(numBuf), "%d", NumberOfFrames); #else - sprintf(numBuf, "%ld", NumberOfFrames); + OFStandard::snprintf(numBuf, sizeof(numBuf), "%ld", NumberOfFrames); #endif dataset.putAndInsertString(DCM_NumberOfFrames, numBuf); dataset.putAndInsertUint16(DCM_SamplesPerPixel, 3); diff --git a/dcmimage/libsrc/dipipng.cc b/dcmimage/libsrc/dipipng.cc index a77c26b4..2b313676 100644 --- a/dcmimage/libsrc/dipipng.cc +++ b/dcmimage/libsrc/dipipng.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2022, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,11 +24,12 @@ #ifdef WITH_LIBPNG +#include "dcmtk/dcmimage/dipipng.h" #include "dcmtk/dcmdata/dctypes.h" #include "dcmtk/dcmimgle/diimage.h" -#include "dcmtk/dcmimage/dipipng.h" #include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version */ #include "dcmtk/ofstd/ofdiag.h" +#include "dcmtk/ofstd/ofstd.h" BEGIN_EXTERN_C #ifdef HAVE_LIBPNG_PNG_H @@ -222,12 +223,12 @@ OFString DiPNGPlugin::getLibraryVersionString() char cver[10]; png_uint_32 ver = png_access_version_number(); if( ver < 999999 ) { - sprintf( cver, "%li.%li.%li", + OFStandard::snprintf(cver, sizeof(cver), "%li.%li.%li", OFstatic_cast(long int, (ver/10000)%100), OFstatic_cast(long int, (ver/100)%100), OFstatic_cast(long int, ver%100) ); }else{ - sprintf( cver, "unknown" ); + OFStandard::snprintf(cver, sizeof(cver), "unknown" ); } versionStr.append( cver ); return versionStr; diff --git a/dcmimage/libsrc/diqtctab.cc b/dcmimage/libsrc/diqtctab.cc index 585aebde..f49392d7 100644 --- a/dcmimage/libsrc/diqtctab.cc +++ b/dcmimage/libsrc/diqtctab.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2022, OFFIS e.V. + * Copyright (C) 2002-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -32,6 +32,7 @@ #include "dcmtk/dcmdata/dcdeftag.h" /* for tag constants */ #include "dcmtk/dcmdata/dcuid.h" /* for OFFIS_DCMTK_VERSION */ #include "dcmtk/ofstd/ofdiag.h" /* for DCMTK_DIAGNOSTIC macros */ +#include "dcmtk/ofstd/ofstd.h" #include DCMTK_DIAGNOSTIC_IGNORE_CONST_EXPRESSION_WARNING @@ -538,7 +539,7 @@ void DcmQuantColorTable::setDescriptionString(OFString& str) const { char buf[100]; - sprintf(buf, "Converted to PALETTE COLOR %lu/0/%u with DCMTK %s", + OFStandard::snprintf(buf, sizeof(buf), "Converted to PALETTE COLOR %lu/0/%u with DCMTK %s", (numColors > 65535) ? 0 : numColors, (sizeof(DcmQuantComponent) == 1) ? 8 : 16, OFFIS_DCMTK_VERSION); diff --git a/dcmimage/libsrc/diquant.cc b/dcmimage/libsrc/diquant.cc index c3d53b3b..078fd3a4 100644 --- a/dcmimage/libsrc/diquant.cc +++ b/dcmimage/libsrc/diquant.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2023, OFFIS e.V. + * Copyright (C) 2002-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -37,6 +37,7 @@ #include "dcmtk/dcmdata/dcpixel.h" /* for DcmPixelData */ #include "dcmtk/dcmdata/dcsequen.h" /* for DcmSequenceOfItems */ #include "dcmtk/dcmdata/dcuid.h" /* for dcmGenerateUniqueIdentifier() */ +#include "dcmtk/ofstd/ofstd.h" OFCondition DcmQuant::createPaletteColorImage( @@ -182,7 +183,7 @@ OFCondition DcmQuant::createPaletteColorImage( if (frames > 1) { char buf[32]; - sprintf(buf, "%lu", frames); + OFStandard::snprintf(buf, sizeof(buf), "%lu", frames); if (result.good()) result = target.putAndInsertString(DCM_NumberOfFrames, buf); } diff --git a/dcmimgle/apps/Makefile.dep b/dcmimgle/apps/Makefile.dep index 5cd0def1..9a53ab72 100644 --- a/dcmimgle/apps/Makefile.dep +++ b/dcmimgle/apps/Makefile.dep @@ -13,9 +13,9 @@ dcmdspfn.o: dcmdspfn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -45,12 +45,12 @@ dcmdspfn.o: dcmdspfn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -128,15 +128,25 @@ dcmdspfn.o: dcmdspfn.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimgle/didislut.h \ ../include/dcmtk/dcmimgle/dibaslut.h ../include/dcmtk/dcmimgle/diutils.h dcod2lum.o: dcod2lum.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmimgle/didispfn.h \ ../include/dcmtk/dcmimgle/didefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -158,7 +168,6 @@ dconvlum.o: dconvlum.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ diff --git a/dcmimgle/apps/dcod2lum.cc b/dcmimgle/apps/dcod2lum.cc index 167dc4d9..d294b7db 100644 --- a/dcmimgle/apps/dcod2lum.cc +++ b/dcmimgle/apps/dcod2lum.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2021, OFFIS e.V. + * Copyright (C) 2002-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,10 +22,12 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/ofstd/ofstream.h" #include "dcmtk/ofstd/ofconsol.h" #include "dcmtk/dcmimgle/didispfn.h" #include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */ +#include #define OFFIS_CONSOLE_APPLICATION "dcod2lum" @@ -59,7 +61,7 @@ int main(int argc, char *argv[]) { while (input.get(c) && (c != '\n') && (c != '\r')); // skip comments } - else if (!isspace(OFstatic_cast(unsigned char, c))) // skip whitespaces + else if (!OFStandard::isspace(c)) // skip whitespaces { input.putback(c); if (maxddl == 0) // read maxvalue diff --git a/dcmimgle/data/CMakeLists.txt b/dcmimgle/data/CMakeLists.txt index b5282fa0..4b62f035 100644 --- a/dcmimgle/data/CMakeLists.txt +++ b/dcmimgle/data/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES camera.lut monitor.lut printer.lut scanner.lut DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}" COMPONENT data) +install(FILES camera.lut monitor.lut printer.lut scanner.lut DESTINATION "${CMAKE_INSTALL_DATADIR}" COMPONENT data) diff --git a/dcmimgle/docs/dcmdspfn.man b/dcmimgle/docs/dcmdspfn.man index f988b361..69740a74 100644 --- a/dcmimgle/docs/dcmdspfn.man +++ b/dcmimgle/docs/dcmdspfn.man @@ -196,6 +196,6 @@ longish and confusing command lines (an example is provided in file \section dcmdspfn_copyright COPYRIGHT -Copyright (C) 1999-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1999-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmimgle/docs/dcod2lum.man b/dcmimgle/docs/dcod2lum.man index 483156d1..fd07ca0c 100644 --- a/dcmimgle/docs/dcod2lum.man +++ b/dcmimgle/docs/dcod2lum.man @@ -56,6 +56,6 @@ sample characteristics file monitors, cameras, printers and scanners. \section dcod2lum_copyright COPYRIGHT -Copyright (C) 2002-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2002-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmimgle/docs/dconvlum.man b/dcmimgle/docs/dconvlum.man index b6b45a85..29735441 100644 --- a/dcmimgle/docs/dconvlum.man +++ b/dcmimgle/docs/dconvlum.man @@ -54,6 +54,6 @@ Barten's model (including GSDF). \section dconvlum_copyright COPYRIGHT -Copyright (C) 1999-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1999-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmimgle/include/dcmtk/dcmimgle/dcmimage.h b/dcmimgle/include/dcmtk/dcmimgle/dcmimage.h index a8cd79b1..fb542d8d 100644 --- a/dcmimgle/include/dcmtk/dcmimgle/dcmimage.h +++ b/dcmimgle/include/dcmtk/dcmimgle/dcmimage.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2019, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -25,8 +25,6 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/ofstd/ofcast.h" - #include "dcmtk/dcmimgle/dimoimg.h" #include "dcmtk/dcmimgle/didispfn.h" #include "dcmtk/dcmimgle/diutils.h" @@ -65,13 +63,13 @@ class DCMTK_DCMIMGLE_EXPORT DicomImage * Opens specified file and reads image related data, creates internal representation * of image data. Use getStatus() to obtain detailed information about any errors. * - ** @param filename the DICOM file + ** @param filename the DICOM file specified by its filename * @param flags configuration flags (see diutils.h, CIF_MayDetachPixelData is set automatically) * @param fstart first frame to be processed (optional, 0 = 1st frame), all subsequent use * of parameters labeled 'frame' in this class refers to this start frame. * @param fcount number of frames (optional, 0 = all frames) */ - DicomImage(const char *filename, + DicomImage(const OFFilename &filename, const unsigned long flags = 0, const unsigned long fstart = 0, const unsigned long fcount = 0); diff --git a/dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h b/dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h index 91466864..e4a510fb 100644 --- a/dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h +++ b/dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2021, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -29,13 +29,6 @@ #include -/*---------------------* - * macro definitions * - *---------------------*/ - -// SunCC 4.x does not support default values for template types :-/ -#define T3_ double - /*------------------* * template class * @@ -43,16 +36,16 @@ /** Template class for polynomial curve fitting algorithm */ -template +template class DiCurveFitting { public: /** calculate coefficients for resulting polynomial function. - * T1 = type of x coordinates - * T2 = type of y coordinates - * T3_ = type of coefficients (and for internal calculations) + * T1 = type of x coordinates + * T2 = type of y coordinates + * T3 = type of coefficients (and for internal calculations) * ** @param x array with x coordinates of given points * @param y array with y coordinates of given points @@ -66,16 +59,16 @@ class DiCurveFitting const T2 *y, const unsigned int n, const unsigned int o, - T3_ *c) + T3 *c) { int result = 0; if ((x != NULL) && (y != NULL) && (c !=NULL) && (n > 0)) { const unsigned int order = o + 1; const unsigned int order2 = order * order; - T3_ *basis = new T3_[order * n]; - T3_ *alpha = new T3_[order2]; - T3_ *beta = new T3_[order]; + T3 *basis = new T3[order * n]; + T3 *alpha = new T3[order2]; + T3 *beta = new T3[order]; if ((basis != NULL) && (alpha != NULL) && (beta != NULL)) { unsigned int i; @@ -89,10 +82,10 @@ class DiCurveFitting if (i == 0) basis[k] = 1; else - basis[k] = OFstatic_cast(T3_, x[j]) * basis[k - 1]; + basis[k] = OFstatic_cast(T3, x[j]) * basis[k - 1]; } } - T3_ sum; + T3 sum; for (i = 0; i < order; ++i) { const unsigned int i_order = i * order; @@ -110,7 +103,7 @@ class DiCurveFitting { sum = 0; for (j = 0; j < n; ++j) - sum += OFstatic_cast(T3_, y[j]) * basis[i + j * order]; + sum += OFstatic_cast(T3, y[j]) * basis[i + j * order]; beta[i] = sum; } if (solve(alpha, beta, order)) @@ -130,9 +123,9 @@ class DiCurveFitting /** calculate y coordinates for the given range of x coordinates. * The polynomial function is defined by the specified coefficients. - * T1 = type of x coordinates - * T2 = type of y coordinates - * T3_ = type of coefficients (and for internal calculations) + * T1 = type of x coordinates + * T2 = type of y coordinates + * T3 = type of coefficients (and for internal calculations) * ** @param xs first x coordinate for computation * @param xe last x coordinate for computation @@ -148,21 +141,21 @@ class DiCurveFitting T2 *y, const unsigned int n, const unsigned int o, - const T3_ *c) + const T3 *c) { int result = 0; if ((y != NULL) && (c != NULL) && (n > 0) && (xe > xs)) { unsigned int i; unsigned int j; - T3_ x; - T3_ x2; - T3_ w; - const T3_ xo = OFstatic_cast(T3_, xs); - const T3_ xi = OFstatic_cast(T3_, (OFstatic_cast(T3_, xe) - OFstatic_cast(T3_, xs)) / (n - 1)); + T3 x; + T3 x2; + T3 w; + const T3 xo = OFstatic_cast(T3, xs); + const T3 xi = OFstatic_cast(T3, (OFstatic_cast(T3, xe) - OFstatic_cast(T3, xs)) / (n - 1)); for (i = 0; i < n; ++i) { - x = xo + OFstatic_cast(T3_, i) * xi; + x = xo + OFstatic_cast(T3, i) * xi; x2 = 1; w = 0; for (j = 0; j <= o; ++j) @@ -187,7 +180,7 @@ class DiCurveFitting * ** @return output value */ - static void convertValue(const T3_ input, Uint8 &output) + static void convertValue(const T3 input, Uint8 &output) { output = (input <= 0) ? 0 : ((input >= 255) ? 255 : OFstatic_cast(Uint8, input)); } @@ -199,7 +192,7 @@ class DiCurveFitting * ** @return output value */ - static void convertValue(const T3_ input, Sint8 &output) + static void convertValue(const T3 input, Sint8 &output) { output = (input <= -128) ? -128 : ((input >= 127) ? 127 : OFstatic_cast(Sint8, input)); } @@ -211,7 +204,7 @@ class DiCurveFitting * ** @return output value */ - static void convertValue(const T3_ input, Uint16 &output) + static void convertValue(const T3 input, Uint16 &output) { output = (input <= 0) ? 0 : ((input >= 65535) ? 65535 : OFstatic_cast(Uint16, input)); } @@ -223,7 +216,7 @@ class DiCurveFitting * ** @return output value */ - static void convertValue(const T3_ input, Sint16 &output) + static void convertValue(const T3 input, Sint16 &output) { output = (input <= -32768) ? -32768 : ((input >= 32767) ? 32767 : OFstatic_cast(Sint16, input)); } @@ -235,13 +228,13 @@ class DiCurveFitting * ** @return output value */ - static inline void convertValue(const T3_ input, double &output) + static inline void convertValue(const T3 input, double &output) { output = OFstatic_cast(double, input); } /** solve the equation given by the two matrixes. - * T3_ = type of coefficients (and for internal calculations) + * T3 = type of coefficients (and for internal calculations) * ** @param a first matrix (array of values) * @param b second matrix (array of values) @@ -249,8 +242,8 @@ class DiCurveFitting * ** @return true if successful, false otherwise */ - static int solve(T3_ *a, - T3_ *b, + static int solve(T3 *a, + T3 *b, const unsigned int n) { int result = 0; @@ -260,9 +253,9 @@ class DiCurveFitting unsigned int j; unsigned int k; signed int pivot; - T3_ mag; - T3_ mag2; - T3_ temp; + T3 mag; + T3 mag2; + T3 temp; for (i = 0; i < n; ++i) { mag = 0; diff --git a/dcmimgle/include/dcmtk/dcmimgle/didocu.h b/dcmimgle/include/dcmtk/dcmimgle/didocu.h index 491da64f..8187949a 100644 --- a/dcmimgle/include/dcmtk/dcmimgle/didocu.h +++ b/dcmimgle/include/dcmtk/dcmimgle/didocu.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2021, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -28,8 +28,9 @@ #include "dcmtk/dcmdata/dctypes.h" #include "dcmtk/dcmdata/dcfilefo.h" #include "dcmtk/dcmdata/dcxfer.h" + #include "dcmtk/dcmimgle/diobjcou.h" -#include "dcmtk/ofstd/ofstring.h" + /*------------------------* * forward declarations * @@ -60,12 +61,12 @@ class DCMTK_DCMIMGLE_EXPORT DiDocument /** constructor, open a DICOM file * - ** @param filename the DICOM file + ** @param filename the DICOM file specified by its filename * @param flags configuration flags (only stored for later use) * @param fstart first frame to be processed (only stored for later use) * @param fcount number of frames (only stored for later use) */ - DiDocument(const char *filename, + DiDocument(const OFFilename &filename, const unsigned long flags = 0, const unsigned long fstart = 0, const unsigned long fcount = 0); @@ -178,7 +179,7 @@ class DCMTK_DCMIMGLE_EXPORT DiDocument */ inline OFBool isCompressed() const { - return DcmXfer(Xfer).isEncapsulated(); + return DcmXfer(Xfer).isPixelDataCompressed(); } /** search for given tag diff --git a/dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h b/dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h index d70546b5..f000fe98 100644 --- a/dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h +++ b/dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2021, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -643,9 +643,9 @@ class DiMonoOutputPixelTemplate const double absmin = inter->getAbsMinimum(); const double absmax = inter->getAbsMaximum(); const double lowvalue = OFstatic_cast(double, low); - const double outrange = OFstatic_cast(double, high) - lowvalue + 1; // output range - const unsigned long ocnt = determineOptimizationCount(inter->getAbsMaxRange()); // number of LUT entries - DCMIMGLE_TRACE("intermediate pixel data - absmin: " << absmin << ", absmax: " << absmax); + const double outrange = OFstatic_cast(double, high) - lowvalue; // output range + const unsigned long ocnt = determineOptimizationCount(inter->getAbsMaxRange()); // number of LUT entries + DCMIMGLE_TRACE("intermediate pixel data - absmin: " << absmin << ", absmax: " << absmax << ", absrange: " << inter->getAbsMaxRange()); const T1 *p = pixel + start; T3 *q = Data; unsigned long i; @@ -656,7 +656,7 @@ class DiMonoOutputPixelTemplate createDisplayLUT(dlut, disp, plut->getBits()); Uint32 value; // presentation LUT is always unsigned const double gradient1 = OFstatic_cast(double, plut->getCount()) / inter->getAbsMaxRange(); - const double gradient2 = outrange / OFstatic_cast(double, plut->getAbsMaxRange()); + const double gradient2 = outrange / OFstatic_cast(double, plut->getAbsMaxRange() - 1); if (initOptimizationLUT(lut, ocnt)) { // use LUT for optimization q = lut; @@ -722,7 +722,7 @@ class DiMonoOutputPixelTemplate } } else { // has no presentation LUT createDisplayLUT(dlut, disp, inter->getBits()); - const double gradient = outrange / (inter->getAbsMaxRange()); + const double gradient = outrange / (inter->getAbsMaxRange() - 1); if (initOptimizationLUT(lut, ocnt)) { // use LUT for optimization q = lut; diff --git a/dcmimgle/include/dcmtk/dcmimgle/diplugin.h b/dcmimgle/include/dcmtk/dcmimgle/diplugin.h index d27d3e12..fb9f551b 100644 --- a/dcmimgle/include/dcmtk/dcmimgle/diplugin.h +++ b/dcmimgle/include/dcmtk/dcmimgle/diplugin.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2022, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,6 +24,9 @@ #define DIPLUGIN_H #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmimgle/didefine.h" + +#include /*------------------------* diff --git a/dcmimgle/include/dcmtk/dcmimgle/dipxrept.h b/dcmimgle/include/dcmtk/dcmimgle/dipxrept.h index ae7db613..aed5f388 100644 --- a/dcmimgle/include/dcmtk/dcmimgle/dipxrept.h +++ b/dcmimgle/include/dcmtk/dcmimgle/dipxrept.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2016, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,18 +24,8 @@ #define DIPXREPT_H #include "dcmtk/config/osconfig.h" - #include "dcmtk/dcmimgle/diutils.h" -#ifndef DCMTK_EXPLICIT_SPECIALIZATION -#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION -#define DCMTK_EXPLICIT_SPECIALIZATION template<> -#else -#define DCMTK_EXPLICIT_SPECIALIZATION -#endif -#endif - - /*---------------------* * class declaration * *---------------------*/ @@ -74,84 +64,84 @@ class DiPixelRepresentationTemplate /********************************************************************/ -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Uint8; } -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Sint8; } -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Uint16; } -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Sint16; } -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Uint32; } -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Sint32; } -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline int DiPixelRepresentationTemplate::isSigned() const { return 0; } -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline int DiPixelRepresentationTemplate::isSigned() const { return 0; } -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline int DiPixelRepresentationTemplate::isSigned() const { return 0; } -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline int DiPixelRepresentationTemplate::isSigned() const { return 1; } -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline int DiPixelRepresentationTemplate::isSigned() const { return 1; } -DCMTK_EXPLICIT_SPECIALIZATION +template<> inline int DiPixelRepresentationTemplate::isSigned() const { return 1; diff --git a/dcmimgle/include/dcmtk/dcmimgle/displint.h b/dcmimgle/include/dcmtk/dcmimgle/displint.h index c88de17e..50b61d32 100644 --- a/dcmimgle/include/dcmtk/dcmimgle/displint.h +++ b/dcmimgle/include/dcmtk/dcmimgle/displint.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2021, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -26,13 +26,6 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/ofstd/ofcast.h" -/*--------------------* - * macro definition * - *--------------------*/ - -// SunCC 4.x does not support default values for template types :-/ -#define T3_ double - /*------------------* * template class * @@ -40,16 +33,16 @@ /** Template class for cubic spline interpolation */ -template +template class DiCubicSpline { public: /** calculate spline function for given points. - * T1 = type of x coordinates - * T2 = type of y coordinates - * T3_ = type of y coordinates of the spline function + * T1 = type of x coordinates + * T2 = type of y coordinates + * T3 = type of y coordinates of the spline function * ** @param x array with x coordinates of given points * @param y array with y coordinates of given points @@ -63,47 +56,47 @@ class DiCubicSpline static int Function(const T1 *x, const T2 *y, const unsigned int n, - T3_ *y2, - const T3_ yp1 = 1.0e30, - const T3_ ypn = 1.0e30) + T3 *y2, + const T3 yp1 = 1.0e30, + const T3 ypn = 1.0e30) { if ((x != NULL) && (y != NULL) && (n > 0) && (y2 != NULL)) { - T3_ *u = new T3_[n]; // temporary vector + T3 *u = new T3[n]; // temporary vector if (u != NULL) { unsigned int i; - T3_ p, qn, sig, un; + T3 p, qn, sig, un; if (yp1 > 0.99e30) // ignore value for first derivative at point 1 y2[0] = u[0] = 0.0; else { y2[0] = -0.5; - u[0] = (3.0 / (OFstatic_cast(T3_, x[1]) - OFstatic_cast(T3_, x[0]))) * - ((OFstatic_cast(T3_, y[1]) - OFstatic_cast(T3_, y[0])) / - (OFstatic_cast(T3_, x[1]) - OFstatic_cast(T3_, x[0])) - yp1); + u[0] = (3.0 / (OFstatic_cast(T3, x[1]) - OFstatic_cast(T3, x[0]))) * + ((OFstatic_cast(T3, y[1]) - OFstatic_cast(T3, y[0])) / + (OFstatic_cast(T3, x[1]) - OFstatic_cast(T3, x[0])) - yp1); } for (i = 1; i < n - 1; ++i) { - sig = (OFstatic_cast(T3_, x[i]) - OFstatic_cast(T3_, x[i - 1])) / - (OFstatic_cast(T3_, x[i + 1]) - OFstatic_cast(T3_, x[i - 1])); + sig = (OFstatic_cast(T3, x[i]) - OFstatic_cast(T3, x[i - 1])) / + (OFstatic_cast(T3, x[i + 1]) - OFstatic_cast(T3, x[i - 1])); p = sig * y2[i - 1] + 2.0; y2[i] = (sig - 1.0) / p; - u[i] = (OFstatic_cast(T3_, y[i + 1]) - OFstatic_cast(T3_, y[i])) / - (OFstatic_cast(T3_, x[i + 1]) - OFstatic_cast(T3_, x[i])) - - (OFstatic_cast(T3_, y[i]) - OFstatic_cast(T3_, y[i - 1])) / - (OFstatic_cast(T3_, x[i]) - OFstatic_cast(T3_, x[i - 1])); - u[i] = (6.0 * u[i] / (OFstatic_cast(T3_, x[i + 1]) - - OFstatic_cast(T3_, x[i - 1])) - sig * u[i - 1]) / p; + u[i] = (OFstatic_cast(T3, y[i + 1]) - OFstatic_cast(T3, y[i])) / + (OFstatic_cast(T3, x[i + 1]) - OFstatic_cast(T3, x[i])) - + (OFstatic_cast(T3, y[i]) - OFstatic_cast(T3, y[i - 1])) / + (OFstatic_cast(T3, x[i]) - OFstatic_cast(T3, x[i - 1])); + u[i] = (6.0 * u[i] / (OFstatic_cast(T3, x[i + 1]) - + OFstatic_cast(T3, x[i - 1])) - sig * u[i - 1]) / p; } if (ypn > 0.99e30) // ignore value for first derivative at point 1 qn = un = 0.0; else { qn = 0.5; - un = (3.0 / (OFstatic_cast(T3_, x[n - 1]) - OFstatic_cast(T3_, x[n - 2]))) * - (ypn - (OFstatic_cast(T3_, y[n - 1]) - OFstatic_cast(T3_, y[n - 2])) / - (OFstatic_cast(T3_, x[n - 1]) - OFstatic_cast(T3_, x[n - 2]))); + un = (3.0 / (OFstatic_cast(T3, x[n - 1]) - OFstatic_cast(T3, x[n - 2]))) * + (ypn - (OFstatic_cast(T3, y[n - 1]) - OFstatic_cast(T3, y[n - 2])) / + (OFstatic_cast(T3, x[n - 1]) - OFstatic_cast(T3, x[n - 2]))); } y2[n - 1] = (un - qn * u[n - 2]) / (qn * y2[n - 2] + 1.0); for (i = n - 1; i > 0; --i) @@ -117,9 +110,9 @@ class DiCubicSpline /** perform cubic spline interpolation for given points. - * T1 = type of x coordinates - * T2 = type of y coordinates - * T3_ = type of y coordinates of the spline function + * T1 = type of x coordinates + * T2 = type of y coordinates + * T3 = type of y coordinates of the spline function * ** @param xa array with x coordinates of given points * @param ya array with y coordinates of given points @@ -133,7 +126,7 @@ class DiCubicSpline */ static int Interpolation(const T1 *xa, const T2 *ya, - const T3_ *y2a, + const T3 *y2a, const unsigned int na, const T1 *x, T2 *y, @@ -144,7 +137,7 @@ class DiCubicSpline unsigned int k, i; unsigned int klo = 0; unsigned int khi = na - 1; - T3_ h, b, a; + T3 h, b, a; for (i = 0; i < n; ++i) { if ((xa[klo] > x[i]) || (xa[khi] < x[i])) // optimization @@ -164,12 +157,12 @@ class DiCubicSpline y[i] = ya[khi]; else { - h = OFstatic_cast(T3_, xa[khi]) - OFstatic_cast(T3_, xa[klo]); + h = OFstatic_cast(T3, xa[khi]) - OFstatic_cast(T3, xa[klo]); if (h == 0.0) // bad xa input, values must be distinct ! return 0; - a = (OFstatic_cast(T3_, xa[khi]) - OFstatic_cast(T3_, x[i])) / h; - b = (OFstatic_cast(T3_, x[i]) - OFstatic_cast(T3_, xa[klo])) / h; - y[i] = OFstatic_cast(T2, a * OFstatic_cast(T3_, ya[klo]) + b * OFstatic_cast(T3_, ya[khi]) + + a = (OFstatic_cast(T3, xa[khi]) - OFstatic_cast(T3, x[i])) / h; + b = (OFstatic_cast(T3, x[i]) - OFstatic_cast(T3, xa[klo])) / h; + y[i] = OFstatic_cast(T2, a * OFstatic_cast(T3, ya[klo]) + b * OFstatic_cast(T3, ya[khi]) + ((a * a * a - a) * y2a[klo] + (b * b * b - b) * y2a[khi]) * (h * h) / 6.0); } } diff --git a/dcmimgle/libsrc/Makefile.dep b/dcmimgle/libsrc/Makefile.dep index a62f6888..8a4c4d1d 100644 --- a/dcmimgle/libsrc/Makefile.dep +++ b/dcmimgle/libsrc/Makefile.dep @@ -1,26 +1,39 @@ dcmimage.o: dcmimage.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmimgle/dcmimage.h ../include/dcmtk/dcmimgle/dimoimg.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../include/dcmtk/dcmimgle/diimage.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -33,34 +46,17 @@ dcmimage.o: dcmimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../include/dcmtk/dcmimgle/dcmimage.h ../include/dcmtk/dcmimgle/dimoimg.h \ - ../include/dcmtk/dcmimgle/diimage.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../../dcmdata/include/dcmtk/dcmdata/dcfcache.h \ @@ -72,6 +68,10 @@ dcmimage.o: dcmimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimgle/dimomod.h ../include/dcmtk/dcmimgle/diluptab.h \ ../include/dcmtk/dcmimgle/dibaslut.h ../include/dcmtk/dcmimgle/dimoopx.h \ ../include/dcmtk/dcmimgle/didispfn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ ../include/dcmtk/dcmimgle/diovlimg.h \ ../include/dcmtk/dcmimgle/dimo2img.h \ ../include/dcmtk/dcmimgle/dimo1img.h ../include/dcmtk/dcmimgle/didocu.h \ @@ -80,8 +80,7 @@ dcmimage.o: dcmimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../include/dcmtk/dcmimgle/diregbas.h \ - ../include/dcmtk/dcmimgle/diplugin.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h + ../include/dcmtk/dcmimgle/diplugin.h dibaslut.o: dibaslut.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimgle/dibaslut.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ @@ -125,12 +124,12 @@ diciefn.o: diciefn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmimgle/dicielut.h \ ../include/dcmtk/dcmimgle/didislut.h \ ../include/dcmtk/dcmimgle/dibaslut.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmimgle/diutils.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -233,26 +232,32 @@ didislut.o: didislut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../include/dcmtk/dcmimgle/didefine.h didispfn.o: didispfn.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ ../../ofstd/include/dcmtk/ofstd/diag/stringop.def \ ../../ofstd/include/dcmtk/ofstd/diag/restrict.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../include/dcmtk/dcmimgle/didispfn.h \ ../include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmimgle/displint.h \ ../include/dcmtk/dcmimgle/dicrvfit.h \ ../include/dcmtk/dcmimgle/didislut.h \ - ../include/dcmtk/dcmimgle/dibaslut.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../include/dcmtk/dcmimgle/diutils.h \ + ../include/dcmtk/dcmimgle/dibaslut.h ../include/dcmtk/dcmimgle/diutils.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -266,7 +271,6 @@ didispfn.o: didispfn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -293,9 +297,9 @@ didocu.o: didocu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -325,12 +329,12 @@ didocu.o: didocu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -406,13 +410,13 @@ digsdfn.o: digsdfn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmimgle/displint.h \ ../include/dcmtk/dcmimgle/digsdlut.h \ ../include/dcmtk/dcmimgle/didislut.h \ ../include/dcmtk/dcmimgle/dibaslut.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmimgle/diutils.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -479,28 +483,40 @@ digsdlut.o: digsdlut.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmimgle/displint.h diimage.o: diimage.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmimgle/diimage.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -513,31 +529,16 @@ diimage.o: diimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../include/dcmtk/dcmimgle/diimage.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -546,6 +547,9 @@ diimage.o: diimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimgle/diovlay.h ../include/dcmtk/dcmimgle/diobjcou.h \ ../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/diovdat.h \ ../include/dcmtk/dcmimgle/diovpln.h ../include/dcmtk/dcmimgle/diutils.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmimgle/diinpxt.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ @@ -567,7 +571,6 @@ diinpx.o: diinpx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -577,6 +580,7 @@ diinpx.o: diinpx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -618,7 +622,6 @@ diluptab.o: diluptab.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -652,6 +655,7 @@ diluptab.o: diluptab.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -681,9 +685,9 @@ dimo1img.o: dimo1img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -714,7 +718,6 @@ dimo1img.o: dimo1img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -722,6 +725,7 @@ dimo1img.o: dimo1img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -751,9 +755,9 @@ dimo2img.o: dimo2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -784,7 +788,6 @@ dimo2img.o: dimo2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -792,6 +795,7 @@ dimo2img.o: dimo2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -808,28 +812,41 @@ dimo2img.o: dimo2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimgle/dibaslut.h ../include/dcmtk/dcmimgle/dimoopx.h \ ../include/dcmtk/dcmimgle/didispfn.h dimoimg.o: dimoimg.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmimgle/dimoimg.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../include/dcmtk/dcmimgle/diimage.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -842,29 +859,16 @@ dimoimg.o: dimoimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../include/dcmtk/dcmimgle/dimoimg.h ../include/dcmtk/dcmimgle/diimage.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -877,6 +881,7 @@ dimoimg.o: dimoimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimgle/dimomod.h ../include/dcmtk/dcmimgle/diluptab.h \ ../include/dcmtk/dcmimgle/dibaslut.h ../include/dcmtk/dcmimgle/dimoopx.h \ ../include/dcmtk/dcmimgle/didispfn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../include/dcmtk/dcmimgle/dimo2img.h \ ../include/dcmtk/dcmimgle/dimoipxt.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ @@ -907,8 +912,8 @@ dimoimg3.o: dimoimg3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -918,7 +923,6 @@ dimoimg3.o: dimoimg3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -952,6 +956,7 @@ dimoimg3.o: dimoimg3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -986,8 +991,8 @@ dimoimg4.o: dimoimg4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -997,7 +1002,6 @@ dimoimg4.o: dimoimg4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1031,6 +1035,7 @@ dimoimg4.o: dimoimg4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1065,8 +1070,8 @@ dimoimg5.o: dimoimg5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -1076,7 +1081,6 @@ dimoimg5.o: dimoimg5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1110,6 +1114,7 @@ dimoimg5.o: dimoimg5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1190,7 +1195,6 @@ dimomod.o: dimomod.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -1198,6 +1202,7 @@ dimomod.o: dimomod.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -1212,7 +1217,6 @@ dimoopx.o: dimoopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -1222,6 +1226,7 @@ dimoopx.o: dimoopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1259,7 +1264,6 @@ dimopx.o: dimopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -1269,6 +1273,7 @@ dimopx.o: dimopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1312,9 +1317,9 @@ diovdat.o: diovdat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1357,9 +1362,9 @@ diovlay.o: diovlay.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1401,7 +1406,6 @@ diovlay.o: diovlay.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -1409,6 +1413,7 @@ diovlay.o: diovlay.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1431,9 +1436,9 @@ diovlimg.o: diovlimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1465,7 +1470,6 @@ diovlimg.o: diovlimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1473,6 +1477,7 @@ diovlimg.o: diovlimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1510,9 +1515,9 @@ diovpln.o: diovpln.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1549,6 +1554,7 @@ diovpln.o: diovpln.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -1562,7 +1568,6 @@ diovpln.o: diovpln.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ @@ -1583,9 +1588,9 @@ diutils.o: diutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ diff --git a/dcmimgle/libsrc/dcmimage.cc b/dcmimgle/libsrc/dcmimage.cc index 88aad84f..bc395a27 100644 --- a/dcmimgle/libsrc/dcmimage.cc +++ b/dcmimgle/libsrc/dcmimage.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2022, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,21 +21,21 @@ #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmimgle/dcmimage.h" #include "dcmtk/dcmdata/dctypes.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcobject.h" #include "dcmtk/dcmdata/dcuid.h" #include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/ofstd/ofstd.h" -#include "dcmtk/dcmimgle/dcmimage.h" #include "dcmtk/dcmimgle/diovlimg.h" #include "dcmtk/dcmimgle/dimo1img.h" #include "dcmtk/dcmimgle/dimo2img.h" #include "dcmtk/dcmimgle/didocu.h" #include "dcmtk/dcmimgle/diregbas.h" #include "dcmtk/dcmimgle/diplugin.h" -#include "dcmtk/dcmdata/dcdicent.h" /* needed by MSVC5 */ #ifndef FILENAME_MAX #define FILENAME_MAX 255 @@ -55,7 +55,7 @@ DiRegisterBase *DiRegisterBase::Pointer = NULL; // --- create 'DicomImage' from 'filename', for valid 'flags' see 'diutils.h' -DicomImage::DicomImage(const char *filename, +DicomImage::DicomImage(const OFFilename &filename, const unsigned long flags, const unsigned long fstart, const unsigned long fcount) @@ -231,6 +231,8 @@ void DicomImage::Init() default: // unknown or unsupported color model if (DiRegisterBase::Pointer != NULL) Image = DiRegisterBase::Pointer->createImage(Document, ImageStatus, PhotometricInterpretation); + else + DCMIMGLE_DEBUG("Support for color images not registered, need to include \"dcmtk/dcmimage/diregist.h\""); if (Image == NULL) { if (PhotometricInterpretation == EPI_Unknown) @@ -649,11 +651,11 @@ int DicomImage::writePPM(const char *filename, if ((filename != NULL) && (Image != NULL)) { char fname[FILENAME_MAX + 1]; - if (sprintf(fname, filename, frame) >= 0) // replace '%d' etc. with frame number + if (OFStandard::snprintf(fname, sizeof(fname), filename, frame) >= 0) // replace '%d' etc. with frame number filename = fname; FILE *stream = fopen(filename, "w"); // open text file for writing int ok = writePPM(stream, bits, frame); - fclose(stream); + if (fclose(stream)) ok = 0; return ok; } return 0; @@ -693,13 +695,13 @@ int DicomImage::writeRawPPM(const char *filename, if ((filename != NULL) && (Image != NULL) && (Image->getBits(bits) <= MAX_RAWPPM_BITS)) { char fname[FILENAME_MAX + 1]; - if (sprintf(fname, filename, frame) >= 0) // replace '%d' etc. with frame number + if (OFStandard::snprintf(fname, sizeof(fname), filename, frame) >= 0) // replace '%d' etc. with frame number filename = fname; FILE *stream = fopen(filename, "wb"); // open binary file for writing if (stream != NULL) { int ok = Image->writeRawPPM(stream, frame, Image->getBits(bits)); - fclose(stream); + if (fclose(stream)) ok = 0; return ok; } } @@ -728,13 +730,13 @@ int DicomImage::writeBMP(const char *filename, ((bits == 0) || ((bits == 8) && isMonochrome()) || (bits == 24) || (bits == 32))) { char fname[FILENAME_MAX + 1]; - if (sprintf(fname, filename, frame) >= 0) // replace '%d' etc. with frame number + if (OFStandard::snprintf(fname, sizeof(fname), filename, frame) >= 0) // replace '%d' etc. with frame number filename = fname; FILE *stream = fopen(filename, "wb"); // open binary file for writing if (stream != NULL) { int ok = Image->writeBMP(stream, frame, bits); - fclose(stream); + if (fclose(stream)) ok = 0; return ok; } } @@ -766,13 +768,13 @@ int DicomImage::writePluginFormat(const DiPluginFormat *plugin, if ((plugin != NULL) && (filename != NULL) && (Image != NULL)) { char fname[FILENAME_MAX + 1]; - if (sprintf(fname, filename, frame) >= 0) // replace '%d' etc. with frame number + if (OFStandard::snprintf(fname, sizeof(fname), filename, frame) >= 0) // replace '%d' etc. with frame number filename = fname; FILE *stream = fopen(filename, "wb"); // open binary file for writing if (stream != NULL) { int ok = plugin->write(Image, stream, frame); - fclose(stream); + if (fclose(stream)) ok = 0; return ok; } } diff --git a/dcmimgle/libsrc/diciefn.cc b/dcmimgle/libsrc/diciefn.cc index 87dabef1..defe5684 100644 --- a/dcmimgle/libsrc/diciefn.cc +++ b/dcmimgle/libsrc/diciefn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,6 +24,7 @@ #include "dcmtk/dcmimgle/diciefn.h" #include "dcmtk/ofstd/ofstream.h" +#include /*----------------* * constructors * diff --git a/dcmimgle/libsrc/didispfn.cc b/dcmimgle/libsrc/didispfn.cc index cc08d376..9baf881a 100644 --- a/dcmimgle/libsrc/didispfn.cc +++ b/dcmimgle/libsrc/didispfn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1999-2022, OFFIS e.V. + * Copyright (C) 1999-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,6 +22,7 @@ #include "dcmtk/config/osconfig.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/ofstd/ofbmanip.h" #include "dcmtk/dcmimgle/didispfn.h" #include "dcmtk/dcmimgle/displint.h" @@ -341,7 +342,7 @@ int DiDisplayFunction::readConfigFile(const char *filename) { while (file.get(c) && (c != '\n') && (c != '\r')); // skip comments } - else if (!isspace(OFstatic_cast(unsigned char, c))) // skip whitespaces + else if (!OFStandard::isspace(c)) // skip whitespaces { file.putback(c); if (MaxDDLValue == 0) // read maxvalue diff --git a/dcmimgle/libsrc/didocu.cc b/dcmimgle/libsrc/didocu.cc index 00b73b56..a0db6ec9 100644 --- a/dcmimgle/libsrc/didocu.cc +++ b/dcmimgle/libsrc/didocu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2021, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -23,7 +23,6 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dctk.h" -#include "dcmtk/ofstd/ofstring.h" #include "dcmtk/dcmimgle/didocu.h" #include "dcmtk/dcmimgle/diutils.h" @@ -33,7 +32,7 @@ * constructors * *----------------*/ -DiDocument::DiDocument(const char *filename, +DiDocument::DiDocument(const OFFilename &filename, const unsigned long flags, const unsigned long fstart, const unsigned long fcount) @@ -127,16 +126,16 @@ void DiDocument::convertPixelData() if (pobject->ident() == EVR_PixelData) { PixelData = OFstatic_cast(DcmPixelData *, pobject); - // check for a special (faulty) case where the original pixel data is uncompressed and - // the transfer syntax of the dataset refers to encapsulated format (i.e. compression) + // check for a special (faulty) case where the original pixel data is uncompressed in + // native format and the transfer syntax of the dataset refers to encapsulated format if (Object->ident() == EVR_dataset) { E_TransferSyntax repType = EXS_Unknown; const DcmRepresentationParameter *repParam = NULL; PixelData->getOriginalRepresentationKey(repType, repParam); - if (xfer.isEncapsulated() && !DcmXfer(repType).isEncapsulated()) + if (xfer.usesEncapsulatedFormat() && DcmXfer(repType).usesNativeFormat()) { - DCMIMGLE_WARN("pixel data is stored in uncompressed format, although " + DCMIMGLE_WARN("pixel data is stored in native format, although " << "the transfer syntax of the dataset refers to encapsulated format"); } } @@ -161,8 +160,8 @@ void DiDocument::convertPixelData() } if (status.good()) { - // set transfer syntax to unencapsulated/uncompressed - if (xfer.isEncapsulated()) + // set transfer syntax to native format (uncompressed pixel data) + if (xfer.usesEncapsulatedFormat()) { Xfer = EXS_LittleEndianExplicit; DCMIMGLE_DEBUG("decompressed complete pixel data in memory: " << PixelData->getLength(Xfer) << " bytes"); @@ -218,7 +217,7 @@ DcmElement *DiDocument::search(const DcmTagKey &tag, obj = Object; // only search on main dataset level if ((obj != NULL) && (obj->search(tag, stack, ESM_fromHere, OFFalse /* searchIntoSub */) == EC_Normal) && - (stack.top()->getLength(Xfer) > 0)) + (stack.top()->getLength(Xfer) > 0) && stack.top()->isElement()) { return OFstatic_cast(DcmElement *, stack.top()); } diff --git a/dcmimgle/libsrc/digsdfn.cc b/dcmimgle/libsrc/digsdfn.cc index 8c52d054..62643123 100644 --- a/dcmimgle/libsrc/digsdfn.cc +++ b/dcmimgle/libsrc/digsdfn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1999-2021, OFFIS e.V. + * Copyright (C) 1999-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -29,6 +29,7 @@ #include "dcmtk/ofstd/ofstream.h" #include +#include /*----------------------------* * constant initializations * diff --git a/dcmimgle/libsrc/diimage.cc b/dcmimgle/libsrc/diimage.cc index f198bf58..480235e3 100644 --- a/dcmimgle/libsrc/diimage.cc +++ b/dcmimgle/libsrc/diimage.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2021, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,12 +21,13 @@ #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmimgle/diimage.h" + #include "dcmtk/dcmdata/dctypes.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcswap.h" #include "dcmtk/dcmdata/dcuid.h" -#include "dcmtk/dcmimgle/diimage.h" #include "dcmtk/dcmimgle/diinpxt.h" #include "dcmtk/dcmimgle/didocu.h" #include "dcmtk/dcmimgle/diutils.h" @@ -773,9 +774,9 @@ int DiImage::writeFrameToDataset(DcmItem &dataset, dataset.tagExists(DCM_VOILUTSequence)) { delete dataset.remove(DCM_VOILUTSequence); - sprintf(buffer, "%lu", DicomImageClass::maxval(bitsStored, 0) / 2); + OFStandard::snprintf(buffer, sizeof(buffer), "%lu", DicomImageClass::maxval(bitsStored, 0) / 2); dataset.putAndInsertString(DCM_WindowCenter, buffer); - sprintf(buffer, "%lu", DicomImageClass::maxval(bitsStored, 0)); + OFStandard::snprintf(buffer, sizeof(buffer), "%lu", DicomImageClass::maxval(bitsStored, 0)); dataset.putAndInsertString(DCM_WindowWidth, buffer); } delete dataset.remove(DCM_WindowCenterWidthExplanation); diff --git a/dcmimgle/libsrc/dimoimg.cc b/dcmimgle/libsrc/dimoimg.cc index eb4f93f2..5a6ba7c7 100644 --- a/dcmimgle/libsrc/dimoimg.cc +++ b/dcmimgle/libsrc/dimoimg.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2021 OFFIS e.V. + * Copyright (C) 1996-2024 OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,10 +21,12 @@ #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmimgle/dimoimg.h" + #include "dcmtk/dcmdata/dctypes.h" #include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/ofstd/ofstd.h" -#include "dcmtk/dcmimgle/dimoimg.h" #include "dcmtk/dcmimgle/dimo2img.h" #include "dcmtk/dcmimgle/dimoipxt.h" #include "dcmtk/dcmimgle/dimocpt.h" @@ -1986,11 +1988,11 @@ int DiMonoImage::writeImageToDataset(DcmItem &dataset, dataset.putAndInsertUint16(DCM_Columns, Columns); dataset.putAndInsertUint16(DCM_Rows, Rows); #ifdef PRIu32 - sprintf(numBuf, "%" PRIu32, NumberOfFrames); + OFStandard::snprintf(numBuf, sizeof(numBuf), "%" PRIu32, NumberOfFrames); #elif SIZEOF_LONG == 8 - sprintf(numBuf, "%u", NumberOfFrames); + OFStandard::snprintf(numBuf, sizeof(numBuf), "%u", NumberOfFrames); #else - sprintf(numBuf, "%lu", NumberOfFrames); + OFStandard::snprintf(numBuf, sizeof(numBuf), "%lu", NumberOfFrames); #endif dataset.putAndInsertString(DCM_NumberOfFrames, numBuf); dataset.putAndInsertUint16(DCM_SamplesPerPixel, 1); diff --git a/dcmiod/include/dcmtk/dcmiod/iodcommn.h b/dcmiod/include/dcmtk/dcmiod/iodcommn.h index 50d8973e..47a3a5ed 100644 --- a/dcmiod/include/dcmtk/dcmiod/iodcommn.h +++ b/dcmiod/include/dcmtk/dcmiod/iodcommn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -225,6 +225,21 @@ public: */ virtual OFCondition write(DcmItem& dataset); + /** Set whether attribute values should be checked on writing, i.e. if writing + * should fail if attribute values violate their VR, VM, character set or value length. + * A missing but required value is always considered an error, independent of this setting. + * If set to OFFalse, writing will always succeed, even if attribute value constraints + * are violated. A warning instead of an error will be printed to the logger. + * @param checkValue If OFTrue, attribute value errors are handled as errors on writing, if OFFalse + * any errors are ignored. + */ + virtual void setValueCheckOnWrite(const OFBool checkValue); + + /** Get whether attribute value errors will be handled as errors on writing. + * @return OFTrue if attribute value errors are handled as errors on writing, OFFalse otherwise. + */ + virtual OFBool getValueCheckOnWrite() const; + private: /** Copy assignment disabled * @param rhs Object to copy from @@ -264,6 +279,14 @@ private: /// Collects all modules of this class for convenience (iteration) OFVector m_Modules; + + /// Denotes whether attribute values should be checked on writing, i.e. if writing + /// should fail if attribute values violate their VR, VM, character set or value length. + /// A missing but required value is always considered an error, independent of this setting. + /// If set to OFFalse, writing will always succeed, even if attribute values constraints + /// are violated. A warning instead of an error will be printed to the logger. + /// OFTrue if attribute value errors are handled as errors on writing, OFFalse otherwise. + OFBool m_CheckValueOnWrite; }; #endif // IODCOMMN_H diff --git a/dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h b/dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h index f5c09c6d..b9010d71 100644 --- a/dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h +++ b/dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2019, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -25,7 +25,6 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/dcmiod/iodrules.h" -#include "dcmtk/dcmiod/iodtypes.h" #include "dcmtk/dcmiod/modbase.h" #include "dcmtk/ofstd/ofmem.h" diff --git a/dcmiod/include/dcmtk/dcmiod/ioddef.h b/dcmiod/include/dcmtk/dcmiod/ioddef.h index 167488b7..84e10e16 100644 --- a/dcmiod/include/dcmtk/dcmiod/ioddef.h +++ b/dcmiod/include/dcmtk/dcmiod/ioddef.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,7 +23,7 @@ #define IODDEF_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/ofstd/ofdefine.h" +#include "dcmtk/ofstd/ofexport.h" // Make sure DLL exports work for this module diff --git a/dcmiod/include/dcmtk/dcmiod/iodmacro.h b/dcmiod/include/dcmtk/dcmiod/iodmacro.h index c9bee626..fe65c32d 100644 --- a/dcmiod/include/dcmtk/dcmiod/iodmacro.h +++ b/dcmiod/include/dcmtk/dcmiod/iodmacro.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,7 +23,13 @@ #define IODMACRO_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" // For VR classes, i.e. DcmCodeString etc. +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcvrlo.h" +#include "dcmtk/dcmdata/dcvris.h" +#include "dcmtk/dcmdata/dcvrus.h" +#include "dcmtk/dcmdata/dcvrlt.h" +#include "dcmtk/dcmdata/dcvrcs.h" +#include "dcmtk/dcmdata/dcvrpn.h" #include "dcmtk/dcmiod/iodrules.h" #include "dcmtk/dcmiod/modbase.h" #include "dcmtk/ofstd/ofstring.h" diff --git a/dcmiod/include/dcmtk/dcmiod/iodutil.h b/dcmiod/include/dcmtk/dcmiod/iodutil.h index 057082fa..499e0cac 100644 --- a/dcmiod/include/dcmtk/dcmiod/iodutil.h +++ b/dcmiod/include/dcmtk/dcmiod/iodutil.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,6 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dcdatset.h" -#include "dcmtk/dcmdata/dcdatutl.h" #include "dcmtk/dcmdata/dcelem.h" #include "dcmtk/dcmdata/dcsequen.h" #include "dcmtk/dcmiod/ioddef.h" @@ -185,10 +184,14 @@ public: * and therefore ownership is transferred to the dataset, or the * element is deleted from memory if it could not be inserted. * @param rule Rule describing parameters to be checked on element. + * @param checkValue If OFTrue, the value of the element is checked for + * violations against VR, VM, charset and value length. If OFTrue, + * an error is printed and an error is returned. Otherwise, a warning + * is printed and EC_Normal is returned. * @return Current value of 'result', EC_Normal if successful, an error code otherwise */ static OFCondition - addElementToDataset(OFCondition& result, DcmItem& dataset, DcmElement* delem, const IODRule* rule); + addElementToDataset(OFCondition& result, DcmItem& dataset, DcmElement* delem, const IODRule* rule, const OFBool checkValue = OFTrue); /** Check element value for correct value multiplicity and type. * @param delem Pointer to DICOM element to be checked (might be NULL) @@ -962,10 +965,10 @@ public: static Uint32 limitMaxFrames(const size_t numFramesPresent, const OFString& warning); /** Extracts Frame structures from the given pixel data element. Only - * applicable for pixel data with Bits Allocated = 1. Within the pixel data element, all - * frames are packed next to each other, with the end of one frame and the - * beginning of the next frame packed bit by bit next to each other. The - * resulting Frames are a bit-by-bit copy of their original counterpart. + * applicable for pixel data with Bits Allocated = 1. Within the pixel data element, + * all frames are packed next to each other, with the end of one frame and the + * beginning of the next frame packed bit by bit next to each other (right to left!). + * The resulting Frames are a bit-by-bit copy of their original counterpart. * However, their first bit is aligned to the first bit/byte in the Frame, * and the unused bits in the last byte (if any) are zeroed out. * @param pixData The pixel data to read from @@ -980,24 +983,15 @@ public: const size_t bitsPerFrame, OFVector& results); - /** Aligns 1 bit per pixel frame data starting at a given bit position in the - * provided buffer with the start of that buffer. This is used to create - * a frame structure where all the bytes (including the first one) only - * contain data from the frame at hand. - * Note that each byte is filled from the right, i.e. the first pixel will - * represented by the bit at the very right of the first byte, and the 9th - * pixel will be in the very right position of the following byte. - * Example: - * 3 bytes input buffer: edcbaZYX mlkjihgf utsrqpon - * Result after aligning 3 bits: fghedcba ponmlkji 000utsrq - * The 000 are unused bits and therefore zeroed out in the last byte. Bits - * ZYX will be shifted out which is ok since it does not belong to the - * current frame. See also dcmseg/tests/tutils.cc for more examples. - * @param buf The address of the memory buffer to shift - * @param bufLen The length of the buf memory block in bytes - * @param numBits The number of bits to shift. Must be 0 <= numBits <= 7. - */ - static void alignFrameOnByteBoundary(Uint8* buf, const size_t bufLen, const Uint8 numBits); + /** Resets the given condition to EC_Normal if checkValue is true and + * prints a related message as a warning to the debug logger. + * @param result The condition to check. Only EC_ValueRepresentationViolated, EC_MaximumLengthViolated, + * EC_InvalidCharacter and EC_ValueMultiplicityViolated are handled. Those codes + * are reset to EC_Normal if the checkValue is OFFalse. + * @param checkValue If this value is false, the condition is reset to EC_Normal + * @param elem Used if the condition is reset to EC_Normal to print a warning + */ + static void resetConditionIfCheckDisabled(OFCondition& result, const OFBool checkValue, DcmElement& elem); private: // We only have static functions so we do not need an instance of diff --git a/dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h b/dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h index 02d59f6f..f187cd72 100644 --- a/dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h +++ b/dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2015, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,7 +23,6 @@ #define MODACQUISITIONCONTEXT_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmiod/iodrules.h" #include "dcmtk/dcmiod/modbase.h" diff --git a/dcmiod/include/dcmtk/dcmiod/modbase.h b/dcmiod/include/dcmtk/dcmiod/modbase.h index b105e3bc..4346e3e7 100644 --- a/dcmiod/include/dcmtk/dcmiod/modbase.h +++ b/dcmiod/include/dcmtk/dcmiod/modbase.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -27,7 +27,6 @@ #include "dcmtk/dcmiod/ioddef.h" #include "dcmtk/dcmiod/iodrules.h" #include "dcmtk/ofstd/ofmem.h" -#include "dcmtk/ofstd/ofvector.h" /** Class for managing sets of DICOM attributes (e.g.\ macros and modules). * The data is hold in a container (DcmItem) that can be shared with other @@ -87,9 +86,11 @@ public: void clearData(); /** Set missing values by inventing "default values". Automatically - * called during write() in IODComponent; does nothing in this base - * class implementation but can be overwritten by derived classes if - * default values are desired. + * called during write() in IODComponent. In this bas class implementation, + * this method checks for every rule of this component whether it has a default + * value, and if, invents the attribute if it is not present in the data, + * i.e. creating it with the default value or setting it to the default value + * if no value is present. This happens independently of the requirement type. */ virtual void inventMissing(); @@ -179,9 +180,26 @@ public: * for these attributes * @param destination The destination to write to * @param componentName The name of the module/component to write + * @param checkValue If OFTrue, attribute value errors are handled as errors on writing, if OFFalse + * any errors are ignored. * @result EC_Normal if reading was successful, error otherwise */ - static OFCondition write(DcmItem& source, IODRules& rules, DcmItem& destination, const OFString& componentName); + static OFCondition write(DcmItem& source, IODRules& rules, DcmItem& destination, const OFString& componentName, const OFBool checkValue); + + /** Get whether attribute value errors will be handled as errors on writing. + * @return OFTrue if attribute value errors are handled as errors on writing, OFFalse otherwise. + */ + virtual bool getValueCheckOnWrite() const; + + /** Set whether attribute values should be checked on writing, i.e. if writing + * should fail if attribute values violate their VR, VM, character set or value length. + * A missing but required value is always considered an error, independent of this setting. + * If set to OFFalse, writing will always succeed, even if attribute value constraints + * are violated. A warning instead of an error will be printed to the logger. + * @param checkValue If OFTrue, attribute value errors are handled as errors on writing, if OFFalse + * any errors are ignored. + */ + virtual void setValueCheckOnWrite(const OFBool checkValue); protected: /// Shared pointer to the data handled by this class. The item may contain @@ -193,6 +211,14 @@ protected: /// The parent component (may be NULL) of this class IODComponent* m_Parent; + + /// Denotes whether attribute values should be checked on writing, i.e. if writing + /// should fail if attribute values violate their VR, VM, character set or value length. + /// A missing but required value is always considered an error, independent of this setting. + /// If set to OFFalse, writing will always succeed, even if attribute values constraints + /// are violated. A warning instead of an error will be printed to the logger. + /// OFTrue if attribute value errors are handled as errors on writing, OFFalse otherwise. + OFBool m_CheckValueOnWrite; }; /** The class IODModule is an IODComponent without parent component since diff --git a/dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h b/dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h index f817b1b1..df71c348 100644 --- a/dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h +++ b/dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,7 +23,6 @@ #define MODCOMMONINSTANCEREF_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/dcmiod/iodreferences.h" #include "dcmtk/dcmiod/iodrules.h" diff --git a/dcmiod/include/dcmtk/dcmiod/modenhusseries.h b/dcmiod/include/dcmtk/dcmiod/modenhusseries.h index 22e81290..0147e3e4 100644 --- a/dcmiod/include/dcmtk/dcmiod/modenhusseries.h +++ b/dcmiod/include/dcmtk/dcmiod/modenhusseries.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -27,8 +27,6 @@ #include "dcmtk/dcmiod/iodrules.h" #include "dcmtk/dcmiod/modbase.h" #include "dcmtk/ofstd/ofmem.h" -#include "dcmtk/ofstd/ofoption.h" -#include "dcmtk/ofstd/ofvector.h" /** Class representing the Enhanced Ultrasound Series Module: * diff --git a/dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h b/dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h index a49c3395..3af565d2 100644 --- a/dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h +++ b/dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2019, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,7 +23,6 @@ #define MODFLOATINGPOINTIMAGEPIXEL_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmiod/modimagepixelbase.h" /** Class representing Floating Point Image Pixel Module: diff --git a/dcmiod/include/dcmtk/dcmiod/modhelp.h b/dcmiod/include/dcmtk/dcmiod/modhelp.h index f7b22852..8ef31d2d 100644 --- a/dcmiod/include/dcmtk/dcmiod/modhelp.h +++ b/dcmiod/include/dcmtk/dcmiod/modhelp.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,9 +23,9 @@ #define MODHELP_H #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcmtk/ofstd/oftypes.h" - #include "dcmtk/dcmiod/ioddef.h" +#include "dcmtk/ofstd/oftypes.h" /* for size_t */ + // forward declarations class DcmTagKey; class DcmItem; diff --git a/dcmiod/include/dcmtk/dcmiod/modimagepixel.h b/dcmiod/include/dcmtk/dcmiod/modimagepixel.h index 48a179e3..5f16cc81 100644 --- a/dcmiod/include/dcmtk/dcmiod/modimagepixel.h +++ b/dcmiod/include/dcmtk/dcmiod/modimagepixel.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,7 +23,6 @@ #define MODIMAGEPIXEL_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmiod/modimagepixelbase.h" /** Class representing the Image Pixel Module: diff --git a/dcmiod/include/dcmtk/dcmiod/modmultiframefg.h b/dcmiod/include/dcmtk/dcmiod/modmultiframefg.h index 65f79ee7..be84d8ae 100644 --- a/dcmiod/include/dcmtk/dcmiod/modmultiframefg.h +++ b/dcmiod/include/dcmtk/dcmiod/modmultiframefg.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,9 +23,6 @@ #define MODMULTIFRAMEFG_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcdatset.h" -#include "dcmtk/dcmdata/dcdeftag.h" -#include "dcmtk/dcmdata/dcsequen.h" #include "dcmtk/dcmiod/ioddef.h" #include "dcmtk/dcmiod/iodrules.h" #include "dcmtk/dcmiod/modbase.h" diff --git a/dcmiod/include/dcmtk/dcmiod/modpatient.h b/dcmiod/include/dcmtk/dcmiod/modpatient.h index af4dbf89..a6447179 100644 --- a/dcmiod/include/dcmtk/dcmiod/modpatient.h +++ b/dcmiod/include/dcmtk/dcmiod/modpatient.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,11 +23,9 @@ #define MODPATIENT_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmiod/iodrules.h" #include "dcmtk/dcmiod/modbase.h" #include "dcmtk/ofstd/ofmem.h" -#include "dcmtk/ofstd/ofvector.h" /** Class representing the Patient Module: * diff --git a/dcmiod/include/dcmtk/dcmiod/modpatientstudy.h b/dcmiod/include/dcmtk/dcmiod/modpatientstudy.h index 1f0ddf4e..2ec6582a 100644 --- a/dcmiod/include/dcmtk/dcmiod/modpatientstudy.h +++ b/dcmiod/include/dcmtk/dcmiod/modpatientstudy.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,12 +23,9 @@ #define MODPATIENTSTUDY_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmiod/iodrules.h" #include "dcmtk/dcmiod/modbase.h" #include "dcmtk/ofstd/ofmem.h" -#include "dcmtk/ofstd/ofoption.h" -#include "dcmtk/ofstd/ofvector.h" /** Class representing the Patient Study Module: * diff --git a/dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h b/dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h index 5b263e3c..eb26c7ba 100644 --- a/dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h +++ b/dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,10 +23,8 @@ #define MODSEGMENTATIONSERIES_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dctk.h" #include "dcmtk/dcmiod/modbase.h" #include "dcmtk/ofstd/ofmem.h" -#include "dcmtk/ofstd/ofvector.h" /** Class representing the Segmentation Series Module: * diff --git a/dcmiod/include/dcmtk/dcmiod/modsynchronisation.h b/dcmiod/include/dcmtk/dcmiod/modsynchronization.h similarity index 99% rename from dcmiod/include/dcmtk/dcmiod/modsynchronisation.h rename to dcmiod/include/dcmtk/dcmiod/modsynchronization.h index cef7ea83..9147bb71 100644 --- a/dcmiod/include/dcmtk/dcmiod/modsynchronisation.h +++ b/dcmiod/include/dcmtk/dcmiod/modsynchronization.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,6 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmiod/modbase.h" -#include "dcmtk/ofstd/ofoption.h" /** Class representing the Synchronization Module: * diff --git a/dcmiod/include/dcmtk/dcmiod/modusfor.h b/dcmiod/include/dcmtk/dcmiod/modusfor.h index ef2d55f7..9caf0848 100644 --- a/dcmiod/include/dcmtk/dcmiod/modusfor.h +++ b/dcmiod/include/dcmtk/dcmiod/modusfor.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,6 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmiod/modbase.h" -#include "dcmtk/ofstd/ofoption.h" /** Class representing the Frame of Reference Module: * diff --git a/dcmiod/libsrc/Makefile.dep b/dcmiod/libsrc/Makefile.dep index c1914e8f..4d4b5eb0 100644 --- a/dcmiod/libsrc/Makefile.dep +++ b/dcmiod/libsrc/Makefile.dep @@ -1,13 +1,10 @@ -cielabutil.o: cielabutil.cc ../include/dcmtk/dcmiod/cielabutil.h \ - ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmiod/ioddef.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ +cielabutil.o: cielabutil.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/cielabutil.h ../include/dcmtk/dcmiod/ioddef.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h -iodcommn.o: iodcommn.cc ../include/dcmtk/dcmiod/iodcommn.h \ - ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmiod/iodrules.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h +iodcommn.o: iodcommn.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/iodcommn.h ../include/dcmtk/dcmiod/iodrules.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ @@ -52,93 +49,45 @@ iodcommn.o: iodcommn.cc ../include/dcmtk/dcmiod/iodcommn.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmiod/modcommoninstanceref.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodmacro.h ../include/dcmtk/dcmiod/modbase.h \ ../include/dcmtk/dcmiod/iodreferences.h \ ../include/dcmtk/dcmiod/modequipment.h ../include/dcmtk/dcmiod/modfor.h \ ../include/dcmtk/dcmiod/modgeneralseries.h \ ../include/dcmtk/dcmiod/modgeneralstudy.h \ ../include/dcmtk/dcmiod/modpatient.h \ ../include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ - ../include/dcmtk/dcmiod/modsopcommon.h ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../include/dcmtk/dcmiod/modsopcommon.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h iodcontentitemmacro.o: iodcontentitemmacro.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -192,6 +141,7 @@ iodcontentitemmacro.o: iodcontentitemmacro.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ @@ -200,90 +150,58 @@ iodcontentitemmacro.o: iodcontentitemmacro.cc \ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ ../include/dcmtk/dcmiod/iodcontentitemmacro.h \ ../include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ + ../include/dcmtk/dcmiod/ioddef.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h +iodmacro.o: iodmacro.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ - ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ - ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h -iodmacro.o: iodmacro.cc ../include/dcmtk/dcmiod/iodmacro.h \ - ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -301,105 +219,55 @@ iodmacro.o: iodmacro.cc ../include/dcmtk/dcmiod/iodmacro.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ + ../include/dcmtk/dcmiod/ioddef.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ - ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ - ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h -iodreferences.o: iodreferences.cc ../include/dcmtk/dcmiod/iodreferences.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h +iodreferences.o: iodreferences.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmiod/ioddef.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../include/dcmtk/dcmiod/iodreferences.h ../include/dcmtk/dcmiod/ioddef.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -412,7 +280,6 @@ iodreferences.o: iodreferences.cc ../include/dcmtk/dcmiod/iodreferences.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -445,6 +312,7 @@ iodreferences.o: iodreferences.cc ../include/dcmtk/dcmiod/iodreferences.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -460,13 +328,12 @@ iodreferences.o: iodreferences.cc ../include/dcmtk/dcmiod/iodreferences.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../include/dcmtk/dcmiod/iodrules.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h -iodrules.o: iodrules.cc ../include/dcmtk/dcmiod/iodrules.h \ - ../../config/include/dcmtk/config/osconfig.h \ +iodrules.o: iodrules.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/iodrules.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ @@ -518,34 +385,33 @@ iodrules.o: iodrules.cc ../include/dcmtk/dcmiod/iodrules.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h -iodtypes.o: iodtypes.cc ../include/dcmtk/dcmiod/iodtypes.h \ - ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmiod/ioddef.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ +iodtypes.o: iodtypes.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/ioddef.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -570,8 +436,8 @@ iodtypes.o: iodtypes.cc ../include/dcmtk/dcmiod/iodtypes.h \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h -iodutil.o: iodutil.cc ../include/dcmtk/dcmiod/iodutil.h \ - ../../config/include/dcmtk/config/osconfig.h \ +iodutil.o: iodutil.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -580,8 +446,8 @@ iodutil.o: iodutil.cc ../include/dcmtk/dcmiod/iodutil.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -591,7 +457,6 @@ iodutil.o: iodutil.cc ../include/dcmtk/dcmiod/iodutil.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -625,13 +490,13 @@ iodutil.o: iodutil.cc ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \ @@ -644,31 +509,36 @@ iodutil.o: iodutil.cc ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h modacquisitioncontext.o: modacquisitioncontext.cc \ - ../include/dcmtk/dcmiod/modacquisitioncontext.h \ ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmiod/modacquisitioncontext.h \ + ../include/dcmtk/dcmiod/iodrules.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/ioddef.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -686,96 +556,31 @@ modacquisitioncontext.o: modacquisitioncontext.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ - ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ - ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h -modbase.o: modbase.cc ../include/dcmtk/dcmiod/modbase.h \ - ../../config/include/dcmtk/config/osconfig.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h +modbase.o: modbase.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -783,8 +588,8 @@ modbase.o: modbase.cc ../include/dcmtk/dcmiod/modbase.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -794,7 +599,6 @@ modbase.o: modbase.cc ../include/dcmtk/dcmiod/modbase.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -828,6 +632,7 @@ modbase.o: modbase.cc ../include/dcmtk/dcmiod/modbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -837,34 +642,42 @@ modbase.o: modbase.cc ../include/dcmtk/dcmiod/modbase.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \ ../include/dcmtk/dcmiod/iodtypes.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h modcommoninstanceref.o: modcommoninstanceref.cc \ - ../include/dcmtk/dcmiod/modcommoninstanceref.h \ ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmiod/modcommoninstanceref.h \ + ../include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -882,102 +695,45 @@ modcommoninstanceref.o: modcommoninstanceref.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ + ../include/dcmtk/dcmiod/ioddef.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../include/dcmtk/dcmiod/iodreferences.h \ + ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodmacro.h ../include/dcmtk/dcmiod/iodrules.h \ - ../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/ioddef.h \ - ../include/dcmtk/dcmiod/modbase.h \ - ../include/dcmtk/dcmiod/iodreferences.h \ - ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h modenhequipment.o: modenhequipment.cc \ - ../include/dcmtk/dcmiod/modenhequipment.h \ ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modenhequipment.h \ ../include/dcmtk/dcmiod/ioddef.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../include/dcmtk/dcmiod/iodrules.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -985,6 +741,8 @@ modenhequipment.o: modenhequipment.cc \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ @@ -1025,7 +783,6 @@ modenhequipment.o: modenhequipment.cc \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -1034,6 +791,7 @@ modenhequipment.o: modenhequipment.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -1043,34 +801,41 @@ modenhequipment.o: modenhequipment.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h -modenhusimage.o: modenhusimage.cc ../include/dcmtk/dcmiod/modenhusimage.h \ +modenhusimage.o: modenhusimage.cc \ ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modenhusimage.h \ ../include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1088,115 +853,72 @@ modenhusimage.o: modenhusimage.cc ../include/dcmtk/dcmiod/modenhusimage.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ + ../include/dcmtk/dcmiod/ioddef.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ - ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ - ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h modenhusseries.o: modenhusseries.cc \ - ../include/dcmtk/dcmiod/modenhusseries.h \ ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modenhusseries.h \ ../include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1214,101 +936,42 @@ modenhusseries.o: modenhusseries.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ + ../include/dcmtk/dcmiod/ioddef.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ - ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ - ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h -modequipment.o: modequipment.cc ../include/dcmtk/dcmiod/modequipment.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h +modequipment.o: modequipment.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmiod/ioddef.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../include/dcmtk/dcmiod/modequipment.h ../include/dcmtk/dcmiod/ioddef.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../include/dcmtk/dcmiod/iodrules.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1316,6 +979,8 @@ modequipment.o: modequipment.cc ../include/dcmtk/dcmiod/modequipment.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ @@ -1356,7 +1021,6 @@ modequipment.o: modequipment.cc ../include/dcmtk/dcmiod/modequipment.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -1365,6 +1029,7 @@ modequipment.o: modequipment.cc ../include/dcmtk/dcmiod/modequipment.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -1375,41 +1040,34 @@ modequipment.o: modequipment.cc ../include/dcmtk/dcmiod/modequipment.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h modfloatingpointimagepixel.o: modfloatingpointimagepixel.cc \ - ../include/dcmtk/dcmiod/modfloatingpointimagepixel.h \ ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../include/dcmtk/dcmiod/modfloatingpointimagepixel.h \ ../include/dcmtk/dcmiod/modimagepixelbase.h \ ../include/dcmtk/dcmiod/modbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1436,31 +1094,26 @@ modfloatingpointimagepixel.o: modfloatingpointimagepixel.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \ ../include/dcmtk/dcmiod/iodtypes.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h -modfor.o: modfor.cc ../include/dcmtk/dcmiod/modfor.h \ - ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h +modfor.o: modfor.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modfor.h ../include/dcmtk/dcmiod/modbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -1468,8 +1121,8 @@ modfor.o: modfor.cc ../include/dcmtk/dcmiod/modfor.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -1479,7 +1132,6 @@ modfor.o: modfor.cc ../include/dcmtk/dcmiod/modfor.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1513,6 +1165,7 @@ modfor.o: modfor.cc ../include/dcmtk/dcmiod/modfor.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1530,13 +1183,12 @@ modfor.o: modfor.cc ../include/dcmtk/dcmiod/modfor.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h modgeneralimage.o: modgeneralimage.cc \ - ../include/dcmtk/dcmiod/modgeneralimage.h \ ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modgeneralimage.h \ ../include/dcmtk/dcmiod/iodrules.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ @@ -1586,7 +1238,6 @@ modgeneralimage.o: modgeneralimage.cc \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -1595,6 +1246,7 @@ modgeneralimage.o: modgeneralimage.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -1610,36 +1262,42 @@ modgeneralimage.o: modgeneralimage.cc \ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h modgeneralseries.o: modgeneralseries.cc \ - ../include/dcmtk/dcmiod/modgeneralseries.h \ ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modgeneralseries.h \ ../include/dcmtk/dcmiod/ioddef.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1657,114 +1315,72 @@ modgeneralseries.o: modgeneralseries.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ - ../include/dcmtk/dcmiod/modbase.h ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../include/dcmtk/dcmiod/iodutil.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h modgeneralstudy.o: modgeneralstudy.cc \ - ../include/dcmtk/dcmiod/modgeneralstudy.h \ ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modgeneralstudy.h \ ../include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1782,105 +1398,53 @@ modgeneralstudy.o: modgeneralstudy.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ + ../include/dcmtk/dcmiod/ioddef.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ - ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h -modhelp.o: modhelp.cc ../include/dcmtk/dcmiod/modhelp.h \ - ../../config/include/dcmtk/config/osconfig.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h +modhelp.o: modhelp.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modhelp.h ../include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../include/dcmtk/dcmiod/ioddef.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1895,7 +1459,6 @@ modhelp.o: modhelp.cc ../include/dcmtk/dcmiod/modhelp.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1928,37 +1491,34 @@ modhelp.o: modhelp.cc ../include/dcmtk/dcmiod/modhelp.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h -modimagepixel.o: modimagepixel.cc ../include/dcmtk/dcmiod/modimagepixel.h \ +modimagepixel.o: modimagepixel.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../include/dcmtk/dcmiod/modimagepixel.h \ ../include/dcmtk/dcmiod/modimagepixelbase.h \ ../include/dcmtk/dcmiod/modbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1985,33 +1545,36 @@ modimagepixel.o: modimagepixel.cc ../include/dcmtk/dcmiod/modimagepixel.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \ ../include/dcmtk/dcmiod/iodtypes.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h modimagepixelbase.o: modimagepixelbase.cc \ - ../include/dcmtk/dcmiod/modimagepixelbase.h \ ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modimagepixelbase.h \ ../include/dcmtk/dcmiod/modbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -2020,8 +1583,8 @@ modimagepixelbase.o: modimagepixelbase.cc \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -2031,7 +1594,6 @@ modimagepixelbase.o: modimagepixelbase.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2065,6 +1627,7 @@ modimagepixelbase.o: modimagepixelbase.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2075,20 +1638,17 @@ modimagepixelbase.o: modimagepixelbase.cc \ ../include/dcmtk/dcmiod/iodtypes.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h modmultiframedimension.o: modmultiframedimension.cc \ - ../include/dcmtk/dcmiod/modmultiframedimension.h \ ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modmultiframedimension.h \ ../include/dcmtk/dcmiod/iodrules.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ @@ -2138,7 +1698,6 @@ modmultiframedimension.o: modmultiframedimension.cc \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -2147,6 +1706,7 @@ modmultiframedimension.o: modmultiframedimension.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -2162,35 +1722,28 @@ modmultiframedimension.o: modmultiframedimension.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h modmultiframefg.o: modmultiframefg.cc \ - ../include/dcmtk/dcmiod/modmultiframefg.h \ ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../include/dcmtk/dcmiod/modmultiframefg.h \ + ../include/dcmtk/dcmiod/ioddef.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../include/dcmtk/dcmiod/iodrules.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../include/dcmtk/dcmiod/iodtypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -2204,6 +1757,7 @@ modmultiframefg.o: modmultiframefg.cc \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -2215,54 +1769,65 @@ modmultiframefg.o: modmultiframefg.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \ - ../include/dcmtk/dcmiod/iodtypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../include/dcmtk/dcmiod/modbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h -modpatient.o: modpatient.cc ../include/dcmtk/dcmiod/modpatient.h \ - ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h +modpatient.o: modpatient.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../include/dcmtk/dcmiod/modpatient.h ../include/dcmtk/dcmiod/iodrules.h \ + ../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/ioddef.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -2280,114 +1845,66 @@ modpatient.o: modpatient.cc ../include/dcmtk/dcmiod/modpatient.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ - ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ - ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h modpatientstudy.o: modpatientstudy.cc \ - ../include/dcmtk/dcmiod/modpatientstudy.h \ ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmiod/modpatientstudy.h \ + ../include/dcmtk/dcmiod/iodrules.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/ioddef.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -2405,122 +1922,77 @@ modpatientstudy.o: modpatientstudy.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ - ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ - ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h modsegmentationseries.o: modsegmentationseries.cc \ - ../include/dcmtk/dcmiod/modsegmentationseries.h \ ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../include/dcmtk/dcmiod/modsegmentationseries.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -2533,96 +2005,35 @@ modsegmentationseries.o: modsegmentationseries.cc \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \ + ../include/dcmtk/dcmiod/iodtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/modbase.h ../include/dcmtk/dcmiod/ioddef.h \ - ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ - ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h -modsopcommon.o: modsopcommon.cc ../include/dcmtk/dcmiod/modsopcommon.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h +modsopcommon.o: modsopcommon.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmiod/modbase.h \ + ../include/dcmtk/dcmiod/modsopcommon.h ../include/dcmtk/dcmiod/modbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -2630,8 +2041,8 @@ modsopcommon.o: modsopcommon.cc ../include/dcmtk/dcmiod/modsopcommon.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -2641,7 +2052,6 @@ modsopcommon.o: modsopcommon.cc ../include/dcmtk/dcmiod/modsopcommon.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2675,6 +2085,7 @@ modsopcommon.o: modsopcommon.cc ../include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2685,7 +2096,6 @@ modsopcommon.o: modsopcommon.cc ../include/dcmtk/dcmiod/modsopcommon.h \ ../include/dcmtk/dcmiod/iodtypes.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ @@ -2698,7 +2108,6 @@ modsopcommon.o: modsopcommon.cc ../include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h modsynchronization.o: modsynchronization.cc \ ../../config/include/dcmtk/config/osconfig.h \ @@ -2716,7 +2125,8 @@ modsynchronization.o: modsynchronization.cc \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2753,10 +2163,9 @@ modsynchronization.o: modsynchronization.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../include/dcmtk/dcmiod/iodutil.h \ @@ -2766,24 +2175,19 @@ modsynchronization.o: modsynchronization.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \ ../include/dcmtk/dcmiod/iodtypes.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../include/dcmtk/dcmiod/modsynchronisation.h \ - ../include/dcmtk/dcmiod/modbase.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h -modusfor.o: modusfor.cc ../include/dcmtk/dcmiod/modusfor.h \ - ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmiod/modbase.h \ + ../include/dcmtk/dcmiod/modsynchronization.h \ + ../include/dcmtk/dcmiod/modbase.h +modusfor.o: modusfor.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/modusfor.h ../include/dcmtk/dcmiod/modbase.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -2791,8 +2195,8 @@ modusfor.o: modusfor.cc ../include/dcmtk/dcmiod/modusfor.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -2802,7 +2206,6 @@ modusfor.o: modusfor.cc ../include/dcmtk/dcmiod/modusfor.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2836,6 +2239,7 @@ modusfor.o: modusfor.cc ../include/dcmtk/dcmiod/modusfor.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2845,17 +2249,13 @@ modusfor.o: modusfor.cc ../include/dcmtk/dcmiod/modusfor.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \ ../include/dcmtk/dcmiod/iodtypes.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h diff --git a/dcmiod/libsrc/cielabutil.cc b/dcmiod/libsrc/cielabutil.cc index 85b59a8e..c8bed474 100644 --- a/dcmiod/libsrc/cielabutil.cc +++ b/dcmiod/libsrc/cielabutil.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2005-2021, Pascal Getreuer, Open Connections GmbH + * Copyright (C) 2005-2024, Pascal Getreuer, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -18,9 +18,10 @@ * Purpose: Static helper functionality for CIE<->RGB color conversions * */ -#include "dcmtk/dcmiod/cielabutil.h" #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmiod/cielabutil.h" #include "dcmtk/ofstd/ofstdinc.h" /* for STD_NAMESPACE */ +#include "dcmtk/ofstd/ofcast.h" // workaround for SunPro not defining these C functions in the global namespace #ifdef __sun diff --git a/dcmiod/libsrc/iodcommn.cc b/dcmiod/libsrc/iodcommn.cc index 3c460873..07cf61a1 100644 --- a/dcmiod/libsrc/iodcommn.cc +++ b/dcmiod/libsrc/iodcommn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,10 +19,10 @@ * */ -#include "dcmtk/dcmiod/iodcommn.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/iodcommn.h" +#include "dcmtk/dcmdata/dcfilefo.h" #include "dcmtk/dcmdata/dctypes.h" // logger -#include "dcmtk/dcmiod/iodutil.h" DcmIODCommon::DcmIODCommon() : m_Item(new DcmItem()) @@ -36,6 +36,7 @@ DcmIODCommon::DcmIODCommon() , m_SOPCommon(m_Item, m_Rules) , m_CommonInstanceReferenceModule(m_Item, m_Rules) , m_Modules() + , m_CheckValueOnWrite(OFTrue) { // Set initial values for a new SOP instance ensureInstanceUIDs(OFFalse); @@ -82,13 +83,13 @@ DcmIODCommon::~DcmIODCommon() void DcmIODCommon::clearData() { - // TODO - // OFVector::iterator it = m_Modules.begin(); - // while (it != m_Modules.end()) - // { - // (*it)->clearData(); - // it++; - // } + // Clear data in all modules + OFVector::iterator it = m_Modules.begin(); + while (it != m_Modules.end()) + { + (*it)->clearData(); + it++; + } } IODPatientModule& DcmIODCommon::getPatient() @@ -257,6 +258,23 @@ OFCondition DcmIODCommon::write(DcmItem& dataset) return result; } +void DcmIODCommon::setValueCheckOnWrite(const OFBool check) +{ + m_CheckValueOnWrite = check; + // set value checking policy for all modules + OFVector::iterator it = m_Modules.begin(); + while (it != m_Modules.end()) + { + (*it)->setValueCheckOnWrite(check); + it++; + } +} + +OFBool DcmIODCommon::getValueCheckOnWrite() const +{ + return m_CheckValueOnWrite; +} + void DcmIODCommon::createNewStudy(const OFBool clearEquipment) { // clear all study-related attributes diff --git a/dcmiod/libsrc/iodcontentitemmacro.cc b/dcmiod/libsrc/iodcontentitemmacro.cc index 4858e06a..d0893e5c 100644 --- a/dcmiod/libsrc/iodcontentitemmacro.cc +++ b/dcmiod/libsrc/iodcontentitemmacro.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2019, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -25,6 +25,8 @@ #include "dcmtk/dcmdata/dcvrda.h" #include "dcmtk/dcmdata/dcvrdt.h" #include "dcmtk/dcmdata/dcvrtm.h" +#include "dcmtk/dcmdata/dcvrut.h" +#include "dcmtk/dcmdata/dcvrds.h" #include "dcmtk/ofstd/ofstream.h" #include "dcmtk/dcmiod/iodcontentitemmacro.h" diff --git a/dcmiod/libsrc/iodmacro.cc b/dcmiod/libsrc/iodmacro.cc index 31dbd03f..c0d7f994 100644 --- a/dcmiod/libsrc/iodmacro.cc +++ b/dcmiod/libsrc/iodmacro.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2021, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,10 +19,17 @@ * */ -#include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/dcmiod/iodutil.h" // for static IOD helpers #include "dcmtk/ofstd/ofstream.h" +#include "dcmtk/dcmdata/dcvrur.h" +#include "dcmtk/dcmdata/dcvrui.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcvrsh.h" +#include "dcmtk/dcmdata/dcvruc.h" +#include "dcmtk/dcmdata/dcuid.h" +#include "dcmtk/ofstd/ofstd.h" // --------------------------- Code Sequence Macro --------------------------- @@ -105,7 +112,7 @@ void CodeSequenceMacro::resetRules() OFTrue /*overwrite old rule*/); m_Rules->addRule(new IODRule(DCM_LongCodeValue, "1", "1C", getName(), DcmIODTypes::IE_UNDEFINED), OFTrue /*overwrite old rule*/); - m_Rules->addRule(new IODRule(DCM_CodingSchemeDesignator, "1", "1", getName(), DcmIODTypes::IE_UNDEFINED), + m_Rules->addRule(new IODRule(DCM_CodingSchemeDesignator, "1", "1C", getName(), DcmIODTypes::IE_UNDEFINED), OFTrue /*overwrite old rule*/); m_Rules->addRule(new IODRule(DCM_CodingSchemeVersion, "1", "1C", getName(), DcmIODTypes::IE_UNDEFINED), OFTrue /*overwrite old rule*/); @@ -888,7 +895,7 @@ OFCondition ImageSOPInstanceReferenceMacro::addReferencedFrameNumber(const Uint1 val += "\\"; } char buf[10]; - sprintf(buf, "%u", value); + OFStandard::snprintf(buf, sizeof(buf), "%u", value); val += buf; return ReferencedFrameNumber.putOFStringArray(val); } diff --git a/dcmiod/libsrc/iodreferences.cc b/dcmiod/libsrc/iodreferences.cc index 0eb1b540..e1845f5e 100644 --- a/dcmiod/libsrc/iodreferences.cc +++ b/dcmiod/libsrc/iodreferences.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2019, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,16 +19,16 @@ * */ -#include "dcmtk/dcmiod/iodreferences.h" #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmiod/iodreferences.h" #include "dcmtk/dcmdata/dcdatset.h" #include "dcmtk/dcmdata/dcdeftag.h" -#include "dcmtk/dcmdata/dcerror.h" #include "dcmtk/dcmdata/dcfilefo.h" #include "dcmtk/dcmdata/dcvrlo.h" #include "dcmtk/dcmdata/dcvrui.h" #include "dcmtk/dcmiod/iodtypes.h" #include "dcmtk/dcmiod/iodutil.h" +#include "dcmtk/ofstd/ofstd.h" // ------------------- class IODReference ------------------------------- @@ -237,7 +237,7 @@ OFCondition IODReferences::writeTractographyReferencedInstanceSequence(DcmItem& OFString IODReference::toString() const { char buf[400]; - sprintf(buf, + OFStandard::snprintf(buf, sizeof(buf), "Study/Series/SOPClass/SOPInstance UIDs: %s/%s/%s/%s", m_StudyInstanceUID.c_str(), m_SeriesInstanceUID.c_str(), diff --git a/dcmiod/libsrc/iodrules.cc b/dcmiod/libsrc/iodrules.cc index 86740fa8..80f90c2b 100644 --- a/dcmiod/libsrc/iodrules.cc +++ b/dcmiod/libsrc/iodrules.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,8 +19,8 @@ * */ -#include "dcmtk/dcmiod/iodrules.h" #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmiod/iodrules.h" #include "dcmtk/dcmdata/dcelem.h" #include "dcmtk/dcmdata/dcitem.h" #include "dcmtk/dcmdata/dctagkey.h" diff --git a/dcmiod/libsrc/iodtypes.cc b/dcmiod/libsrc/iodtypes.cc index 9ea5fce8..ab2f8aa3 100644 --- a/dcmiod/libsrc/iodtypes.cc +++ b/dcmiod/libsrc/iodtypes.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,8 +19,9 @@ * */ -#include "dcmtk/dcmiod/iodtypes.h" #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmiod/iodtypes.h" +#include "dcmtk/oflog/oflog.h" #include "dcmtk/dcmdata/dcerror.h" OFLogger DCM_dcmiodLogger = OFLog::getLogger("dcmtk.dcmiod"); diff --git a/dcmiod/libsrc/iodutil.cc b/dcmiod/libsrc/iodutil.cc index 23a5d0ef..3b6269d0 100644 --- a/dcmiod/libsrc/iodutil.cc +++ b/dcmiod/libsrc/iodutil.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2023, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,8 +19,8 @@ * */ -#include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmdata/dctypes.h" // logger #include "dcmtk/dcmiod/iodrules.h" @@ -29,11 +29,12 @@ #include "dcmtk/dcmdata/dcdict.h" #include "dcmtk/dcmdata/dcfilefo.h" #include "dcmtk/dcmdata/dcitem.h" -#include "dcmtk/dcmdata/dcmetinf.h" #include "dcmtk/dcmdata/dcsequen.h" #include "dcmtk/dcmdata/dcuid.h" #include "dcmtk/dcmdata/dcvrda.h" #include "dcmtk/dcmdata/dcvrtm.h" +#include "dcmtk/dcmiod/iodtypes.h" +#include "dcmtk/ofstd/ofstring.h" // --- static helpers --- @@ -43,7 +44,7 @@ OFCondition DcmIODUtil::getAndCheckElementFromDataset( DcmStack stack; const DcmTagKey tagKey = delem.getTag(); OFCondition result = dataset.search(tagKey, stack, ESM_fromHere, OFFalse /*searchIntoSub*/); - if (result.good()) + if (result.good() && stack.top()->isElement()) { /* copy object from search stack */ result = delem.copyFrom(*stack.top()); @@ -76,7 +77,7 @@ OFCondition DcmIODUtil::getAndCheckElementFromDataset(DcmItem& dataset, DcmStack stack; OFCondition result = dataset.search(tagKey, stack, ESM_fromHere, OFFalse /*searchIntoSub*/); - if (result.good()) + if (result.good() && stack.top()->isElement()) { /* copy object from search stack */ delem = OFstatic_cast(DcmElement*, stack.top()->clone()); @@ -143,7 +144,7 @@ OFCondition DcmIODUtil::copyElementToDataset(OFCondition& result, } OFCondition -DcmIODUtil::addElementToDataset(OFCondition& result, DcmItem& dataset, DcmElement* delem, const IODRule* rule) +DcmIODUtil::addElementToDataset(OFCondition& result, DcmItem& dataset, DcmElement* delem, const IODRule* rule, const OFBool checkValue) { OFBool insertionOK = OFFalse; if (result.good()) @@ -179,7 +180,9 @@ DcmIODUtil::addElementToDataset(OFCondition& result, DcmItem& dataset, DcmElemen return result; } } - // At this point, we certainly have an element. Check its value (empty ok for type 2) + // At this point, we certainly have an element. Check its value (empty ok for type 2). + dcmtk::log4cplus::LogLevel logLevel; + if (checkValue) logLevel = dcmtk::log4cplus::ERROR_LOG_LEVEL; else logLevel = dcmtk::log4cplus::WARN_LOG_LEVEL; if ((type == "2") || !delem->isEmpty()) { // Insert non-empty element or empty "type 2" element. First, perform the insertion, and then @@ -193,7 +196,8 @@ DcmIODUtil::addElementToDataset(OFCondition& result, DcmItem& dataset, DcmElemen type, result, rule->getModule().c_str(), - dcmtk::log4cplus::ERROR_LOG_LEVEL); + logLevel); + resetConditionIfCheckDisabled(result, checkValue, *delem); } if (result.good()) { @@ -210,7 +214,7 @@ DcmIODUtil::addElementToDataset(OFCondition& result, DcmItem& dataset, DcmElemen // Empty element value not allowed for "type 1" result = EC_InvalidValue; checkElementValue( - *delem, rule->getVM(), type, result, rule->getModule().c_str(), dcmtk::log4cplus::ERROR_LOG_LEVEL); + *delem, rule->getVM(), type, result, rule->getModule().c_str(), logLevel); } } else @@ -640,7 +644,7 @@ const DcmTagKey DcmIODUtil::parseTagKey(const OFString& keyString) OFCondition DcmIODUtil::decompress(DcmDataset& dset) { DcmXfer xfer = dset.getOriginalXfer(); - if (xfer.isEncapsulated()) + if (xfer.isPixelDataCompressed()) { if (EC_Normal != dset.chooseRepresentation(EXS_LittleEndianExplicit, NULL)) { @@ -689,86 +693,133 @@ OFCondition DcmIODUtil::extractBinaryFrames(Uint8* pixData, const size_t bitsPerFrame, OFVector& results) { - // Will hold the bit position (0-7) that the current frame starts from. The - // first frame will always start at bit 0. - Uint8 bitShift = 0; - // Compute length in bytes we need to consider for each frame. - size_t frameLengthBytes = bitsPerFrame / 8; - // If the number of bits is not dividable by 8, we need part of an extra - // byte in the end. Since we like to set the unused bits to 0 in such a last - // byte to 0, remember the number. - size_t overlapBits = (8 - (bitsPerFrame % 8)) % 8; - // Add an extra byte if we we fill a partial byte in the end - if (overlapBits != 0) - frameLengthBytes++; - // Points to current reading position within pixData - Uint8* readPos = pixData; - // Loop over each frame and copy it to Frame structures - for (size_t f = 0; f < numFrames; f++) - { - // Create frame with correct length and copy 1:1 from pixel data - DcmIODTypes::Frame* frame = new DcmIODTypes::Frame(); - frame->length = frameLengthBytes; - frame->pixData = new Uint8[frameLengthBytes]; - if (!frame->pixData) + if (pixData == NULL) + { + DCMIOD_ERROR("Cannot extract frames from NULL pixel data"); + return EC_IllegalParameter; + } + if (numFrames == 0) + { + DCMIOD_ERROR("Cannot extract frames from 0 frames"); + return EC_IllegalParameter; + } + if (bitsPerFrame == 0) + { + DCMIOD_ERROR("Cannot extract frames with 0 bits per frame"); + return EC_IllegalParameter; + } + // pixData contains all frames in a single buffer. Each frame is bitsPerFrame bits long. + // We need to extract each frame into a separate buffer (results vector). Every frame + // in the input takes bitsPerFrame bits, and pixData's bytes are filled from left to right, + // with bits filled from right to left (!). This means that the first frame's first bit + // is the bit on the right of the first byte in pixData, and the last frame's last bit is + // the bit on the left of the last byte in pixData. However, the last frame's last bit + // can be in the middle of a byte. The resulting frame contains an exact copy of each + // frame, however, the last byte of each frame is padded with 0s to make it a full byte. + // E.g. if the last frame occupies only 3 bits of the last required byte, the last byte + // of the frame will be padded with 5 0s on the left side of the that byte (since as said, bits + // are filled from right to left). + // Calculate number of bytes per frame + size_t bytesPerFrame = bitsPerFrame / 8; + if (bitsPerFrame % 8 != 0) + { + bytesPerFrame++; // If bitsPerFrame is not a multiple of 8, we need one more byte + } + // Reserve memory for results + results.reserve(numFrames); + for (size_t i = 0; i < numFrames; i++) + { + Uint8* frameData = new Uint8[bytesPerFrame]; + if (frameData == NULL) { - delete frame; + DCMIOD_ERROR("Memory exhausted while extracting frames"); return EC_MemoryExhausted; } - memcpy(frame->pixData, readPos, frame->length); - // --------------------------------------------------------- - // Remove bits in first byte from former frame if necessary: - // --------------------------------------------------------- - // If we have been copying too much, i.e the first bits of this frame - // actually belong to the former frame, shift the whole frame this amount - // of bits to the left in order to shift the superfluous bits out, i.e. - // make frame start at byte boundary. - if (bitShift > 0) + memset(frameData, 0, bytesPerFrame); // Initialize to 0 + DcmIODTypes::Frame* frame = new DcmIODTypes::Frame(); + if (frame == NULL) { - DcmIODUtil::alignFrameOnByteBoundary(frame->pixData, frame->length, 8 - bitShift); + DCMIOD_ERROR("Memory exhausted while extracting frames"); + delete[] frameData; + return EC_MemoryExhausted; } - // ------------------------------------------------------- - // Mask out (set 0) bits of last byte if not used by frame - // ------------------------------------------------------- - // Adapt last byte by masking out unused bits (i.e. those belonging to next frame). - // A reader should ignore those unused bits anyway. - frame->pixData[frame->length - 1] = OFstatic_cast(unsigned char, (frame->pixData[frame->length - 1] << overlapBits)) >> overlapBits; - // Store frame + frame->pixData = frameData; + frame->length = bytesPerFrame; results.push_back(frame); - // Compute the bitshift created by this frame - bitShift = (8 - ((f + 1) * bitsPerFrame) % 8) % 8; - // If the previous byte read has not been used completely, i.e. it contains - // also bytes of the next frame, rewind read position to the previous byte - // that was partially read. Otherwise skip to the next full byte. - if (bitShift > 0) - { + } - readPos = readPos + frame->length - 1; + // Extract frames + size_t bitsLeftInInputByte = 8; + size_t bitsLeftInTargetByte = 8; + size_t bitsLeftInFrame = bitsPerFrame; + size_t inputByteIndex = 0; + size_t targetFrameIndex = 0; + size_t targetByteIndex = 0; + // Iterate over bits in input data (byte per byte, from left to right, and within byte from right to left) + for (size_t i = 0; i < numFrames * bitsPerFrame; i++) + { + // Get current bit + Uint8 bit = (pixData[inputByteIndex] >> (8 - bitsLeftInInputByte)) & 0x01; + + // Set bit in current frame to to position calculated from bitsLeftInTargetByte + results[targetFrameIndex]->pixData[targetByteIndex] |= (bit << (8 - bitsLeftInTargetByte)); + + // Move to next bit + bitsLeftInInputByte--; + bitsLeftInFrame--; + bitsLeftInTargetByte--; + + // If we have processed all bits in the current byte, move to next byte + if (bitsLeftInInputByte == 0) + { + bitsLeftInInputByte = 8; + inputByteIndex++; } - else + // If we have processed all bits in the current frame, move to next frame, + // and also start new target frame + if (bitsLeftInFrame == 0) { - readPos = readPos + frame->length; + bitsLeftInFrame = bitsPerFrame; + targetFrameIndex++; + targetByteIndex = 0; + bitsLeftInTargetByte = 8; + } + // Advance to next target byte if we have filled the current one + if (bitsLeftInTargetByte == 0) + { + bitsLeftInTargetByte = 8; + targetByteIndex++; } } return EC_Normal; } -void DcmIODUtil::alignFrameOnByteBoundary(Uint8* buf, size_t bufLen, Uint8 numBits) + +void DcmIODUtil::resetConditionIfCheckDisabled(OFCondition& result, const OFBool checkValue, DcmElement& elem) { - if (numBits > 7) - { - DCMIOD_ERROR("Invalid input data: alignFrameOnByteBoundary() can only shift 0-7 bits"); - return; - } - for (size_t x = 0; x < bufLen - 1; x++) + if (!checkValue) { - // Shift current byte - buf[x] = OFstatic_cast(unsigned char, buf[x]) >> numBits; - // isolate portion of next byte that must be shifted into current byte - Uint8 next = (buf[x + 1] << (8 - numBits)); - // Take over portion from next byte - buf[x] |= next; + if ( (result == EC_ValueRepresentationViolated) || + (result == EC_MaximumLengthViolated) || + (result == EC_InvalidCharacter) || + (result == EC_ValueMultiplicityViolated) ) + { + // print element to string + OFOStringStream oss; + oss << elem.getTag() << " " << DcmVR(elem.getVR()).getVRName() << " "; + oss << DcmTag(elem.getTag()).getTagName() << " "; + if (elem.getLength() > 1024) + { + oss << "(value too long for printing)"; + } + { + OFString val; + elem.getOFString(val, 0, OFTrue); + oss << "[" << val << "]"; + } + + DCMIOD_DEBUG("Ignoring error (" << result.text() <<") when checking element: " << oss.str().c_str()); + result = EC_Normal; + } } - // Shift last byte manually - buf[bufLen - 1] = OFstatic_cast(unsigned char, buf[bufLen - 1]) >> numBits; } diff --git a/dcmiod/libsrc/modacquisitioncontext.cc b/dcmiod/libsrc/modacquisitioncontext.cc index 0796b900..1ee32254 100644 --- a/dcmiod/libsrc/modacquisitioncontext.cc +++ b/dcmiod/libsrc/modacquisitioncontext.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,9 +19,9 @@ * */ -#include "dcmtk/dcmiod/modacquisitioncontext.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcmtk/dcmiod/iodutil.h" +#include "dcmtk/dcmiod/modacquisitioncontext.h" +#include "dcmtk/dcmdata/dcdeftag.h" const OFString IODAcquisitionContextModule::m_ModuleName = "AcquisitionContextModule"; diff --git a/dcmiod/libsrc/modbase.cc b/dcmiod/libsrc/modbase.cc index 03528bca..7e981183 100644 --- a/dcmiod/libsrc/modbase.cc +++ b/dcmiod/libsrc/modbase.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,9 +19,8 @@ * */ -#include "dcmtk/dcmiod/modbase.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmiod/modbase.h" #include "dcmtk/dcmdata/dcitem.h" #include "dcmtk/dcmiod/iodrules.h" #include "dcmtk/dcmiod/iodutil.h" @@ -30,6 +29,7 @@ IODComponent::IODComponent(const IODComponent& rhs) : m_Item(OFstatic_cast(DcmItem*, rhs.m_Item->clone())) , m_Rules(rhs.m_Rules->clone()) , m_Parent(OFnullptr) + , m_CheckValueOnWrite(rhs.m_CheckValueOnWrite) { } @@ -37,6 +37,7 @@ IODComponent::IODComponent(OFshared_ptr item, OFshared_ptr ru : m_Item(item) , m_Rules(rules) , m_Parent(parent) + , m_CheckValueOnWrite(OFTrue) { if (!m_Item) m_Item.reset(new DcmItem()); @@ -49,9 +50,14 @@ IODComponent::IODComponent(IODComponent* parent) : m_Item() , m_Rules() , m_Parent(parent) + , m_CheckValueOnWrite() { m_Item.reset(new DcmItem()); m_Rules.reset(new IODRules()); + if (parent) + { + m_CheckValueOnWrite = parent->getValueCheckOnWrite(); + } } IODComponent::~IODComponent() @@ -66,13 +72,14 @@ IODComponent& IODComponent::operator=(const IODComponent& rhs) m_Item.reset(OFstatic_cast(DcmItem*, rhs.m_Item->clone())); m_Rules.reset(rhs.m_Rules->clone()); m_Parent = OFnullptr; + m_CheckValueOnWrite = rhs.m_CheckValueOnWrite; } return *this; } void IODComponent::inventMissing() { - // Try to fill in missing type 1 information + // Try to fill in default values OFVector writeRules = m_Rules->getByModule(getName()); OFVector::iterator rule = writeRules.begin(); while (rule != writeRules.end()) @@ -154,7 +161,7 @@ OFCondition IODComponent::write(DcmItem& destination) // Start writing OFCondition result = EC_Normal; - result = write(*m_Item, *m_Rules, destination, getName()); + result = write(*m_Item, *m_Rules, destination, getName(), m_CheckValueOnWrite); return result; } @@ -220,7 +227,7 @@ OFCondition IODComponent::read(DcmItem& source, IODRules& rules, DcmItem& destin } // static helper -OFCondition IODComponent::write(DcmItem& source, IODRules& rules, DcmItem& destination, const OFString& componentName) +OFCondition IODComponent::write(DcmItem& source, IODRules& rules, DcmItem& destination, const OFString& componentName, const OFBool checkValue) { OFCondition result = EC_Normal; @@ -230,13 +237,23 @@ OFCondition IODComponent::write(DcmItem& source, IODRules& rules, DcmItem& desti { DcmElement* elem = NULL; source.findAndGetElement((*rule)->getTagKey(), elem, OFFalse /* only this level */, OFTrue /* create copy*/); - DcmIODUtil::addElementToDataset(result, destination, elem, *rule); + DcmIODUtil::addElementToDataset(result, destination, elem, *rule, checkValue); rule++; } return result; } +void IODComponent::setValueCheckOnWrite(const OFBool checkValue) +{ + m_CheckValueOnWrite = checkValue; +} + +OFBool IODComponent::getValueCheckOnWrite() const +{ + return m_CheckValueOnWrite; +} + // -------- IODModule -------------- IODModule::IODModule() diff --git a/dcmiod/libsrc/modcommoninstanceref.cc b/dcmiod/libsrc/modcommoninstanceref.cc index 69fa9602..11ed06f5 100644 --- a/dcmiod/libsrc/modcommoninstanceref.cc +++ b/dcmiod/libsrc/modcommoninstanceref.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,9 +19,10 @@ * */ -#include "dcmtk/dcmiod/modcommoninstanceref.h" #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmiod/modcommoninstanceref.h" #include "dcmtk/dcmiod/iodutil.h" // for static helpers +#include "dcmtk/dcmdata/dcvrui.h" const OFString IODCommonInstanceReferenceModule::m_ComponentName = "CommonInstanceReferenceModule"; const OFString IODCommonInstanceReferenceModule::StudiesOtherInstancesItem::m_ComponentName diff --git a/dcmiod/libsrc/modenhequipment.cc b/dcmiod/libsrc/modenhequipment.cc index 33c7333a..79617395 100644 --- a/dcmiod/libsrc/modenhequipment.cc +++ b/dcmiod/libsrc/modenhequipment.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,12 +19,10 @@ * */ -#include "dcmtk/dcmiod/modenhequipment.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modenhequipment.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcvrlo.h" -#include "dcmtk/dcmdata/dcvrsh.h" -#include "dcmtk/dcmdata/dcvrst.h" #include "dcmtk/dcmiod/iodutil.h" IODEnhGeneralEquipmentModule::IODEnhGeneralEquipmentModule(OFshared_ptr item, OFshared_ptr rules) diff --git a/dcmiod/libsrc/modenhusimage.cc b/dcmiod/libsrc/modenhusimage.cc index 3aec0dab..20027a16 100644 --- a/dcmiod/libsrc/modenhusimage.cc +++ b/dcmiod/libsrc/modenhusimage.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2020, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,9 +19,11 @@ * */ -#include "dcmtk/dcmiod/modenhusimage.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modenhusimage.h" #include "dcmtk/dcmiod/iodutil.h" +#include "dcmtk/dcmdata/dcvrdt.h" +#include "dcmtk/dcmdata/dcvrds.h" const OFString IODEnhUSImageModule::m_ModuleName = "EnhancedUSImageModule"; diff --git a/dcmiod/libsrc/modenhusseries.cc b/dcmiod/libsrc/modenhusseries.cc index eba83877..bb517bc0 100644 --- a/dcmiod/libsrc/modenhusseries.cc +++ b/dcmiod/libsrc/modenhusseries.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,8 +19,8 @@ * */ -#include "dcmtk/dcmiod/modenhusseries.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modenhusseries.h" #include "dcmtk/dcmiod/iodutil.h" const OFString IODEnhancedUSSeriesModule::m_ModuleName = "EnhancedUSSeries"; diff --git a/dcmiod/libsrc/modequipment.cc b/dcmiod/libsrc/modequipment.cc index c45d2cff..ae114af9 100644 --- a/dcmiod/libsrc/modequipment.cc +++ b/dcmiod/libsrc/modequipment.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,12 +19,11 @@ * */ -#include "dcmtk/dcmiod/modequipment.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modequipment.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcvrlo.h" #include "dcmtk/dcmdata/dcvrsh.h" -#include "dcmtk/dcmdata/dcvrst.h" #include "dcmtk/dcmiod/iodutil.h" IODGeneralEquipmentModule::IODGeneralEquipmentModule(OFshared_ptr item, OFshared_ptr rules) diff --git a/dcmiod/libsrc/modfloatingpointimagepixel.cc b/dcmiod/libsrc/modfloatingpointimagepixel.cc index a1be1bc8..eb82f693 100644 --- a/dcmiod/libsrc/modfloatingpointimagepixel.cc +++ b/dcmiod/libsrc/modfloatingpointimagepixel.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2022, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,12 +19,9 @@ * */ -#include "dcmtk/dcmiod/modfloatingpointimagepixel.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modfloatingpointimagepixel.h" #include "dcmtk/dcmdata/dcdeftag.h" -#include "dcmtk/dcmdata/dcvrfd.h" -#include "dcmtk/dcmdata/dcvrfl.h" -#include "dcmtk/dcmiod/iodutil.h" const OFString IODFloatingPointImagePixelModule::m_ModuleName = "FloatingPointImagePixelModule"; const DcmTagKey IODFloatingPointImagePixelModule::pixel_data_tag = DCM_FloatPixelData; diff --git a/dcmiod/libsrc/modfor.cc b/dcmiod/libsrc/modfor.cc index f664fb0e..4b0e580c 100644 --- a/dcmiod/libsrc/modfor.cc +++ b/dcmiod/libsrc/modfor.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,8 +19,8 @@ * */ -#include "dcmtk/dcmiod/modfor.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modfor.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcvrlo.h" #include "dcmtk/dcmdata/dcvrui.h" diff --git a/dcmiod/libsrc/modgeneralimage.cc b/dcmiod/libsrc/modgeneralimage.cc index 247f3607..6920c6d9 100644 --- a/dcmiod/libsrc/modgeneralimage.cc +++ b/dcmiod/libsrc/modgeneralimage.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2020, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,15 +19,14 @@ * */ -#include "dcmtk/dcmiod/modgeneralimage.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modgeneralimage.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcvrcs.h" #include "dcmtk/dcmdata/dcvrda.h" #include "dcmtk/dcmdata/dcvrds.h" #include "dcmtk/dcmdata/dcvrdt.h" #include "dcmtk/dcmdata/dcvris.h" -#include "dcmtk/dcmdata/dcvrlt.h" #include "dcmtk/dcmdata/dcvrtm.h" #include "dcmtk/dcmdata/dcvrui.h" diff --git a/dcmiod/libsrc/modgeneralseries.cc b/dcmiod/libsrc/modgeneralseries.cc index aad100ed..b88fcf58 100644 --- a/dcmiod/libsrc/modgeneralseries.cc +++ b/dcmiod/libsrc/modgeneralseries.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,10 +19,9 @@ * */ -#include "dcmtk/dcmiod/modgeneralseries.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modgeneralseries.h" #include "dcmtk/dcmdata/dcdeftag.h" -#include "dcmtk/dcmdata/dcuid.h" #include "dcmtk/dcmdata/dcvrcs.h" #include "dcmtk/dcmdata/dcvrda.h" #include "dcmtk/dcmdata/dcvris.h" diff --git a/dcmiod/libsrc/modgeneralstudy.cc b/dcmiod/libsrc/modgeneralstudy.cc index ef9d62fa..679d21b4 100644 --- a/dcmiod/libsrc/modgeneralstudy.cc +++ b/dcmiod/libsrc/modgeneralstudy.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,10 +19,9 @@ * */ -#include "dcmtk/dcmiod/modgeneralstudy.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modgeneralstudy.h" #include "dcmtk/dcmdata/dcdeftag.h" -#include "dcmtk/dcmdata/dcuid.h" #include "dcmtk/dcmdata/dcvrda.h" #include "dcmtk/dcmdata/dcvrlo.h" #include "dcmtk/dcmdata/dcvrpn.h" diff --git a/dcmiod/libsrc/modhelp.cc b/dcmiod/libsrc/modhelp.cc index aa923315..7aafb00d 100644 --- a/dcmiod/libsrc/modhelp.cc +++ b/dcmiod/libsrc/modhelp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,8 +19,8 @@ * */ -#include "dcmtk/dcmiod/modhelp.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modhelp.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcitem.h" diff --git a/dcmiod/libsrc/modimagepixel.cc b/dcmiod/libsrc/modimagepixel.cc index 05609846..deace234 100644 --- a/dcmiod/libsrc/modimagepixel.cc +++ b/dcmiod/libsrc/modimagepixel.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2019, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,11 +19,10 @@ * */ -#include "dcmtk/dcmiod/modimagepixel.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modimagepixel.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcvrcs.h" -#include "dcmtk/dcmdata/dcvris.h" #include "dcmtk/dcmdata/dcvrobow.h" #include "dcmtk/dcmiod/iodutil.h" diff --git a/dcmiod/libsrc/modimagepixelbase.cc b/dcmiod/libsrc/modimagepixelbase.cc index cd83c7be..fdce79cc 100644 --- a/dcmiod/libsrc/modimagepixelbase.cc +++ b/dcmiod/libsrc/modimagepixelbase.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2019, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,12 +19,10 @@ * */ -#include "dcmtk/dcmiod/modimagepixelbase.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modimagepixelbase.h" #include "dcmtk/dcmdata/dcdeftag.h" -#include "dcmtk/dcmdata/dcvrcs.h" #include "dcmtk/dcmdata/dcvris.h" -#include "dcmtk/dcmdata/dcvrobow.h" #include "dcmtk/dcmiod/iodutil.h" const OFString IODImagePixelBase::m_ModuleName = "ImagePixelBase"; diff --git a/dcmiod/libsrc/modmultiframedimension.cc b/dcmiod/libsrc/modmultiframedimension.cc index fb2ae328..28e0f3da 100644 --- a/dcmiod/libsrc/modmultiframedimension.cc +++ b/dcmiod/libsrc/modmultiframedimension.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,14 +19,15 @@ * */ -#include "dcmtk/dcmiod/modmultiframedimension.h" #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmiod/modmultiframedimension.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcpath.h" // for private tag reservation checking #include "dcmtk/dcmdata/dcvrat.h" #include "dcmtk/dcmdata/dcvrcs.h" #include "dcmtk/dcmdata/dcvrlo.h" #include "dcmtk/dcmdata/dcvrui.h" +#include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmiod/iodutil.h" // for static helpers const OFString IODMultiframeDimensionModule::m_ModuleName = "MultiframeDimensionModule"; diff --git a/dcmiod/libsrc/modmultiframefg.cc b/dcmiod/libsrc/modmultiframefg.cc index fac6ec7c..d25a8574 100644 --- a/dcmiod/libsrc/modmultiframefg.cc +++ b/dcmiod/libsrc/modmultiframefg.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,12 +19,13 @@ * */ -#include "dcmtk/dcmiod/modmultiframefg.h" #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmiod/modmultiframefg.h" #include "dcmtk/dcmdata/dcvrda.h" #include "dcmtk/dcmdata/dcvris.h" #include "dcmtk/dcmdata/dcvrtm.h" #include "dcmtk/dcmdata/dcvrui.h" +#include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmiod/iodutil.h" // for static helpers const OFString IODMultiFrameFGModule::m_ModuleName = "MultiframeFunctionalGroupsModule"; diff --git a/dcmiod/libsrc/modpatient.cc b/dcmiod/libsrc/modpatient.cc index 82152e92..3285a672 100644 --- a/dcmiod/libsrc/modpatient.cc +++ b/dcmiod/libsrc/modpatient.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,9 +19,14 @@ * */ -#include "dcmtk/dcmiod/modpatient.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmiod/modpatient.h" #include "dcmtk/dcmiod/iodutil.h" +#include "dcmtk/dcmdata/dcvrpn.h" +#include "dcmtk/dcmdata/dcvrlo.h" +#include "dcmtk/dcmdata/dcvrda.h" +#include "dcmtk/dcmdata/dcvrcs.h" const OFString IODPatientModule::m_ModuleName = "PatientModule"; diff --git a/dcmiod/libsrc/modpatientstudy.cc b/dcmiod/libsrc/modpatientstudy.cc index b7af015c..bbb134f4 100644 --- a/dcmiod/libsrc/modpatientstudy.cc +++ b/dcmiod/libsrc/modpatientstudy.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,9 +19,14 @@ * */ -#include "dcmtk/dcmiod/modpatientstudy.h" + #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modpatientstudy.h" #include "dcmtk/dcmiod/iodutil.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcvrlo.h" +#include "dcmtk/dcmdata/dcvras.h" +#include "dcmtk/dcmdata/dcvrds.h" const OFString IODPatientStudyModule::m_ModuleName = "PatientStudyModule"; diff --git a/dcmiod/libsrc/modsegmentationseries.cc b/dcmiod/libsrc/modsegmentationseries.cc index 92b39b95..64e74d32 100644 --- a/dcmiod/libsrc/modsegmentationseries.cc +++ b/dcmiod/libsrc/modsegmentationseries.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,9 +19,12 @@ * */ -#include "dcmtk/dcmiod/modsegmentationseries.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modsegmentationseries.h" #include "dcmtk/dcmiod/iodutil.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcvrui.h" +#include "dcmtk/dcmdata/dcvris.h" const OFString IODSegmentationSeriesModule::m_ModuleName = "SegmentationSeriesModule"; diff --git a/dcmiod/libsrc/modsopcommon.cc b/dcmiod/libsrc/modsopcommon.cc index a521d15d..4b066763 100644 --- a/dcmiod/libsrc/modsopcommon.cc +++ b/dcmiod/libsrc/modsopcommon.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,10 +19,9 @@ * */ -#include "dcmtk/dcmiod/modsopcommon.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modsopcommon.h" #include "dcmtk/dcmdata/dcdeftag.h" -#include "dcmtk/dcmdata/dcuid.h" #include "dcmtk/dcmdata/dcvrcs.h" #include "dcmtk/dcmdata/dcvrda.h" #include "dcmtk/dcmdata/dcvrsh.h" diff --git a/dcmiod/libsrc/modsynchronization.cc b/dcmiod/libsrc/modsynchronization.cc index ee007916..5060ce59 100644 --- a/dcmiod/libsrc/modsynchronization.cc +++ b/dcmiod/libsrc/modsynchronization.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -21,13 +21,11 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmdata/dcdeftag.h" -#include "dcmtk/dcmdata/dcvrcs.h" #include "dcmtk/dcmdata/dcvrlo.h" #include "dcmtk/dcmdata/dcvrsh.h" #include "dcmtk/dcmdata/dcvrui.h" #include "dcmtk/dcmiod/iodutil.h" -#include "dcmtk/dcmiod/modsynchronisation.h" -#include "dcmtk/ofstd/ofstream.h" +#include "dcmtk/dcmiod/modsynchronization.h" const OFString IODSynchronizationModule::m_ModuleName = "SynchronizationModule"; diff --git a/dcmiod/libsrc/modusfor.cc b/dcmiod/libsrc/modusfor.cc index 3961ea5c..64d348cd 100644 --- a/dcmiod/libsrc/modusfor.cc +++ b/dcmiod/libsrc/modusfor.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,14 +19,12 @@ * */ -#include "dcmtk/dcmiod/modusfor.h" #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmiod/modusfor.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcvrcs.h" -#include "dcmtk/dcmdata/dcvrfd.h" #include "dcmtk/dcmdata/dcvrui.h" #include "dcmtk/dcmiod/iodutil.h" -#include "dcmtk/ofstd/ofstream.h" const OFString IODUSFoRModule::m_ModuleName = "UltrasoundFrameOfReferenceModule"; diff --git a/dcmiod/tests/CMakeLists.txt b/dcmiod/tests/CMakeLists.txt index 5b84ca9d..cdba8600 100644 --- a/dcmiod/tests/CMakeLists.txt +++ b/dcmiod/tests/CMakeLists.txt @@ -1,9 +1,10 @@ # declare executables -DCMTK_ADD_EXECUTABLE(dcmiod_tests - tests.cc +DCMTK_ADD_TEST_EXECUTABLE(dcmiod_tests + tchecks.cc tcielabutil.cc tcodes.cc timagepixel.cc + tests.cc ) # make sure executables are linked to the corresponding libraries diff --git a/dcmiod/tests/Makefile.dep b/dcmiod/tests/Makefile.dep index 339df8ee..eb860778 100644 --- a/dcmiod/tests/Makefile.dep +++ b/dcmiod/tests/Makefile.dep @@ -1,13 +1,103 @@ +tchecks.o: tchecks.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftest.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../include/dcmtk/dcmiod/iodcommn.h ../include/dcmtk/dcmiod/iodrules.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../include/dcmtk/dcmiod/modcommoninstanceref.h \ + ../include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../include/dcmtk/dcmiod/iodreferences.h \ + ../include/dcmtk/dcmiod/modequipment.h ../include/dcmtk/dcmiod/modfor.h \ + ../include/dcmtk/dcmiod/modgeneralseries.h \ + ../include/dcmtk/dcmiod/modgeneralstudy.h \ + ../include/dcmtk/dcmiod/modpatient.h \ + ../include/dcmtk/dcmiod/modpatientstudy.h \ + ../include/dcmtk/dcmiod/modsopcommon.h tcielabutil.o: tcielabutil.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmiod/cielabutil.h ../include/dcmtk/dcmiod/ioddef.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofrand.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ @@ -15,6 +105,7 @@ tcielabutil.o: tcielabutil.cc \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -25,7 +116,6 @@ tcielabutil.o: tcielabutil.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -55,30 +145,46 @@ tcielabutil.o: tcielabutil.cc \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h tcodes.o: tcodes.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/oftest.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -90,98 +196,36 @@ tcodes.o: tcodes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ - ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ - ../../ofstd/include/dcmtk/ofstd/oftest.h \ - ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ - ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ - ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../include/dcmtk/dcmiod/ioddef.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ @@ -190,12 +234,12 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -206,7 +250,6 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -283,102 +326,47 @@ timagepixel.o: timagepixel.cc \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmiod/modcommoninstanceref.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmiod/iodmacro.h ../include/dcmtk/dcmiod/modbase.h \ ../include/dcmtk/dcmiod/iodreferences.h \ ../include/dcmtk/dcmiod/modequipment.h ../include/dcmtk/dcmiod/modfor.h \ ../include/dcmtk/dcmiod/modgeneralseries.h \ ../include/dcmtk/dcmiod/modgeneralstudy.h \ ../include/dcmtk/dcmiod/modpatient.h \ ../include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../include/dcmtk/dcmiod/modsopcommon.h \ ../include/dcmtk/dcmiod/modgeneralimage.h \ ../include/dcmtk/dcmiod/modimagepixelvariant.h \ ../include/dcmtk/dcmiod/modimagepixelbase.h \ ../../ofstd/include/dcmtk/ofstd/ofvriant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \ - ../../ofstd/include/dcmtk/ofstd/diag/cnvrsn.def \ - ../../ofstd/include/dcmtk/ofstd/diag/vsprfw.def \ - ../../ofstd/include/dcmtk/ofstd/diag/arrybnds.def \ - ../../ofstd/include/dcmtk/ofstd/diag/unrefprm.def \ + ../../ofstd/include/dcmtk/ofstd/diag/stralias.def \ ../include/dcmtk/dcmiod/modfloatingpointimagepixel.h \ ../include/dcmtk/dcmiod/modimagepixel.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ @@ -386,4 +374,5 @@ timagepixel.o: timagepixel.cc \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h diff --git a/dcmiod/tests/Makefile.in b/dcmiod/tests/Makefile.in index b660e43d..e3bf28e4 100644 --- a/dcmiod/tests/Makefile.in +++ b/dcmiod/tests/Makefile.in @@ -25,7 +25,7 @@ LIBDIRS = -L$(top_srcdir)/libsrc -L$(dcmioddir)/libsrc -L$(dcmdatadir)/libsrc \ LOCALLIBS = -ldcmiod -ldcmdata -loflog -lofstd -loficonv \ $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(CHARCONVLIBS) $(MATHLIBS) -test_objs = tests.o tcielabutil.o tcodes.o timagepixel.o +test_objs = tests.o tchecks.o tcielabutil.o tcodes.o timagepixel.o objs = tests.o $(test_objs) progs = tests diff --git a/dcmiod/tests/tchecks.cc b/dcmiod/tests/tchecks.cc new file mode 100644 index 00000000..544883ac --- /dev/null +++ b/dcmiod/tests/tchecks.cc @@ -0,0 +1,185 @@ +/* + * + * Copyright (C) 2024, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmect + * + * Author: Michael Onken + * + * Purpose: Tests for dcmiod's checks + * + */ + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmdata/dcerror.h" +#include "dcmtk/dcmdata/dcuid.h" +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmiod/iodcommn.h" + + +/** Setup that is run for all test cases. + * It creates an IODCommon instance and sets all mandatory attributes besides Modality. + * Some missing attribute values are invented when writing (such as Instance UIDs). + * @param iod The IOD to be setup + * @return OFTrue if setup was successful, OFFalse otherwise + * + */ +static OFBool setupTest(DcmIODCommon& iod) +{ + // Make sure data dictionary is loaded + if (!dcmDataDict.isDictionaryLoaded()) + { + OFCHECK_FAIL("no data dictionary loaded, check environment variable: " DCM_DICT_ENVIRONMENT_VARIABLE); + return OFFalse; + } + // Set mandatory attributes + if (iod.getSOPCommon().setSOPClassUID(UID_CTImageStorage).bad()) + { + OFCHECK_FAIL("Cannot set SOP Class UID"); + return OFFalse; + } + char forUID[100]; + if (iod.getFrameOfReference().setFrameOfReferenceUID(dcmGenerateUniqueIdentifier(forUID)).bad()) + { + OFCHECK_FAIL("Cannot set SOP Instance UID"); + return OFFalse; + } + return OFTrue; +} + +OFTEST(dcmiod_component_check_vr_violated) +{ + DcmIODCommon iod; + DcmItem destination; + if (!setupTest(iod)) + { + return; + } + + // ---------------------------------------------------------- + // The following test checks whether the write() method of IODCommon fails if attribute value is invalid. + // Therefore, insert Modality with an invalid value for CS value representation. + destination.clear(); + OFCHECK(iod.getSeries().setModality("Not Valid", OFFalse /* dont check on insertion */).good()); + OFCHECK(iod.write(destination) == EC_ValueRepresentationViolated); + + // ---------------------------------------------------------- + // The following test checks whether the write() method of IODCommon succeeds + // if attribute value is violates the Value Reprsentation but checking is turned off. + // Modality value is still set to "Not valid". + destination.clear(); + iod.setValueCheckOnWrite(OFFalse); + OFCHECK(iod.write(destination).good()); +} + +OFTEST(dcmiod_component_check_vm_violated) +{ + DcmIODCommon iod; + DcmItem destination; + if (!setupTest(iod)) + { + return; + } + + // ---------------------------------------------------------- + // The following test checks whether the write() method of IODCommon fails with an error + // if attribute value is violates the Value Multiplicity. + destination.clear(); + OFCHECK(iod.getSeries().setModality("CT\\MR", OFFalse /* dont check on insertion */).good()); + iod.setValueCheckOnWrite(OFTrue); + OFCHECK(iod.write(destination) == EC_ValueMultiplicityViolated); + + // ---------------------------------------------------------- + // The following test checks whether the write() method of IODCommon succeeds + // if attribute value is violates the Value Multiplicity but checking is turned off. + // Modality value is still set to "CT\\MR". + destination.clear(); + iod.setValueCheckOnWrite(OFFalse); + OFCHECK(iod.write(destination).good()); +} + + +OFTEST(dcmiod_component_check_max_length_violated) +{ + DcmIODCommon iod; + DcmItem destination; + if (!setupTest(iod)) + { + return; + } + + // ---------------------------------------------------------- + // The following test checks whether the write() method of IODCommon fails with an error + // if attribute value is violates the maximum length of the VR. + OFCHECK(iod.getSeries().setModality("THIS_EXCEEDS_THE_MAXIMUM_LENGTH", OFFalse /* dont check on insertion */).good()); + iod.setValueCheckOnWrite(OFTrue); + OFCHECK(iod.write(destination) == EC_MaximumLengthViolated); + + // ---------------------------------------------------------- + // The following test checks whether the write() method of IODCommon succeeds + // if attribute value is violates the maximum length of the VR but checking is turned off. + // Modality value is still set to "THIS_EXCEEDS_THE_MAXIMUM_LENGTH". + destination.clear(); + iod.setValueCheckOnWrite(OFFalse); + OFCHECK(iod.write(destination).good()); +} + +OFTEST(dcmiod_component_check_invalid_chars) +{ + DcmIODCommon iod; + DcmItem destination; + if (!setupTest(iod)) + { + return; + } + + // ---------------------------------------------------------- + // The following test checks whether the write() method of IODCommon fails with an error + // if attribute value contains invalid characters. + OFCHECK(iod.getSeries().setModality("ÜS", OFFalse /* dont check on insertion */).good()); + iod.setValueCheckOnWrite(OFTrue); + OFCHECK(iod.write(destination) == EC_InvalidCharacter); + + // ---------------------------------------------------------- + // The following test checks whether the write() method of IODCommon succeeds + // if attribute value contains invalid characters but checking is turned off. + // Modality value is still set to "ÜS". + destination.clear(); + iod.setValueCheckOnWrite(OFFalse); + OFCHECK(iod.write(destination).good()); +} + +OFTEST(dcmiod_component_check_missing_value) +{ + DcmIODCommon iod; + DcmItem destination; + if (!setupTest(iod)) + { + return; + } + + // ---------------------------------------------------------- + // The following test checks whether the write() method of IODCommon fails with an error + // if attribute value contains invalid characters. + OFCHECK(iod.getSeries().setModality("", OFFalse /* dont check on insertion */).good()); + iod.setValueCheckOnWrite(OFTrue); + OFCHECK(iod.write(destination) == EC_InvalidValue); + + // ---------------------------------------------------------- + // The following test checks whether the write() method of IODCommon succeeds + // if attribute value contains invalid characters but checking is turned off. + // Modality value is still set to "". + destination.clear(); + iod.setValueCheckOnWrite(OFFalse); + OFCHECK(iod.write(destination) == EC_InvalidValue); +} diff --git a/dcmiod/tests/tcodes.cc b/dcmiod/tests/tcodes.cc index dd959a84..cc966406 100644 --- a/dcmiod/tests/tcodes.cc +++ b/dcmiod/tests/tcodes.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2020, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -20,10 +20,9 @@ */ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/ofstd/oftest.h" - -static OFLogger tCodeLogger = OFLog::getLogger("dcmtk.test.t_codes"); +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/dcmiod/iodmacro.h" static void clearCode(CodeSequenceMacro& c); diff --git a/dcmiod/tests/tests.cc b/dcmiod/tests/tests.cc index f450a82a..83c00841 100644 --- a/dcmiod/tests/tests.cc +++ b/dcmiod/tests/tests.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016, OFFIS e.V. + * Copyright (C) 2016-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,7 +22,12 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/ofstd/oftest.h" +OFTEST_REGISTER(dcmiod_component_check_invalid_chars); +OFTEST_REGISTER(dcmiod_component_check_max_length_violated); +OFTEST_REGISTER(dcmiod_component_check_missing_value); +OFTEST_REGISTER(dcmiod_component_check_vm_violated); +OFTEST_REGISTER(dcmiod_component_check_vr_violated); OFTEST_REGISTER(dcmiod_codes); -OFTEST_REGISTER(dcmiod_tcielabutil); OFTEST_REGISTER(dcmiod_imagepixel); +OFTEST_REGISTER(dcmiod_tcielabutil); OFTEST_MAIN("dcmiod") diff --git a/dcmjpeg/apps/Makefile.dep b/dcmjpeg/apps/Makefile.dep index ac8ff4da..b8382d06 100644 --- a/dcmjpeg/apps/Makefile.dep +++ b/dcmjpeg/apps/Makefile.dep @@ -13,9 +13,9 @@ dcmcjpeg.o: dcmcjpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -45,12 +45,12 @@ dcmcjpeg.o: dcmcjpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -147,9 +147,9 @@ dcmdjpeg.o: dcmdjpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -179,12 +179,12 @@ dcmdjpeg.o: dcmdjpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -261,163 +261,12 @@ dcmdjpeg.o: dcmdjpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmjpeg/djdefine.h ../include/dcmtk/dcmjpeg/dipijpeg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diplugin.h -dcmj2pnm.o: dcmj2pnm.cc ../../dcmimage/apps/dcm2pnm.cc \ - ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ +dcmj2pnm.o: dcmj2pnm.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/ofstub.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../oflog/include/dcmtk/oflog/config/defines.h \ - ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ - ../../oflog/include/dcmtk/oflog/loglevel.h \ - ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../oflog/include/dcmtk/oflog/tchar.h \ - ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ - ../../oflog/include/dcmtk/oflog/appender.h \ - ../../ofstd/include/dcmtk/ofstd/ofmem.h \ - ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ - ../../oflog/include/dcmtk/oflog/layout.h \ - ../../oflog/include/dcmtk/oflog/streams.h \ - ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ - ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ - ../../oflog/include/dcmtk/oflog/spi/filter.h \ - ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ - ../../oflog/include/dcmtk/oflog/spi/logfact.h \ - ../../oflog/include/dcmtk/oflog/logmacro.h \ - ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ - ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcrledrg.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimoimg.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfcache.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diovlay.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diobjcou.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diovdat.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diovpln.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimopx.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dipixel.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimomod.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diluptab.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dibaslut.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimoopx.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/didispfn.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/digsdfn.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diciefn.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dicielut.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/didislut.h \ - ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ - ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ - ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h \ - ../../dcmimage/include/dcmtk/dcmimage/diregist.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diregbas.h \ - ../../dcmimage/include/dcmtk/dcmimage/dicdefin.h \ - ../include/dcmtk/dcmjpeg/djdecode.h ../include/dcmtk/dcmjpeg/djutils.h \ - ../include/dcmtk/dcmjpeg/djdefine.h ../include/dcmtk/dcmjpeg/dipijpeg.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diplugin.h \ - ../../dcmimage/include/dcmtk/dcmimage/dipitiff.h \ - ../../dcmimage/include/dcmtk/dcmimage/dipipng.h -dcmmkdir.o: dcmmkdir.cc ../../dcmdata/apps/dcmgpdir.cc \ - ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h +dcmmkdir.o: dcmmkdir.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -432,9 +281,9 @@ dcmmkdir.o: dcmmkdir.cc ../../dcmdata/apps/dcmgpdir.cc \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -464,12 +313,12 @@ dcmmkdir.o: dcmmkdir.cc ../../dcmdata/apps/dcmgpdir.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ diff --git a/dcmjpeg/apps/dcmcjpeg.cc b/dcmjpeg/apps/dcmcjpeg.cc index 7c7cba15..cbb5eb4c 100644 --- a/dcmjpeg/apps/dcmcjpeg.cc +++ b/dcmjpeg/apps/dcmcjpeg.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2022, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -679,7 +679,7 @@ int main(int argc, char *argv[]) DcmDataset *dataset = fileformat.getDataset(); DcmXfer original_xfer(dataset->getOriginalXfer()); - if (original_xfer.isEncapsulated()) + if (original_xfer.isPixelDataCompressed()) { OFLOG_INFO(dcmcjpegLogger, "DICOM file is already compressed, converting to uncompressed transfer syntax first"); if (EC_Normal != dataset->chooseRepresentation(EXS_LittleEndianExplicit, NULL)) diff --git a/dcmjpeg/apps/dcmj2pnm.cc b/dcmjpeg/apps/dcmj2pnm.cc index 69ee1b0a..ad2cab83 100644 --- a/dcmjpeg/apps/dcmj2pnm.cc +++ b/dcmjpeg/apps/dcmj2pnm.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2010, OFFIS e.V. + * Copyright (C) 2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -13,15 +13,16 @@ * * Module: dcmjpeg * - * Authors: Joerg Riesmeier + * Authors: Marco Eichelberg * - * Purpose: Convert DICOM Images to PPM or PGM using the dcmimage/dcmjpeg library. + * Purpose: Proxy stub that calls dcm2img * */ +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/ofstd/ofstub.h" -// compile "dcm2pnm" with dcmjpeg support -#define BUILD_DCM2PNM_AS_DCMJ2PNM - -// include full implementation of "dcm2pnm" -#include "../../dcmimage/apps/dcm2pnm.cc" +int main(int argc, char** argv) +{ + return OFstub_main(argc, argv, "dcmj2pnm", "dcm2img"); +} diff --git a/dcmjpeg/apps/dcmmkdir.cc b/dcmjpeg/apps/dcmmkdir.cc index d8a3514f..f109d6b8 100644 --- a/dcmjpeg/apps/dcmmkdir.cc +++ b/dcmjpeg/apps/dcmmkdir.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2010, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -13,14 +13,28 @@ * * Module: dcmjpeg * - * Authors: Joerg Riesmeier + * Author: Andrew Hewett, Joerg Riesmeier * + * Purpose: * Make a DICOMDIR according to the DICOM Part 11 Media Storage Application - * Profiles. Currently supports the following profiles: + * Profiles. Supports the following profiles: * - General Purpose CD-R Interchange (STD-GEN-CD) * - General Purpose Interchange on DVD-RAM Media (STD-GEN-DVD-RAM) - * - General Purpose DVD with Compression Interchange (STD-GEN-DVD-JPEG/J2K) - * - General Purpose USB and Flash Memory with Compression Interchange (STD-GEN-USB/MMC/CF/SD-JPEG/J2K) + * - General Purpose Interchange on BD Media (STD-GEN-BD) + * If build with 'BUILD_DCMGPDIR_AS_DCMMKDIR' it also supports: + * - General Purpose DVD Interchange with JPEG (STD-GEN-DVD-JPEG) + * - General Purpose DVD Interchange with JPEG 2000 (STD-GEN-DVD-J2K) + * - General Purpose BD Interchange with JPEG (STD-GEN-BD-JPEG) + * - General Purpose BD Interchange with JPEG 2000 (STD-GEN-BD-J2K) + * - General Purpose BD Interchange with MPEG2 MP@ML (STD-GEN-BD-MPEG2-MPML) + * - General Purpose BD Interchange with MPEG2 MP@HL (STD-GEN-BD-MPEG2-MPHL) + * - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41) + * - General Purpose BD Interchange with MPEG-4 AVC/H.264 BD-Compatible HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD) + * - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D) + * - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D) + * - General Purpose BD Interchange with MPEG-4 AVC/H.264 Stereo HiP\@Level4.2 (STD-GEN-BD-MPEG4-SHPLV42) + * - General Purpose USB and Flash Memory Interchange with JPEG (STD-GEN-USB/MMC/CF/SD-JPEG) + * - General Purpose USB and Flash Memory Interchange with JPEG 2000 (STD-GEN-USB/MMC/CF/SD-J2K) * - General Purpose MIME Interchange (STD-GEN-MIME) * - DVD Interchange with MPEG2 MP@ML (STD-DVD-MPEG2-MPML) * - Basic Cardiac X-Ray Angiographic Studies on CD-R Media (STD-XABC-CD) @@ -36,12 +50,614 @@ * - Ultrasound Single & Multi-Frame with Combined Calibration (STD-US-CC-MF-xxxx) * - 12-lead ECG Interchange on Diskette (STD-WVFM-ECG-FD) * - Hemodynamic Waveform Interchange on Diskette (STD-WVFM-HD-FD) + * There should be no need to set this compiler flag manually, just compile + * dcmjpeg/apps/dcmmkdir.cc. * */ +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -// compile "dcmgpdir" with dcmjpeg support +// We now always compile the tool with JPEG support #define BUILD_DCMGPDIR_AS_DCMMKDIR -// include full implementation of "dcmgpdir" -#include "../../dcmdata/apps/dcmgpdir.cc" +#include "dcmtk/dcmdata/dctk.h" +#include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */ +#include "dcmtk/dcmdata/dcddirif.h" /* for class DicomDirInterface */ +#include "dcmtk/ofstd/ofstd.h" /* for class OFStandard */ +#include "dcmtk/ofstd/ofconapp.h" /* for class OFConsoleApplication */ +#include "dcmtk/ofstd/ofcond.h" /* for class OFCondition */ + +#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR +#include "dcmtk/dcmimage/diregist.h" /* include to support color images */ +#include "dcmtk/dcmdata/dcrledrg.h" /* for DcmRLEDecoderRegistration */ +#include "dcmtk/dcmjpeg/djdecode.h" /* for dcmjpeg decoders */ +#include "dcmtk/dcmjpeg/dipijpeg.h" /* for dcmimage JPEG plugin */ +#include "dcmtk/dcmjpeg/ddpiimpl.h" /* for class DicomDirImageImplementation */ +#endif + +#ifdef WITH_ZLIB +#include /* for zlibVersion() */ +#endif + +#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR +#define OFFIS_CONSOLE_APPLICATION "dcmmkdir" +#define OFFIS_CONSOLE_DESCRIPTION "Create a DICOMDIR file" +#else +#define OFFIS_CONSOLE_APPLICATION "dcmgpdir" +#define OFFIS_CONSOLE_DESCRIPTION "Create a general purpose DICOMDIR" +#endif + +#if defined (HAVE_WINDOWS_H) || defined(HAVE_FNMATCH_H) +#define PATTERN_MATCHING_AVAILABLE +#endif + + +static char rcsid[] = "$dcmtk: " OFFIS_CONSOLE_APPLICATION " v" + OFFIS_DCMTK_VERSION " " OFFIS_DCMTK_RELEASEDATE " $"; + +static OFLogger dcmgpdirLogger = OFLog::getLogger("dcmtk.dcmdata." OFFIS_CONSOLE_APPLICATION); + +#define SHORTCOL 4 +#define LONGCOL 23 + +// ******************************************** + +// this macro either expands to main() or wmain() +DCMTK_MAIN_FUNCTION +{ + OFBool opt_write = OFTrue; + OFBool opt_append = OFFalse; + OFBool opt_update = OFFalse; + OFBool opt_recurse = OFFalse; + E_EncodingType opt_enctype = EET_ExplicitLength; + E_GrpLenEncoding opt_glenc = EGL_withoutGL; + OFFilename opt_output(DEFAULT_DICOMDIR_NAME); + const char *opt_fileset = DEFAULT_FILESETID; + const char *opt_descriptor = NULL; + const char *opt_charset = DEFAULT_DESCRIPTOR_CHARSET; + OFFilename opt_directory; + OFFilename opt_pattern; + DicomDirInterface::E_ApplicationProfile opt_profile = DicomDirInterface::AP_GeneralPurpose; + +#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR + // register global decompression codecs (no verbose/debug mode set) + DcmRLEDecoderRegistration::registerCodecs(); + DJDecoderRegistration::registerCodecs(); + // enable the following lines for JPEG 2000 decompression support +/* + D2JPEG2000Library::initialize(); + D2DecoderRegistration::registerCodecs(); +*/ +#endif + + /* DICOMDIR interface (checks for JPEG/RLE availability) */ + DicomDirInterface ddir; + + /* set-up command line parameters and options */ + OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION, OFFIS_CONSOLE_DESCRIPTION, rcsid); + OFCommandLine cmd; + cmd.setOptionColumns(LONGCOL, SHORTCOL); + cmd.setParamColumn(LONGCOL + SHORTCOL + 4); + + cmd.addParam("dcmfile-in", "ref. DICOM file (or directory to be scanned)", OFCmdParam::PM_MultiOptional); + + cmd.addGroup("general options:", LONGCOL, SHORTCOL + 2); + cmd.addOption("--help", "-h", "print this help text and exit", OFCommandLine::AF_Exclusive); + cmd.addOption("--version", "print version information and exit", OFCommandLine::AF_Exclusive); + OFLog::addOptions(cmd); + + cmd.addGroup("input options:"); + cmd.addSubGroup("DICOMDIR identifiers:"); + cmd.addOption("--fileset-id", "+F", 1, "[i]d: string", + "use specific file-set ID\n(default: " DEFAULT_FILESETID ", \"\" for none)"); + cmd.addOption("--descriptor", "+R", 1, "[f]ilename: string", + "add a file-set descriptor file ID\n(e.g. README, default: no descriptor)"); + cmd.addOption("--char-set", "+C", 1, "[c]harset: string", + "add a specific character set for descriptor\n(default: \"" DEFAULT_DESCRIPTOR_CHARSET "\" if descriptor present)"); + cmd.addSubGroup("reading:"); + cmd.addOption("--input-directory", "+id", 1, "[d]irectory: string", + "read referenced DICOM files from directory d\n(default for --recurse: current directory)"); + cmd.addOption("--keep-filenames", "-m", "expect filenames to be in DICOM format (def.)"); + cmd.addOption("--map-filenames", "+m", "map to DICOM filenames (lowercase->uppercase,\nand remove trailing period)"); + cmd.addOption("--no-recurse", "-r", "do not recurse within directories (default)"); + cmd.addOption("--recurse", "+r", "recurse within filesystem directories"); +#ifdef PATTERN_MATCHING_AVAILABLE + cmd.addOption("--pattern", "+p", 1, "[p]attern: string (only with --recurse)", + "pattern for filename matching (wildcards)"); +#endif + cmd.addGroup("processing options:"); + cmd.addSubGroup("consistency check:"); + cmd.addOption("--no-consistency-check", "-W", "do not check files for consistency"); + cmd.addOption("--warn-inconsist-files", "+W", "warn about inconsistent files (default)"); + cmd.addOption("--abort-inconsist-file", "-a", "abort on first inconsistent file"); + cmd.addSubGroup("type 1 attributes:"); + cmd.addOption("--strict", "-I", "exit with error if DICOMDIR type 1 attributes\nare missing in DICOM file (default)"); + cmd.addOption("--invent", "+I", "invent DICOMDIR type 1 attributes\nif missing in DICOM file"); + cmd.addOption("--invent-patient-id", "+Ipi", "invent new PatientID in case of inconsistent\nPatientName attributes"); + cmd.addSubGroup("other checks:"); + cmd.addOption("--allow-retired-sop", "+Nrs", "allow retired SOP classes defined in previous\neditions of the DICOM standard"); + cmd.addOption("--no-xfer-check", "-Nxc", "do not reject images with non-standard\ntransfer syntax (just warn)"); +#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR + cmd.addOption("--no-encoding-check", "-Nec", "do not reject images with non-standard\npixel encoding (just warn)"); + cmd.addOption("--no-resolution-check", "-Nrc", "do not reject images with non-standard\nspatial resolution (just warn)"); + cmd.addSubGroup("icon images:"); + cmd.addOption("--add-icon-image", "+X", "add monochrome icon image on IMAGE level\n(default for cardiac profiles)"); + cmd.addOption("--icon-image-size", "-Xs", 1, "[s]ize: integer (1..128)", + "width and height of the icon image (in pixel)\n(fixed: 128 for XA, 64 for CT/MR profile)"); + cmd.addOption("--icon-file-prefix", "-Xi", 1, "[p]refix: string", + "use PGM image 'prefix'+'dcmfile-in' as icon\n(default: create icon from DICOM image)"); + cmd.addOption("--default-icon", "-Xd", 1, "[f]ilename: string", + "use specified PGM image if icon cannot be\ncreated automatically (default: black image)"); +#endif + cmd.addGroup("output options:"); + cmd.addSubGroup("DICOMDIR file:"); + cmd.addOption("--output-file", "+D", 1, "[f]ilename: string", + "generate specific DICOMDIR file\n(default: " DEFAULT_DICOMDIR_NAME " in current directory)"); +#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR + cmd.addSubGroup("profiles:"); + cmd.addOption("--general-purpose", "-Pgp", "General Purpose Interchange on CD-R, DVD-RAM\nor BD Media (STD-GEN-CD/DVD-RAM/BD, default)"); + cmd.addOption("--general-dvd-jpeg", "-Pdv", "General Purpose DVD Interchange with JPEG\n(STD-GEN-DVD-JPEG)"); + cmd.addOption("--general-dvd-j2k", "-Pd2", "General Purpose DVD Interchange with JPEG\n2000 (STD-GEN-DVD-J2K)"); + cmd.addOption("--general-bd-jpeg", "-Pbd", "General Purpose BD Interchange with JPEG\n(STD-GEN-BD-JPEG)"); + cmd.addOption("--general-bd-j2k", "-Pb2", "General Purpose BD Interchange with JPEG\n2000 (STD-GEN-BD-J2K)"); + cmd.addOption("--general-bd-mpeg2-mpml", "-Pbm", "General Purpose BD Interchange with MPEG2\nMP@ML (STD-GEN-BD-MPEG2-MPML)"); + cmd.addOption("--general-bd-mpeg2-mphl", "-Pbh", "General Purpose BD Interchange with MPEG2\nMP@HL (STD-GEN-BD-MPEG2-MPHL)"); + cmd.addOption("--general-bd-mpeg4-hp", "-Pba", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.1\n(STD-GEN-BD-MPEG4-HPLV41)"); + cmd.addOption("--general-bd-mpeg4-hpbd", "-Pbb", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 BD-Compatible HiP@Level4.1\n(STD-GEN-BD-MPEG4-HPLV41BD)"); + cmd.addOption("--general-bd-mpeg4-hp2d", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.2 for 2D video\n(STD-GEN-BD-MPEG4-HPLV42-2D)"); + cmd.addOption("--general-bd-mpeg4-hp3d", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.2 for 3D video\n(STD-GEN-BD-MPEG4-HPLV42-3D)"); + cmd.addOption("--general-bd-mpeg4-hpst", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 Stereo HiP@Level4.2\n(STD-GEN-BD-MPEG4-SHPLV42)"); + cmd.addOption("--usb-and-flash-jpeg", "-Pfl", "General Purpose USB/Flash Memory Interchange\nwith JPEG (STD-GEN-USB/MMC/CF/SD-JPEG)"); + cmd.addOption("--usb-and-flash-j2k", "-Pf2", "General Purpose USB/Flash Memory Interchange\nwith JPEG 2000 (STD-GEN-USB/MMC/CF/SD-J2K)"); + cmd.addOption("--general-mime", "-Pmi", "General Purpose MIME Interchange\n(STD-GEN-MIME)"); + cmd.addOption("--mpeg2-mpml-dvd", "-Pmp", "DVD Interchange with MPEG2 Main Profile @\nMain Level (STD-DVD-MPEG2-MPML)"); + cmd.addOption("--basic-cardiac", "-Pbc", "Basic Cardiac X-Ray Angiographic Studies on\nCD-R Media (STD-XABC-CD)"); + cmd.addOption("--xray-angiographic", "-Pxa", "1024 X-Ray Angiographic Studies on CD-R Media\n(STD-XA1K-CD)"); + cmd.addOption("--xray-angiographic-dvd", "-Pxd", "1024 X-Ray Angiographic Studies on DVD Media\n(STD-XA1K-DVD)"); + cmd.addOption("--dental-radiograph", "-Pde", "Dental Radiograph Interchange (STD-DEN-CD)"); + cmd.addOption("--ct-and-mr", "-Pcm", "CT/MR Studies (STD-CTMR-xxxx)"); + cmd.addOption("--ultrasound-id-sf", "-Pus", "Ultrasound Single Frame for Image Display\n(STD-US-ID-SF-xxxx)"); + cmd.addOption("--ultrasound-sc-sf", "Ultrasound Single Frame with Spatial\nCalibration (STD-US-SC-SF-xxxx)"); + cmd.addOption("--ultrasound-cc-sf", "Ultrasound Single Frame with Combined\nCalibration (STD-US-CC-SF-xxxx)"); + cmd.addOption("--ultrasound-id-mf", "-Pum", "Ultrasound Single & Multi-Frame for Image\nDisplay (STD-US-ID-MF-xxxx)"); + cmd.addOption("--ultrasound-sc-mf", "Ultrasound Single & Multi-Frame with Spatial\nCalibration (STD-UD-SC-MF-xxxx)"); + cmd.addOption("--ultrasound-cc-mf", "Ultrasound Single & Multi-Frame with Combined\nCalibration (STD-UD-CC-MF-xxxx)"); + cmd.addOption("--12-lead-ecg", "-Pec", "12-lead ECG Interchange on Diskette\n(STD-WVFM-ECG-FD)"); + cmd.addOption("--hemodynamic-waveform", "-Phd", "Hemodynamic Waveform Interchange on Diskette\n(STD-WVFM-HD-FD)"); +#endif + cmd.addSubGroup("writing:"); + cmd.addOption("--replace", "-A", "replace existing DICOMDIR (default)"); + cmd.addOption("--append", "+A", "append to existing DICOMDIR"); + cmd.addOption("--update", "+U", "update existing DICOMDIR"); + cmd.addOption("--discard", "-w", "do not write out DICOMDIR"); + cmd.addSubGroup("backup:"); + cmd.addOption("--create-backup", "create a backup of existing DICOMDIR (def.)"); + cmd.addOption("--no-backup", "-nb", "do not create a backup of existing DICOMDIR"); + cmd.addSubGroup("post-1993 value representations:"); + cmd.addOption("--enable-new-vr", "+u", "enable support for new VRs (UN/UT) (default)"); + cmd.addOption("--disable-new-vr", "-u", "disable support for new VRs, convert to OB"); + cmd.addSubGroup("group length encoding:"); + cmd.addOption("--group-length-remove", "-g", "write without group length elements (default)"); + cmd.addOption("--group-length-create", "+g", "write with group length elements"); + cmd.addSubGroup("length encoding in sequences and items:"); + cmd.addOption("--length-explicit", "+e", "write with explicit lengths (default)"); + cmd.addOption("--length-undefined", "-e", "write with undefined lengths"); + + /* evaluate command line */ + prepareCmdLineArgs(argc, argv, OFFIS_CONSOLE_APPLICATION); + if (app.parseCommandLine(cmd, argc, argv)) + { + /* print help text and exit */ + if (cmd.getArgCount() == 0) + app.printUsage(); + + /* check exclusive options first */ + if (cmd.hasExclusiveOption()) + { + if (cmd.findOption("--version")) + { + app.printHeader(OFTrue /*print host identifier*/); + COUT << OFendl << "External libraries used:"; +#if !defined(WITH_ZLIB) && !defined(BUILD_DCMGPDIR_AS_DCMMKDIR) + COUT << " none" << OFendl; +#else + COUT << OFendl; +#endif +#ifdef WITH_ZLIB + COUT << "- ZLIB, Version " << zlibVersion() << OFendl; +#endif +#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR + COUT << "- " << DiJPEGPlugin::getLibraryVersionString() << OFendl; +#endif + return 0; + } + } + + /* general options */ + OFLog::configureFromCommandLine(cmd, app); + + /* input options */ + if (cmd.findOption("--fileset-id")) + app.checkValue(cmd.getValue(opt_fileset)); + if (cmd.findOption("--descriptor")) + app.checkValue(cmd.getValue(opt_descriptor)); + if (cmd.findOption("--char-set")) + app.checkValue(cmd.getValue(opt_charset)); + + if (cmd.findOption("--input-directory")) + app.checkValue(cmd.getValue(opt_directory)); + + cmd.beginOptionBlock(); + if (cmd.findOption("--keep-filenames")) + ddir.enableMapFilenamesMode(OFFalse); + if (cmd.findOption("--map-filenames")) + ddir.enableMapFilenamesMode(OFTrue); + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--no-recurse")) + opt_recurse = OFFalse; + if (cmd.findOption("--recurse")) + { + opt_recurse = OFTrue; + if (opt_directory.isEmpty()) + opt_directory.set(".", OFTrue /*convert*/); + } + cmd.endOptionBlock(); + +#ifdef PATTERN_MATCHING_AVAILABLE + if (cmd.findOption("--pattern")) + { + app.checkDependence("--pattern", "--recurse", opt_recurse); + app.checkValue(cmd.getValue(opt_pattern)); + } +#endif + + /* processing options */ + cmd.beginOptionBlock(); + if (cmd.findOption("--no-consistency-check")) + ddir.disableConsistencyCheck(); + if (cmd.findOption("--warn-inconsist-files")) + ddir.enableAbortMode(OFFalse); + if (cmd.findOption("--abort-inconsist-file")) + ddir.enableAbortMode(OFTrue); + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--strict")) + ddir.enableInventMode(OFFalse); + if (cmd.findOption("--invent")) + ddir.enableInventMode(OFTrue); + cmd.endOptionBlock(); + + if (cmd.findOption("--invent-patient-id")) + ddir.enableInventPatientIDMode(); + + if (cmd.findOption("--allow-retired-sop")) + ddir.enableRetiredSOPClassSupport(); + if (cmd.findOption("--no-xfer-check")) + ddir.disableTransferSyntaxCheck(); + +#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR + if (cmd.findOption("--no-encoding-check")) + ddir.disableEncodingCheck(); + if (cmd.findOption("--no-resolution-check")) + ddir.disableResolutionCheck(); + if (cmd.findOption("--add-icon-image")) + ddir.enableIconImageMode(); + if (cmd.findOption("--icon-image-size")) + { + OFCmdUnsignedInt iconSize = 0; + app.checkValue(cmd.getValueAndCheckMinMax(iconSize, 1, 128)); + ddir.setIconSize(OFstatic_cast(unsigned int, iconSize)); + } + if (cmd.findOption("--icon-file-prefix")) + { + OFFilename iconPrefix; + app.checkValue(cmd.getValue(iconPrefix)); + ddir.setIconPrefix(iconPrefix); + } + if (cmd.findOption("--default-icon")) + { + OFFilename defaultIcon; + app.checkValue(cmd.getValue(defaultIcon)); + ddir.setDefaultIcon(defaultIcon); + } +#endif + + /* output options */ + if (cmd.findOption("--output-file")) + app.checkValue(cmd.getValue(opt_output)); + +#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR + cmd.beginOptionBlock(); + if (cmd.findOption("--general-purpose")) + opt_profile = DicomDirInterface::AP_GeneralPurpose; + if (cmd.findOption("--general-dvd-jpeg")) + opt_profile = DicomDirInterface::AP_GeneralPurposeDVDJPEG; + if (cmd.findOption("--general-dvd-j2k")) + opt_profile = DicomDirInterface::AP_GeneralPurposeDVDJPEG2000; + if (cmd.findOption("--general-bd-jpeg")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDJPEG; + if (cmd.findOption("--general-bd-j2k")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDJPEG2000; + if (cmd.findOption("--general-bd-mpeg2-mpml")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG2MPatML; + if (cmd.findOption("--general-bd-mpeg2-mphl")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG2MPatHL; + if (cmd.findOption("--general-bd-mpeg4-hp")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV41; + if (cmd.findOption("--general-bd-mpeg4-hpbd")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV41BD; + if (cmd.findOption("--general-bd-mpeg4-hp2d")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV42_2D; + if (cmd.findOption("--general-bd-mpeg4-hp3d")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV42_3D; + if (cmd.findOption("--general-bd-mpeg4-hpst")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4StereoHPatLV42; + if (cmd.findOption("--usb-and-flash-jpeg")) + opt_profile = DicomDirInterface::AP_USBandFlashJPEG; + if (cmd.findOption("--usb-and-flash-j2k")) + opt_profile = DicomDirInterface::AP_USBandFlashJPEG2000; + if (cmd.findOption("--general-mime")) + opt_profile = DicomDirInterface::AP_GeneralPurposeMIME; + if (cmd.findOption("--mpeg2-mpml-dvd")) + opt_profile = DicomDirInterface::AP_MPEG2MPatMLDVD; + if (cmd.findOption("--basic-cardiac")) + opt_profile = DicomDirInterface::AP_BasicCardiac; + if (cmd.findOption("--xray-angiographic")) + opt_profile = DicomDirInterface::AP_XrayAngiographic; + if (cmd.findOption("--xray-angiographic-dvd")) + opt_profile = DicomDirInterface::AP_XrayAngiographicDVD; + if (cmd.findOption("--dental-radiograph")) + opt_profile = DicomDirInterface::AP_DentalRadiograph; + if (cmd.findOption("--ct-and-mr")) + opt_profile = DicomDirInterface::AP_CTandMR; + if (cmd.findOption("--ultrasound-id-sf")) + opt_profile = DicomDirInterface::AP_UltrasoundIDSF; + if (cmd.findOption("--ultrasound-sc-sf")) + opt_profile = DicomDirInterface::AP_UltrasoundSCSF; + if (cmd.findOption("--ultrasound-cc-sf")) + opt_profile = DicomDirInterface::AP_UltrasoundCCSF; + if (cmd.findOption("--ultrasound-id-mf")) + opt_profile = DicomDirInterface::AP_UltrasoundIDMF; + if (cmd.findOption("--ultrasound-sc-mf")) + opt_profile = DicomDirInterface::AP_UltrasoundSCMF; + if (cmd.findOption("--ultrasound-cc-mf")) + opt_profile = DicomDirInterface::AP_UltrasoundCCMF; + if (cmd.findOption("--12-lead-ecg")) + opt_profile = DicomDirInterface::AP_TwelveLeadECG; + if (cmd.findOption("--hemodynamic-waveform")) + opt_profile = DicomDirInterface::AP_HemodynamicWaveform; + cmd.endOptionBlock(); +#endif + + cmd.beginOptionBlock(); + if (cmd.findOption("--replace")) + { + opt_write = OFTrue; + opt_append = OFFalse; + opt_update = OFFalse; + } + if (cmd.findOption("--append")) + { + opt_write = OFTrue; + opt_append = OFTrue; + opt_update = OFFalse; + } + if (cmd.findOption("--update")) + { + opt_write = OFTrue; + opt_append = OFFalse; + opt_update = OFTrue; + } + if (cmd.findOption("--discard")) + { + opt_write = OFFalse; + opt_append = OFFalse; + opt_update = OFFalse; + } + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--create-backup")) + ddir.disableBackupMode(OFTrue); + if (cmd.findOption("--no-backup")) + ddir.disableBackupMode(OFFalse); + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--enable-new-vr")) + dcmEnableGenerationOfNewVRs(); + if (cmd.findOption("--disable-new-vr")) + dcmDisableGenerationOfNewVRs(); + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--group-length-create")) + opt_glenc = EGL_withGL; + if (cmd.findOption("--group-length-remove")) + opt_glenc = EGL_withoutGL; + cmd.endOptionBlock(); + + cmd.beginOptionBlock(); + if (cmd.findOption("--length-explicit")) + opt_enctype = EET_ExplicitLength; + if (cmd.findOption("--length-undefined")) + opt_enctype = EET_UndefinedLength; + cmd.endOptionBlock(); + + /* post check */ + if ((opt_profile == DicomDirInterface::AP_BasicCardiac) || + (opt_profile == DicomDirInterface::AP_XrayAngiographic) || + (opt_profile == DicomDirInterface::AP_CTandMR)) + { + app.checkConflict("--icon-image-size", "--basic-cardiac, --xray-angiographic or --ct-and-mr", cmd.findOption("--icon-image-size")); + } + } + + /* print resource identifier */ + OFLOG_DEBUG(dcmgpdirLogger, rcsid << OFendl); + + /* make sure data dictionary is loaded */ + if (!dcmDataDict.isDictionaryLoaded()) + { + OFLOG_FATAL(dcmgpdirLogger, "no data dictionary loaded, check environment variable: " + << DCM_DICT_ENVIRONMENT_VARIABLE); + return 1; /* DcmDicomDir class dumps core when no data dictionary present */ + } + + /* make sure input directory exists (if specified) */ + if (!opt_directory.isEmpty()) + { + if (!OFStandard::dirExists(opt_directory)) + { + OFLOG_FATAL(dcmgpdirLogger, OFFIS_CONSOLE_APPLICATION << ": specified input directory does not exist"); + return 1; + } + } + + /* create list of input files */ + OFFilename paramValue; + OFFilename pathName; + OFList fileNames; + const int count = cmd.getParamCount(); + if (opt_recurse) + OFLOG_INFO(dcmgpdirLogger, "determining input files ..."); + /* no parameters? */ + if (count == 0) + { + if (opt_recurse) + OFStandard::searchDirectoryRecursively(OFFilename(), fileNames, opt_pattern, opt_directory); + else + app.printError("Missing parameter dcmfile-in"); + } else { + /* iterate over all input filenames */ + for (int i = 1; i <= count; i++) + { + cmd.getParam(i, paramValue); + /* add input directory */ + OFStandard::combineDirAndFilename(pathName, opt_directory, paramValue, OFTrue /*allowEmptyDirName*/); + /* search directory recursively (if required) */ + if (OFStandard::dirExists(pathName)) + { + if (opt_recurse) + OFStandard::searchDirectoryRecursively(paramValue, fileNames, opt_pattern, opt_directory); + else + OFLOG_WARN(dcmgpdirLogger, "ignoring directory because option --recurse is not set: " << paramValue); + } else + fileNames.push_back(paramValue); + } + } + /* check whether there are any input files */ + if (fileNames.empty()) + { + OFLOG_FATAL(dcmgpdirLogger, "no input files: DICOMDIR not created"); + return 1; + } + +#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR + // add image support to DICOMDIR class + DicomDirImageImplementation imagePlugin; + ddir.addImageSupport(&imagePlugin); +#endif + + OFCondition result; + const char *action = ""; + /* create new general purpose DICOMDIR, append to or update existing one */ + if (opt_append) + { + action = "appending"; + result = ddir.appendToDicomDir(opt_profile, opt_output); + } + else if (opt_update) + { + action = "updating"; + result = ddir.updateDicomDir(opt_profile, opt_output); + } else { + action = "creating"; + result = ddir.createNewDicomDir(opt_profile, opt_output, opt_fileset); + } + if (result.good()) + { + /* set fileset descriptor and character set */ + result = ddir.setFilesetDescriptor(opt_descriptor, opt_charset); + if (result.good()) + { + /* collect 'bad' files */ + OFList badFiles; + unsigned int goodFiles = 0; + OFListIterator(OFFilename) iter = fileNames.begin(); + OFListIterator(OFFilename) last = fileNames.end(); + /* iterate over all input filenames */ + while ((iter != last) && result.good()) + { + /* add files to the DICOMDIR */ + result = ddir.addDicomFile((*iter), opt_directory); + if (result.bad()) + { + badFiles.push_back(*iter); + if (!ddir.abortMode()) + { + /* ignore inconsistent file, just warn (already done inside "ddir") */ + result = EC_Normal; + } + } else + ++goodFiles; + ++iter; + } + /* evaluate result of file checking/adding procedure */ + if (goodFiles == 0) + { + OFLOG_ERROR(dcmgpdirLogger, "no good files: DICOMDIR not created"); + result = EC_IllegalCall; + } + else if (!badFiles.empty()) + { + OFOStringStream oss; + oss << badFiles.size() << " file(s) cannot be added to DICOMDIR: "; + iter = badFiles.begin(); + last = badFiles.end(); + while (iter != last) + { + oss << OFendl << " " << (*iter); + ++iter; + } + oss << OFStringStream_ends; + OFSTRINGSTREAM_GETSTR(oss, tmpString) + OFLOG_WARN(dcmgpdirLogger, tmpString); + OFSTRINGSTREAM_FREESTR(tmpString) + } + /* write DICOMDIR file */ + if (result.good() && opt_write) + { + action = "writing"; + result = ddir.writeDicomDir(opt_enctype, opt_glenc); + } + } + } + + /* some final error reporting */ + if (result.bad() && (result != EC_IllegalCall)) + { + OFLOG_FATAL(dcmgpdirLogger, OFFIS_CONSOLE_APPLICATION << ": error (" + << result.text() << ") " << action << " file: " << opt_output); + } + +#ifdef BUILD_DCMGPDIR_AS_DCMMKDIR + // deregister global decompression codecs + DcmRLEDecoderRegistration::cleanup(); + DJDecoderRegistration::cleanup(); + // enable the following lines for JPEG 2000 decompression support +/* + D2DecoderRegistration::cleanup(); + D2JPEG2000Library::cleanup(); +*/ +#endif + +#ifdef DEBUG + dcmDataDict.clear(); /* useful for debugging with dmalloc */ +#endif + + return result.status(); +} diff --git a/dcmjpeg/docs/dcmcjpeg.man b/dcmjpeg/docs/dcmcjpeg.man index 289fb456..41079df7 100644 --- a/dcmjpeg/docs/dcmcjpeg.man +++ b/dcmjpeg/docs/dcmcjpeg.man @@ -707,6 +707,6 @@ It is an error if no data dictionary can be loaded. \section dcmcjpeg_copyright COPYRIGHT -Copyright (C) 2001-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2001-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmjpeg/docs/dcmdjpeg.man b/dcmjpeg/docs/dcmdjpeg.man index 7828d47a..52898187 100644 --- a/dcmjpeg/docs/dcmdjpeg.man +++ b/dcmjpeg/docs/dcmdjpeg.man @@ -347,6 +347,6 @@ It is an error if no data dictionary can be loaded. \section dcmdjpeg_copyright COPYRIGHT -Copyright (C) 2001-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2001-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmjpeg/docs/dcmj2pnm.man b/dcmjpeg/docs/dcmj2pnm.man index 5bbf8c4e..8714ecd3 100644 --- a/dcmjpeg/docs/dcmj2pnm.man +++ b/dcmjpeg/docs/dcmj2pnm.man @@ -14,565 +14,15 @@ dcmj2pnm [options] dcmfile-in [bitmap-out] \section dcmj2pnm_description DESCRIPTION -The \b dcmj2pnm utility reads a DICOM image, converts the pixel data according -to the selected image processing options and writes back an image in the -well-known PGM/PPM (portable gray map / portable pix map), PNG, TIFF, JPEG -(Joint Photographic Experts Group) or Windows BMP format. This utility -supports uncompressed as well as JPEG and RLE compressed DICOM images. - -\section dcmj2pnm_parameters PARAMETERS - -\verbatim -dcmfile-in DICOM input filename to be converted ("-" for stdin) - -bitmap-out output filename to be written (default: stdout) -\endverbatim - -\section dcmj2pnm_options OPTIONS - -\subsection dcmj2pnm_general_options general options -\verbatim - -h --help - print this help text and exit - - --version - print version information and exit - - --arguments - print expanded command line arguments - - -q --quiet - quiet mode, print no warnings and errors - - -v --verbose - verbose mode, print processing details - - -d --debug - debug mode, print debug information - - -ll --log-level [l]evel: string constant - (fatal, error, warn, info, debug, trace) - use level l for the logger - - -lc --log-config [f]ilename: string - use config file f for the logger -\endverbatim - -\subsection dcmj2pnm_input_options input options -\verbatim -input file format: - - +f --read-file - read file format or data set (default) - - +fo --read-file-only - read file format only - - -f --read-dataset - read data set without file meta information - -input transfer syntax: - - -t= --read-xfer-auto - use TS recognition (default) - - -td --read-xfer-detect - ignore TS specified in the file meta header - - -te --read-xfer-little - read with explicit VR little endian TS - - -tb --read-xfer-big - read with explicit VR big endian TS - - -ti --read-xfer-implicit - read with implicit VR little endian TS -\endverbatim - -\subsection dcmj2pnm_image_processing_options image processing options -\verbatim -frame selection: - - +F --frame [n]umber: integer - select specified frame (default: 1) - - +Fr --frame-range [n]umber [c]ount: integer - select c frames beginning with frame n - - +Fa --all-frames - select all frames - -rotation: - - +Rl --rotate-left - rotate image left (-90 degrees) - - +Rr --rotate-right - rotate image right (+90 degrees) - - +Rtd --rotate-top-down - rotate image top-down (180 degrees) - -flipping: - - +Lh --flip-horizontally - flip image horizontally - - +Lv --flip-vertically - flip image vertically - - +Lhv --flip-both-axes - flip image horizontally and vertically - -scaling: - - +a --recognize-aspect - recognize pixel aspect ratio when scaling (default) - - -a --ignore-aspect - ignore pixel aspect ratio when scaling - - +i --interpolate [n]umber of algorithm: integer - use interpolation when scaling (1..4, default: 1) - - -i --no-interpolation - no interpolation when scaling - - -S --no-scaling - no scaling, ignore pixel aspect ratio (default) - - +Sxf --scale-x-factor [f]actor: float - scale x axis by factor, auto-compute y axis - - +Syf --scale-y-factor [f]actor: float - scale y axis by factor, auto-compute x axis - - +Sxv --scale-x-size [n]umber: integer - scale x axis to n pixels, auto-compute y axis - - +Syv --scale-y-size [n]umber: integer - scale y axis to n pixels, auto-compute x axis - -color space conversion (JPEG compressed images only): - - +cp --conv-photometric - convert if YCbCr photometric interpretation (default) - - +cl --conv-lossy - convert YCbCr to RGB if lossy JPEG - - +cg --conv-guess - convert to RGB if YCbCr is guessed by library - - +cgl --conv-guess-lossy - convert to RGB if lossy JPEG and YCbCr is - guessed by the underlying JPEG library - - +ca --conv-always - always convert YCbCr to RGB - - +cn --conv-never - never convert color space - -workaround options for incorrect encodings (JPEG compressed images only): - - +w6 --workaround-pred6 - enable workaround for JPEG lossless images - with overflow in predictor 6 - - # DICOM images with 16 bits/pixel have been observed "in the wild" - # that are compressed with lossless JPEG and need special handling - # because the encoder produced an 16-bit integer overflow in predictor - # 6, which needs to be compensated (reproduced) during decompression. - # This flag enables a correct decompression of such faulty images, but - # at the same time will cause an incorrect decompression of correctly - # compressed images. Use with care. - - +wi --workaround-incpl - enable workaround for incomplete JPEG data - - # This option causes dcmj2pnm to ignore incomplete JPEG data - # at the end of a compressed fragment and to start decompressing - # the next frame from the next fragment (if any). This permits - # images with incomplete JPEG data to be decoded. - - +wc --workaround-cornell - enable workaround for 16-bit JPEG lossless - Cornell images with Huffman table overflow - - # One of the first open-source implementations of lossless JPEG - # compression, the "Cornell" library, has a well-known bug that leads - # to invalid values in the Huffmann table when images with 16 bit/sample - # are compressed. This flag enables a workaround that permits such - # images to be decoded correctly. - -modality LUT transformation: - - -M --no-modality - ignore stored modality LUT transformation - - +M --use-modality - use modality LUT transformation (default) - -VOI LUT transformation: - - -W --no-windowing - no VOI windowing (default) - - +Wi --use-window [n]umber: integer - use the n-th VOI window from image file - - +Wl --use-voi-lut [n]umber: integer - use the n-th VOI look up table from image file - - +Wm --min-max-window - compute VOI window using min-max algorithm - - +Wn --min-max-window-n - compute VOI window using min-max algorithm, - ignoring extreme values - - +Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer - compute ROI window using min-max algorithm, - region of interest is specified by l,t,w,h - - +Wh --histogram-window [n]umber: integer - compute VOI window using Histogram algorithm, - ignoring n percent - - +Ww --set-window [c]enter [w]idth: float - compute VOI window using center c and width w - - +Wfl --linear-function - set VOI LUT function to LINEAR - - +Wfs --sigmoid-function - set VOI LUT function to SIGMOID - -presentation LUT transformation: - - +Pid --identity-shape - set presentation LUT shape to IDENTITY - - +Piv --inverse-shape - set presentation LUT shape to INVERSE - - +Pod --lin-od-shape - set presentation LUT shape to LIN OD - -overlay: - - -O --no-overlays - do not display overlays - - +O --display-overlay [n]umber: integer - display overlay n (0..16, 0=all, default: +O 0) - - +Omr --ovl-replace - use overlay mode "Replace" - (default for Graphic overlays) - - +Omt --ovl-threshold - use overlay mode "Threshold Replace" - - +Omc --ovl-complement - use overlay mode "Complement" - - +Omv --ovl-invert - use overlay mode "Invert Bitmap" - - +Omi --ovl-roi - use overlay mode "Region of Interest" - (default for ROI overlays) - - +Osf --set-foreground [d]ensity: float - set overlay foreground density (0..1, default: 1) - - +Ost --set-threshold [d]ensity: float - set overlay threshold density (0..1, default: 0.5) - -display LUT transformation: - - +Dm --monitor-file [f]ilename: string - calibrate output according to monitor characteristics - defined in f - - +Dp --printer-file [f]ilename: string - calibrate output according to printer characteristics - defined in f - - +Da --ambient-light [a]mbient light: float - ambient light value (cd/m^2, default: file f) - - +Di --illumination [i]llumination: float - illumination value (cd/m^2, default: file f) - - +Dn --min-density [m]inimum optical density: float - Dmin value (default: off, only with +Dp) - - +Dx --max-density [m]aximum optical density: float - Dmax value (default: off, only with +Dp) - - +Dg --gsd-function - use GSDF for calibration (default for +Dm/+Dp) - - +Dc --cielab-function - use CIELAB function for calibration - -compatibility: - - +Ma --accept-acr-nema - accept ACR-NEMA images without photometric - interpretation - - +Mp --accept-palettes - accept incorrect palette attribute tags - (0028,111x) and (0028,121x) - - +Mc --check-lut-depth - check 3rd value of the LUT descriptor, compare - with expected bit depth based on LUT data - - +Mm --ignore-mlut-depth - ignore 3rd value of the modality LUT descriptor, - determine bits per table entry automatically - - +Mv --ignore-vlut-depth - ignore 3rd value of the VOI LUT descriptor, - determine bits per table entry automatically - -TIFF format: - - +Tl --compr-lzw - LZW compression (default) - - +Tr --compr-rle - RLE compression - - +Tn --compr-none - uncompressed - - +Pd --predictor-default - no LZW predictor (default) - - +Pn --predictor-none - LZW predictor 1 (no prediction) - - +Ph --predictor-horz - LZW predictor 2 (horizontal differencing) - - +Rs --rows-per-strip [r]ows: integer (default: 0) - rows per strip, default 8K per strip - -PNG format: - - +il --interlace - create interlaced file (default) - - -il --nointerlace - create non-interlaced file - - +mf --meta-file - create PNG file meta information (default) - - -mf --meta-none - no PNG file meta information - -JPEG format: - - +Jq --compr-quality [q]uality: integer (0..100, default: 90) - quality value for compression (in percent) - - +Js4 --sample-444 - 4:4:4 sampling (no subsampling) - - +Js2 --sample-422 - 4:2:2 subsampling (horizontal subsampling of - chroma components, default) - - +Js1 --sample-411 - 4:1:1 subsampling (horizontal and vertical - subsampling of chroma components) - -other transformations: - - +G --grayscale - convert color image to grayscale (monochrome) - - +P --change-polarity - change polarity (invert pixel output) - - +C --clip-region [l]eft [t]op [w]idth [h]eight: integer - clip image region (l, t, w, h) -\endverbatim - -\subsection dcmj2pnm_output_options output options -\verbatim -general: - - -im --image-info - print image details (requires verbose mode) - - -o --no-output - do not create any output (useful with -im) - -filename generation (only with --frame-range or --all-frames): - - +Fc --use-frame-counter - use 0-based counter for filenames (default) - - +Fn --use-frame-number - use absolute frame number for filenames - -image format: - - +op --write-raw-pnm - write 8-bit binary PGM/PPM (default for files) - - +opb --write-8-bit-pnm - write 8-bit ASCII PGM/PPM (default for stdout) - - +opw --write-16-bit-pnm - write 16-bit ASCII PGM/PPM - - +opn --write-n-bit-pnm [n]umber: integer - write n-bit ASCII PGM/PPM (1..32) - - +ob --write-bmp - write 8-bit (monochrome) or 24-bit (color) BMP - - +obp --write-8-bit-bmp - write 8-bit palette BMP (monochrome only) - - +obt --write-24-bit-bmp - write 24-bit truecolor BMP - - +obr --write-32-bit-bmp - write 32-bit truecolor BMP - - +ot --write-tiff - write 8-bit (monochrome) or 24-bit (color) TIFF - - +on --write-png - write 8-bit (monochrome) or 24-bit (color) PNG - - +on2 --write-16-bit-png - write 16-bit (monochrome) or 48-bit (color) PNG - - +oj --write-jpeg - write 8-bit lossy JPEG (baseline) -\endverbatim - -\section dcmj2pnm_notes NOTES - -The following preferred interpolation algorithms can be selected using the -\e --interpolate option: - -- 1 = free scaling algorithm with interpolation from pbmplus toolkit -- 2 = free scaling algorithm with interpolation from c't magazine -- 3 = magnification algorithm with bilinear interpolation from Eduard Stanescu -- 4 = magnification algorithm with bicubic interpolation from Eduard Stanescu - -The \e --write-tiff option is only available when DCMTK has been configured -and compiled with support for the external \b libtiff TIFF library. The -availability of the TIFF compression options depends on the \b libtiff -configuration. - -The \e --write-png option is only available when DCMTK has been configured -and compiled with support for the external \b libpng PNG library. Option -\e --interlace enables progressive image view while loading the PNG file. -Only a few applications take care of the meta info (TEXT) in a PNG file. - -\section dcmj2pnm_transfer_syntaxes TRANSFER SYNTAXES - -\b dcmj2pnm supports the following transfer syntaxes for input (\e dcmfile-in): - -\verbatim -LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 -LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) -BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 -JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 -JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 -JPEGProcess6_8TransferSyntax 1.2.840.10008.1.2.4.53 -JPEGProcess10_12TransferSyntax 1.2.840.10008.1.2.4.55 -JPEGProcess14TransferSyntax 1.2.840.10008.1.2.4.57 -JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70 -RLELosslessTransferSyntax 1.2.840.10008.1.2.5 -\endverbatim - -(*) if compiled with zlib support enabled - -\section dcmj2pnm_logging LOGGING - -The level of logging output of the various command line tools and underlying -libraries can be specified by the user. By default, only errors and warnings -are written to the standard error stream. Using option \e --verbose also -informational messages like processing details are reported. Option -\e --debug can be used to get more details on the internal activity, e.g. for -debugging purposes. Other logging levels can be selected using option -\e --log-level. In \e --quiet mode only fatal errors are reported. In such -very severe error events, the application will usually terminate. For more -details on the different logging levels, see documentation of module "oflog". - -In case the logging output should be written to file (optionally with logfile -rotation), to syslog (Unix) or the event log (Windows) option \e --log-config -can be used. This configuration file also allows for directing only certain -messages to a particular output stream and for filtering certain messages -based on the module or application where they are generated. An example -configuration file is provided in \/logger.cfg. - -\section dcmj2pnm_command_line COMMAND LINE - -All command line tools use the following notation for parameters: square -brackets enclose optional values (0-1), three trailing dots indicate that -multiple values are allowed (1-n), a combination of both means 0 to n values. - -Command line options are distinguished from parameters by a leading '+' or '-' -sign, respectively. Usually, order and position of command line options are -arbitrary (i.e. they can appear anywhere). However, if options are mutually -exclusive the rightmost appearance is used. This behavior conforms to the -standard evaluation rules of common Unix shells. - -In addition, one or more command files can be specified using an '@' sign as a -prefix to the filename (e.g. \@command.txt). Such a command argument -is replaced by the content of the corresponding text file (multiple -whitespaces are treated as a single separator unless they appear between two -quotation marks) prior to any further evaluation. Please note that a command -file cannot contain another command file. This simple but effective approach -allows one to summarize common combinations of options/parameters and avoids -longish and confusing command lines (an example is provided in file -\/dumppat.txt). - -\section dcmj2pnm_environment ENVIRONMENT - -The \b dcmj2pnm utility will attempt to load DICOM data dictionaries specified -in the \e DCMDICTPATH environment variable. By default, i.e. if the -\e DCMDICTPATH environment variable is not set, the file -\/dicom.dic will be loaded unless the dictionary is built -into the application (default for Windows). - -The default behavior should be preferred and the \e DCMDICTPATH environment -variable only used when alternative data dictionaries are required. The -\e DCMDICTPATH environment variable has the same format as the Unix shell -\e PATH variable in that a colon (":") separates entries. On Windows systems, -a semicolon (";") is used as a separator. The data dictionary code will -attempt to load each file specified in the \e DCMDICTPATH environment variable. -It is an error if no data dictionary can be loaded. - -\section dcmj2pnm_files FILES - -\/camera.lut - sample characteristics file of a camera -\n\/monitor.lut - sample characteristics file of a monitor -\n\/printer.lut - sample characteristics file of a printer -\n\/scanner.lut - sample characteristics file of a scanner +The \b dcmj2pnm tool is deprecated. Use \b dcm2img instead, which supports +the same command line parameters, and more. \section dcmj2pnm_see_also SEE ALSO -dcm2pnm(1), img2dcm(1) +dcm2img(1) \section dcmj2pnm_copyright COPYRIGHT -Copyright (C) 2001-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2001-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmjpeg/docs/dcmmkdir.man b/dcmjpeg/docs/dcmmkdir.man index f373bc8c..7ffce8f1 100644 --- a/dcmjpeg/docs/dcmmkdir.man +++ b/dcmjpeg/docs/dcmmkdir.man @@ -24,6 +24,8 @@ Currently the following profiles are supported (others might be added later): - General Purpose Interchange on DVD-RAM Media (STD-GEN-DVD-RAM) +- General Purpose Interchange on BD Media (STD-GEN-BD) + - General Purpose DVD Interchange with JPEG (STD-GEN-DVD-JPEG) - General Purpose DVD Interchange with JPEG 2000 (STD-GEN-DVD-J2K) @@ -243,8 +245,8 @@ DICOMDIR file: profiles: -Pgp --general-purpose - General Purpose Interchange on CD-R or DVD-RAM Media - (STD-GEN-CD/DVD-RAM, default) + General Purpose Interchange on CD-R, DVD-RAM or BD Media + (STD-GEN-CD/DVD-RAM/BD, default) -Pdv --general-dvd-jpeg General Purpose DVD Interchange with JPEG @@ -506,6 +508,6 @@ It is an error if no data dictionary can be loaded. \section dcmmkdir_copyright COPYRIGHT -Copyright (C) 2001-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2001-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmjpeg/include/dcmtk/dcmjpeg/djdijg12.h b/dcmjpeg/include/dcmtk/dcmjpeg/djdijg12.h index 4db55277..3c6ef4c6 100644 --- a/dcmjpeg/include/dcmtk/dcmjpeg/djdijg12.h +++ b/dcmjpeg/include/dcmtk/dcmjpeg/djdijg12.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1997-2014, OFFIS e.V. + * Copyright (C) 1997-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,7 +27,7 @@ extern "C" { - struct jpeg_decompress_struct; + struct dcmtk_jpeg12_decompress_struct; } class DJCodecParameter; @@ -109,7 +109,7 @@ private: const DJCodecParameter *cparam; /// decompression structure - jpeg_decompress_struct *cinfo; + dcmtk_jpeg12_decompress_struct *cinfo; /// position of last suspend int suspension; diff --git a/dcmjpeg/include/dcmtk/dcmjpeg/djdijg16.h b/dcmjpeg/include/dcmtk/dcmjpeg/djdijg16.h index 356f78ba..f937b62a 100644 --- a/dcmjpeg/include/dcmtk/dcmjpeg/djdijg16.h +++ b/dcmjpeg/include/dcmtk/dcmjpeg/djdijg16.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1997-2014, OFFIS e.V. + * Copyright (C) 1997-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,7 +27,7 @@ extern "C" { - struct jpeg_decompress_struct; + struct dcmtk_jpeg16_decompress_struct; } class DJCodecParameter; @@ -109,7 +109,7 @@ private: const DJCodecParameter *cparam; /// decompression structure - jpeg_decompress_struct *cinfo; + dcmtk_jpeg16_decompress_struct *cinfo; /// position of last suspend int suspension; diff --git a/dcmjpeg/include/dcmtk/dcmjpeg/djdijg8.h b/dcmjpeg/include/dcmtk/dcmjpeg/djdijg8.h index 8c8ef6dc..dfd1418d 100644 --- a/dcmjpeg/include/dcmtk/dcmjpeg/djdijg8.h +++ b/dcmjpeg/include/dcmtk/dcmjpeg/djdijg8.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1997-2014, OFFIS e.V. + * Copyright (C) 1997-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,7 +27,7 @@ extern "C" { - struct jpeg_decompress_struct; + struct dcmtk_jpeg8_decompress_struct; } class DJCodecParameter; @@ -109,7 +109,7 @@ private: const DJCodecParameter *cparam; /// decompression structure - jpeg_decompress_struct *cinfo; + dcmtk_jpeg8_decompress_struct *cinfo; /// position of last suspend int suspension; diff --git a/dcmjpeg/include/dcmtk/dcmjpeg/djeijg12.h b/dcmjpeg/include/dcmtk/dcmjpeg/djeijg12.h index ae9cf7ef..e0416642 100644 --- a/dcmjpeg/include/dcmtk/dcmjpeg/djeijg12.h +++ b/dcmjpeg/include/dcmtk/dcmjpeg/djeijg12.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1997-2011, OFFIS e.V. + * Copyright (C) 1997-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -28,10 +28,8 @@ extern "C" { - struct jpeg_compress_struct; - typedef struct jpeg_compress_struct * j_compress_ptr; - struct jpeg_decompress_struct; - typedef struct jpeg_decompress_struct * j_decompress_ptr; + struct dcmtk_jpeg12_compress_struct; + typedef struct dcmtk_jpeg12_compress_struct * j12_compress_ptr; } class DJCodecParameter; @@ -115,19 +113,19 @@ public: * Internal use only, not to be called by client code. * @param cinfo pointer to compress info */ - void initDestination(jpeg_compress_struct *cinfo); + void initDestination(dcmtk_jpeg12_compress_struct *cinfo); /** callback for IJG compress destination manager. * Internal use only, not to be called by client code. * @param cinfo pointer to compress info */ - int emptyOutputBuffer(jpeg_compress_struct *cinfo); + int emptyOutputBuffer(dcmtk_jpeg12_compress_struct *cinfo); /** callback for IJG compress destination manager. * Internal use only, not to be called by client code. * @param cinfo pointer to compress info */ - void termDestination(jpeg_compress_struct *cinfo); + void termDestination(dcmtk_jpeg12_compress_struct *cinfo); /** callback function used to report warning messages and the like. * Should not be called by user code directly. diff --git a/dcmjpeg/include/dcmtk/dcmjpeg/djeijg16.h b/dcmjpeg/include/dcmtk/dcmjpeg/djeijg16.h index 901dc981..85ac0c9f 100644 --- a/dcmjpeg/include/dcmtk/dcmjpeg/djeijg16.h +++ b/dcmjpeg/include/dcmtk/dcmjpeg/djeijg16.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1997-2011, OFFIS e.V. + * Copyright (C) 1997-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -28,10 +28,8 @@ extern "C" { - struct jpeg_compress_struct; - typedef struct jpeg_compress_struct * j_compress_ptr; - struct jpeg_decompress_struct; - typedef struct jpeg_decompress_struct * j_decompress_ptr; + struct dcmtk_jpeg16_compress_struct; + typedef struct dcmtk_jpeg16_compress_struct * j16_compress_ptr; } class DJCodecParameter; @@ -108,19 +106,19 @@ public: * Internal use only, not to be called by client code. * @param cinfo pointer to compress info */ - void initDestination(jpeg_compress_struct *cinfo); + void initDestination(dcmtk_jpeg16_compress_struct *cinfo); /** callback for IJG compress destination manager. * Internal use only, not to be called by client code. * @param cinfo pointer to compress info */ - int emptyOutputBuffer(jpeg_compress_struct *cinfo); + int emptyOutputBuffer(dcmtk_jpeg16_compress_struct *cinfo); /** callback for IJG compress destination manager. * Internal use only, not to be called by client code. * @param cinfo pointer to compress info */ - void termDestination(jpeg_compress_struct *cinfo); + void termDestination(dcmtk_jpeg16_compress_struct *cinfo); /** callback function used to report warning messages and the like. * Should not be called by user code directly. diff --git a/dcmjpeg/include/dcmtk/dcmjpeg/djeijg8.h b/dcmjpeg/include/dcmtk/dcmjpeg/djeijg8.h index 0e78f964..b5174e95 100644 --- a/dcmjpeg/include/dcmtk/dcmjpeg/djeijg8.h +++ b/dcmjpeg/include/dcmtk/dcmjpeg/djeijg8.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1997-2011, OFFIS e.V. + * Copyright (C) 1997-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -28,7 +28,8 @@ extern "C" { - struct jpeg_compress_struct; + struct dcmtk_jpeg8_compress_struct; + typedef struct dcmtk_jpeg8_compress_struct * j8_compress_ptr; } class DJCodecParameter; @@ -111,19 +112,19 @@ public: * Internal use only, not to be called by client code. * @param cinfo pointer to compress info */ - void initDestination(jpeg_compress_struct *cinfo); + void initDestination(dcmtk_jpeg8_compress_struct *cinfo); /** callback for IJG compress destination manager. * Internal use only, not to be called by client code. * @param cinfo pointer to compress info */ - int emptyOutputBuffer(jpeg_compress_struct *cinfo); + int emptyOutputBuffer(dcmtk_jpeg8_compress_struct *cinfo); /** callback for IJG compress destination manager. * Internal use only, not to be called by client code. * @param cinfo pointer to compress info */ - void termDestination(jpeg_compress_struct *cinfo); + void termDestination(dcmtk_jpeg8_compress_struct *cinfo); /** callback function used to report warning messages and the like. * Should not be called by user code directly. diff --git a/dcmjpeg/libijg12/CMakeLists.txt b/dcmjpeg/libijg12/CMakeLists.txt index 2a29a5a8..b7acb912 100644 --- a/dcmjpeg/libijg12/CMakeLists.txt +++ b/dcmjpeg/libijg12/CMakeLists.txt @@ -1,6 +1,5 @@ # create library from source files DCMTK_ADD_LIBRARY(ijg12 - jaricom.c jcapimin.c jcapistd.c jcarith.c diff --git a/dcmjpeg/libijg12/Makefile.dep b/dcmjpeg/libijg12/Makefile.dep index 666c1885..60ed313f 100644 --- a/dcmjpeg/libijg12/Makefile.dep +++ b/dcmjpeg/libijg12/Makefile.dep @@ -1,6 +1,3 @@ -jaricom.o: jaricom.c jinclude12.h jconfig12.h \ - ../../config/include/dcmtk/config/osconfig.h jpeglib12.h jmorecfg12.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h jpegint12.h jerror12.h jcapimin.o: jcapimin.c jinclude12.h jconfig12.h \ ../../config/include/dcmtk/config/osconfig.h jpeglib12.h jmorecfg12.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h jpegint12.h jerror12.h diff --git a/dcmjpeg/libijg12/Makefile.in b/dcmjpeg/libijg12/Makefile.in index d066023f..3f3a015f 100644 --- a/dcmjpeg/libijg12/Makefile.in +++ b/dcmjpeg/libijg12/Makefile.in @@ -29,7 +29,7 @@ objs = jcomapi.o jcodec.o jutils.o jerror.o jmemmgr.o \ jdpred.o jdscale.o jddiffct.o jdmainct.o jdcoefct.o \ jdpostct.o jddctmgr.o jidctfst.o jidctflt.o jidctint.o \ jidctred.o jdsample.o jdcolor.o jquant1.o jquant2.o \ - jdmerge.o jcarith.o jdarith.o jaricom.o + jdmerge.o jcarith.o jdarith.o library = libijg12.$(LIBEXT) diff --git a/dcmjpeg/libijg12/jaricom.c b/dcmjpeg/libijg12/jaricom.c deleted file mode 100644 index 207e692f..00000000 --- a/dcmjpeg/libijg12/jaricom.c +++ /dev/null @@ -1,15 +0,0 @@ -/* - * jaricom.c - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file holds place for arithmetic entropy codec tables. - */ - -#define JPEG_INTERNALS -#include "jinclude12.h" -#include "jpeglib12.h" - -IJG_INT32 jaritab[1]; /* dummy table */ diff --git a/dcmjpeg/libijg12/jchuff12.h b/dcmjpeg/libijg12/jchuff12.h index addfb3ff..e8270581 100644 --- a/dcmjpeg/libijg12/jchuff12.h +++ b/dcmjpeg/libijg12/jchuff12.h @@ -40,8 +40,8 @@ typedef struct { /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_make_c_derived_tbl jpeg12_make_c_derived_tbl -#define jpeg_gen_optimal_table jpeg12_gen_optimal_table +#define jpeg_make_c_derived_tbl dcmtk_jpeg12_make_c_derived_tbl +#define jpeg_gen_optimal_table dcmtk_jpeg12_gen_optimal_table #endif /* NEED_SHORT_EXTERNAL_NAMES */ /* Expand a Huffman table definition into the derived format */ diff --git a/dcmjpeg/libijg12/jconfig12.h b/dcmjpeg/libijg12/jconfig12.h index 4dd87d61..a6fcb5dd 100644 --- a/dcmjpeg/libijg12/jconfig12.h +++ b/dcmjpeg/libijg12/jconfig12.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2010, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -34,20 +34,10 @@ /* the following settings are derived from osconfig.h */ -#ifndef HAVE_C_CONST -#define const -#endif - #ifdef C_CHAR_UNSIGNED #define CHAR_IS_UNSIGNED #endif -#ifdef HAVE_STRINGS_H -#ifndef HAVE_STRING_H -#define NEED_BSD_STRINGS -#endif -#endif - #ifdef HAVE_SYS_TYPES_H #define NEED_SYS_TYPES_H #endif @@ -61,7 +51,7 @@ #define RIGHT_SHIFT_IS_UNSIGNED #endif -#define INLINE C_INLINE +#define INLINE __inline /* These are for configuring the JPEG memory manager. */ #undef DEFAULT_MAX_MEM diff --git a/dcmjpeg/libijg12/jdct12.h b/dcmjpeg/libijg12/jdct12.h index 4eb9b0aa..04442c81 100644 --- a/dcmjpeg/libijg12/jdct12.h +++ b/dcmjpeg/libijg12/jdct12.h @@ -81,15 +81,15 @@ typedef FAST_FLOAT FLOAT_MULT_TYPE; /* preferred floating type */ /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_fdct_islow jpeg12_fdct_islow -#define jpeg_fdct_ifast jpeg12_fdct_ifast -#define jpeg_fdct_float jpeg12_fdct_float -#define jpeg_idct_islow jpeg12_idct_islow -#define jpeg_idct_ifast jpeg12_idct_ifast -#define jpeg_idct_float jpeg12_idct_float -#define jpeg_idct_4x4 jpeg12_idct_4x4 -#define jpeg_idct_2x2 jpeg12_idct_2x2 -#define jpeg_idct_1x1 jpeg12_idct_1x1 +#define jpeg_fdct_islow dcmtk_jpeg12_fdct_islow +#define jpeg_fdct_ifast dcmtk_jpeg12_fdct_ifast +#define jpeg_fdct_float dcmtk_jpeg12_fdct_float +#define jpeg_idct_islow dcmtk_jpeg12_idct_islow +#define jpeg_idct_ifast dcmtk_jpeg12_idct_ifast +#define jpeg_idct_float dcmtk_jpeg12_idct_float +#define jpeg_idct_4x4 dcmtk_jpeg12_idct_4x4 +#define jpeg_idct_2x2 dcmtk_jpeg12_idct_2x2 +#define jpeg_idct_1x1 dcmtk_jpeg12_idct_1x1 #endif /* NEED_SHORT_EXTERNAL_NAMES */ /* Extern declarations for the forward and inverse DCT routines. */ diff --git a/dcmjpeg/libijg12/jdhuff12.h b/dcmjpeg/libijg12/jdhuff12.h index b84c0921..ed08f7eb 100644 --- a/dcmjpeg/libijg12/jdhuff12.h +++ b/dcmjpeg/libijg12/jdhuff12.h @@ -14,9 +14,9 @@ /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_make_d_derived_tbl jpeg12_make_d_derived_tbl -#define jpeg_fill_bit_buffer jpeg12_fill_bit_buffer -#define jpeg_huff_decode jpeg12_huff_decode +#define jpeg_make_d_derived_tbl dcmtk_jpeg12_make_d_derived_tbl +#define jpeg_fill_bit_buffer dcmtk_jpeg12_fill_bit_buffer +#define jpeg_huff_decode dcmtk_jpeg12_huff_decode #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libijg12/jerror.c b/dcmjpeg/libijg12/jerror.c index da5c14db..f564f09b 100644 --- a/dcmjpeg/libijg12/jerror.c +++ b/dcmjpeg/libijg12/jerror.c @@ -23,13 +23,14 @@ #include "jpeglib12.h" #include "jversion12.h" #include "jerror12.h" +#include "jconfig12.h" #ifdef USE_WINDOWS_MESSAGEBOX #define WIN32_LEAN_AND_MEAN #include #endif -#ifndef EXIT_FAILURE /* define exit() codes if not provided */ +#ifndef EXIT_FAILURE /* define exit() codes if not provided */ #define EXIT_FAILURE 1 #endif @@ -43,10 +44,10 @@ */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_std_message_table jpeg12_std_message_table +#define jpeg_std_message_table jpeg12_std_message_table #endif -#define JMESSAGE(code,string) string , +#define JMESSAGE(code,string) string , const char * const jpeg_std_message_table[] = { #include "jerror12.h" @@ -106,7 +107,7 @@ output_message (j_common_ptr cinfo) #ifdef USE_WINDOWS_MESSAGEBOX /* Display it in a message dialog box */ MessageBox(GetActiveWindow(), buffer, "JPEG Library Error", - MB_OK | MB_ICONERROR); + MB_OK | MB_ICONERROR); #else /* Send it to stderr, adding a newline */ fprintf(stderr, "%s\n", buffer); @@ -168,8 +169,8 @@ format_message (j_common_ptr cinfo, char * buffer) if (msg_code > 0 && msg_code <= err->last_jpeg_message) { msgtext = err->jpeg_message_table[msg_code]; } else if (err->addon_message_table != NULL && - msg_code >= err->first_addon_message && - msg_code <= err->last_addon_message) { + msg_code >= err->first_addon_message && + msg_code <= err->last_addon_message) { msgtext = err->addon_message_table[msg_code - err->first_addon_message]; } @@ -190,14 +191,25 @@ format_message (j_common_ptr cinfo, char * buffer) } /* Format the message into the passed buffer */ +#ifdef HAVE_VSNPRINTF + if (isstring) + snprintf(buffer, JMSG_LENGTH_MAX, msgtext, err->msg_parm.s); + else + snprintf(buffer, JMSG_LENGTH_MAX, msgtext, + err->msg_parm.i[0], err->msg_parm.i[1], + err->msg_parm.i[2], err->msg_parm.i[3], + err->msg_parm.i[4], err->msg_parm.i[5], + err->msg_parm.i[6], err->msg_parm.i[7]); +#else /* HAVE_VSNPRINTF */ if (isstring) sprintf(buffer, msgtext, err->msg_parm.s); else sprintf(buffer, msgtext, - err->msg_parm.i[0], err->msg_parm.i[1], - err->msg_parm.i[2], err->msg_parm.i[3], - err->msg_parm.i[4], err->msg_parm.i[5], - err->msg_parm.i[6], err->msg_parm.i[7]); + err->msg_parm.i[0], err->msg_parm.i[1], + err->msg_parm.i[2], err->msg_parm.i[3], + err->msg_parm.i[4], err->msg_parm.i[5], + err->msg_parm.i[6], err->msg_parm.i[7]); +#endif /* HAVE_VSNPRINTF */ } @@ -214,17 +226,17 @@ reset_error_mgr (j_common_ptr cinfo) { cinfo->err->num_warnings = 0; /* trace_level is not reset since it is an application-supplied parameter */ - cinfo->err->msg_code = 0; /* may be useful as a flag for "no error" */ + cinfo->err->msg_code = 0; /* may be useful as a flag for "no error" */ } /* * Fill in the standard error-handling methods in a jpeg_error_mgr object. * Typical call is: - * struct jpeg_compress_struct cinfo; - * struct jpeg_error_mgr err; + * struct jpeg_compress_struct cinfo; + * struct jpeg_error_mgr err; * - * cinfo.err = jpeg_std_error(&err); + * cinfo.err = jpeg_std_error(&err); * after which the application may override some of the methods. */ @@ -237,16 +249,16 @@ jpeg_std_error (struct jpeg_error_mgr * err) err->format_message = format_message; err->reset_error_mgr = reset_error_mgr; - err->trace_level = 0; /* default = no tracing */ - err->num_warnings = 0; /* no warnings emitted yet */ - err->msg_code = 0; /* may be useful as a flag for "no error" */ + err->trace_level = 0; /* default = no tracing */ + err->num_warnings = 0; /* no warnings emitted yet */ + err->msg_code = 0; /* may be useful as a flag for "no error" */ /* Initialize message table pointers */ err->jpeg_message_table = jpeg_std_message_table; err->last_jpeg_message = (int) JMSG_LASTMSGCODE - 1; err->addon_message_table = NULL; - err->first_addon_message = 0; /* for safety */ + err->first_addon_message = 0; /* for safety */ err->last_addon_message = 0; return err; diff --git a/dcmjpeg/libijg12/jinclude12.h b/dcmjpeg/libijg12/jinclude12.h index f9ac222b..409a8595 100644 --- a/dcmjpeg/libijg12/jinclude12.h +++ b/dcmjpeg/libijg12/jinclude12.h @@ -31,13 +31,8 @@ * You can remove those references if you want to compile without . */ -#ifdef HAVE_STDDEF_H #include -#endif - -#ifdef HAVE_STDLIB_H #include -#endif #ifdef NEED_SYS_TYPES_H #include diff --git a/dcmjpeg/libijg12/jmemmgr.c b/dcmjpeg/libijg12/jmemmgr.c index f71ccd81..f4134aca 100644 --- a/dcmjpeg/libijg12/jmemmgr.c +++ b/dcmjpeg/libijg12/jmemmgr.c @@ -31,12 +31,6 @@ #include "jmemsys12.h" /* import the system-dependent declarations */ #include "dcmtk/ofstd/ofdiag.h" /* for DCMTK_DIAGNOSTIC macros */ -#ifndef NO_GETENV -#ifndef HAVE_STDLIB_H /* should declare getenv() */ -extern char * getenv JPP((const char * name)); -#endif -#endif - /* * Some important notes: diff --git a/dcmjpeg/libijg12/jmemnobs.c b/dcmjpeg/libijg12/jmemnobs.c index 6a3d0839..3b1cb31d 100644 --- a/dcmjpeg/libijg12/jmemnobs.c +++ b/dcmjpeg/libijg12/jmemnobs.c @@ -20,11 +20,6 @@ #include "jpeglib12.h" #include "jmemsys12.h" /* import the system-dependent declarations */ -#ifndef HAVE_STDLIB_H /* should declare malloc(),free() */ -extern void * malloc JPP((size_t size)); -extern void free JPP((void *ptr)); -#endif - /* * Memory allocation and freeing are controlled by the regular library diff --git a/dcmjpeg/libijg12/jmemsys12.h b/dcmjpeg/libijg12/jmemsys12.h index 0e8daca4..b16f5215 100644 --- a/dcmjpeg/libijg12/jmemsys12.h +++ b/dcmjpeg/libijg12/jmemsys12.h @@ -22,14 +22,14 @@ /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_get_small jpeg12_get_small -#define jpeg_free_small jpeg12_free_small -#define jpeg_get_large jpeg12_get_large -#define jpeg_free_large jpeg12_free_large -#define jpeg_mem_available jpeg12_mem_available -#define jpeg_open_backing_store jpeg12_open_backing_store -#define jpeg_mem_init jpeg12_mem_init -#define jpeg_mem_term jpeg12_mem_term +#define jpeg_get_small dcmtk_jpeg12_get_small +#define jpeg_free_small dcmtk_jpeg12_free_small +#define jpeg_get_large dcmtk_jpeg12_get_large +#define jpeg_free_large dcmtk_jpeg12_free_large +#define jpeg_mem_available dcmtk_jpeg12_mem_available +#define jpeg_open_backing_store dcmtk_jpeg12_open_backing_store +#define jpeg_mem_init dcmtk_jpeg12_mem_init +#define jpeg_mem_term dcmtk_jpeg12_mem_term #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libijg12/jpegint12.h b/dcmjpeg/libijg12/jpegint12.h index d47b3264..14852189 100644 --- a/dcmjpeg/libijg12/jpegint12.h +++ b/dcmjpeg/libijg12/jpegint12.h @@ -256,56 +256,56 @@ struct jpeg_color_quantizer { /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jinit_c_codec jinit12_c_codec -#define jinit_c_diff_controller jinit12_c_diff_controller -#define jinit_lossy_c_codec jinit12_lossy_c_codec -#define jinit_lossless_c_codec jinit12_lossless_c_codec -#define jinit_compress_master jinit12_compress_master -#define jinit_c_master_control jinit12_c_master_control -#define jinit_c_main_controller jinit12_c_main_controller -#define jinit_c_prep_controller jinit12_c_prep_controller -#define jinit_c_coef_controller jinit12_c_coef_controller -#define jinit_color_converter jinit12_color_converter -#define jinit_downsampler jinit12_downsampler -#define jinit_forward_dct jinit12_forward_dct -#define jinit_shuff_encoder jinit12_shuff_encoder -#define jinit_phuff_encoder jinit12_phuff_encoder +#define jinit_c_codec dcmtk_jinit12_c_codec +#define jinit_c_diff_controller dcmtk_jinit12_c_diff_controller +#define jinit_lossy_c_codec dcmtk_jinit12_lossy_c_codec +#define jinit_lossless_c_codec dcmtk_jinit12_lossless_c_codec +#define jinit_compress_master dcmtk_jinit12_compress_master +#define jinit_c_master_control dcmtk_jinit12_c_master_control +#define jinit_c_main_controller dcmtk_jinit12_c_main_controller +#define jinit_c_prep_controller dcmtk_jinit12_c_prep_controller +#define jinit_c_coef_controller dcmtk_jinit12_c_coef_controller +#define jinit_color_converter dcmtk_jinit12_color_converter +#define jinit_downsampler dcmtk_jinit12_downsampler +#define jinit_forward_dct dcmtk_jinit12_forward_dct +#define jinit_shuff_encoder dcmtk_jinit12_shuff_encoder +#define jinit_phuff_encoder dcmtk_jinit12_phuff_encoder #ifdef WITH_ARITHMETIC_PATCH -#define jinit_arith_encoder jinit12_arith_encoder +#define jinit_arith_encoder dcmtk_jinit12_arith_encoder #endif -#define jinit_marker_writer jinit12_marker_writer -#define jinit_d_codec jinit12_d_codec -#define jinit_lossy_d_codec jinit12_lossy_d_codec -#define jinit_lossless_d_codec jinit12_lossless_d_codec -#define jinit_master_decompress jinit12_master_decompress -#define jinit_d_main_controller jinit12_d_main_controller -#define jinit_d_coef_controller jinit12_d_coef_controller -#define jinit_d_diff_controller jinit12_d_diff_controller -#define jinit_d_post_controller jinit12_d_post_controller -#define jinit_input_controller jinit12_input_controller -#define jinit_marker_reader jinit12_marker_reader -#define jinit_shuff_decoder jinit12_shuff_decoder -#define jinit_phuff_decoder jinit12_phuff_decoder +#define jinit_marker_writer dcmtk_jinit12_marker_writer +#define jinit_d_codec dcmtk_jinit12_d_codec +#define jinit_lossy_d_codec dcmtk_jinit12_lossy_d_codec +#define jinit_lossless_d_codec dcmtk_jinit12_lossless_d_codec +#define jinit_master_decompress dcmtk_jinit12_master_decompress +#define jinit_d_main_controller dcmtk_jinit12_d_main_controller +#define jinit_d_coef_controller dcmtk_jinit12_d_coef_controller +#define jinit_d_diff_controller dcmtk_jinit12_d_diff_controller +#define jinit_d_post_controller dcmtk_jinit12_d_post_controller +#define jinit_input_controller dcmtk_jinit12_input_controller +#define jinit_marker_reader dcmtk_jinit12_marker_reader +#define jinit_shuff_decoder dcmtk_jinit12_shuff_decoder +#define jinit_phuff_decoder dcmtk_jinit12_phuff_decoder #ifdef WITH_ARITHMETIC_PATCH -#define jinit_arith_decoder jinit12_arith_decoder +#define jinit_arith_decoder dcmtk_jinit12_arith_decoder #endif -#define jinit_lhuff_decoder jinit12_lhuff_decoder -#define jinit_undifferencer jinit12_undifferencer -#define jinit_d_scaler jinit12_d_scaler -#define jinit_inverse_dct jinit12_inverse_dct -#define jinit_upsampler jinit12_upsampler -#define jinit_color_deconverter jinit12_color_deconverter -#define jinit_1pass_quantizer jinit12_1pass_quantizer -#define jinit_2pass_quantizer jinit12_2pass_quantizer -#define jinit_merged_upsampler jinit12_merged_upsampler -#define jinit_memory_mgr jinit12_memory_mgr -#define jdiv_round_up jdiv12_round_up -#define jround_up jround12_up -#define jcopy_sample_rows jcopy12_sample_rows -#define jcopy_block_row jcopy12_block_row -#define jzero_far jzero12_far -#define jpeg_zigzag_order jpeg12_zigzag_order -#define jpeg_natural_order jpeg12_natural_order +#define jinit_lhuff_decoder dcmtk_jinit12_lhuff_decoder +#define jinit_undifferencer dcmtk_jinit12_undifferencer +#define jinit_d_scaler dcmtk_jinit12_d_scaler +#define jinit_inverse_dct dcmtk_jinit12_inverse_dct +#define jinit_upsampler dcmtk_jinit12_upsampler +#define jinit_color_deconverter dcmtk_jinit12_color_deconverter +#define jinit_1pass_quantizer dcmtk_jinit12_1pass_quantizer +#define jinit_2pass_quantizer dcmtk_jinit12_2pass_quantizer +#define jinit_merged_upsampler dcmtk_jinit12_merged_upsampler +#define jinit_memory_mgr dcmtk_jinit12_memory_mgr +#define jdiv_round_up dcmtk_jdiv12_round_up +#define jround_up dcmtk_jround12_up +#define jcopy_sample_rows dcmtk_jcopy12_sample_rows +#define jcopy_block_row dcmtk_jcopy12_block_row +#define jzero_far dcmtk_jzero12_far +#define jpeg_zigzag_order dcmtk_jpeg12_zigzag_order +#define jpeg_natural_order dcmtk_jpeg12_natural_order #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libijg12/jpeglib12.h b/dcmjpeg/libijg12/jpeglib12.h index d7cf4420..5597bc0a 100644 --- a/dcmjpeg/libijg12/jpeglib12.h +++ b/dcmjpeg/libijg12/jpeglib12.h @@ -58,6 +58,16 @@ #define D_MAX_DATA_UNITS_IN_MCU 10 /* decompressor's limit on data units/MCU */ #endif +#ifdef NEED_SHORT_EXTERNAL_NAMES +#define jpeg_decompress_struct dcmtk_jpeg12_decompress_struct +#define jpeg_source_mgr dcmtk_jpeg12_source_mgr +#define jpeg_memory_mgr dcmtk_jpeg12_memory_mgr +#define jpeg_common_struct dcmtk_jpeg12_common_struct +#define jpeg_error_mgr dcmtk_jpeg12_error_mgr +#define jpeg_compress_struct dcmtk_jpeg12_compress_struct +#define j_compress_ptr dcmtk_j12_compress_ptr +#define jpeg_destination_mgr dcmtk_jpeg12_destination_mgr +#endif /* Data structures for images (arrays of samples and of DCT coefficients). * On 80x86 machines, the image arrays are too big for near pointers, @@ -860,125 +870,125 @@ typedef JMETHOD(boolean, jpeg_marker_parser_method, (j_decompress_ptr cinfo)); /* MAKE SURE THAT ALL FUNCTIONS DECLARED GLOBAL() ARE RE-DEFINED HERE! */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jcopy_block_row jcopy12_block_row -#define jcopy_sample_rows jcopy12_sample_rows -#define jdiv_round_up jdiv12_round_up -#define jinit_1pass_quantizer jinit12_1pass_quantizer -#define jinit_2pass_quantizer jinit12_2pass_quantizer -#define jinit_arith_decoder jinit12_arith_decoder -#define jinit_arith_encoder jinit12_arith_encoder -#define jinit_c_codec jinit12_c_codec -#define jinit_c_coef_controller jinit12_c_coef_controller -#define jinit_c_diff_controller jinit12_c_diff_controller -#define jinit_c_main_controller jinit12_c_main_controller -#define jinit_c_master_control jinit12_c_master_control -#define jinit_c_prep_controller jinit12_c_prep_controller -#define jinit_c_scaler jinit12_c_scaler -#define jinit_color_converter jinit12_color_converter -#define jinit_color_deconverter jinit12_color_deconverter -#define jinit_compress_master jinit12_compress_master -#define jinit_d_codec jinit12_d_codec -#define jinit_d_coef_controller jinit12_d_coef_controller -#define jinit_d_diff_controller jinit12_d_diff_controller -#define jinit_d_main_controller jinit12_d_main_controller -#define jinit_d_post_controller jinit12_d_post_controller -#define jinit_d_post_controller jinit12_d_post_controller -#define jinit_d_scaler jinit12_d_scaler -#define jinit_differencer jinit12_differencer -#define jinit_downsampler jinit12_downsampler -#define jinit_forward_dct jinit12_forward_dct -#define jinit_input_controller jinit12_input_controller -#define jinit_inverse_dct jinit12_inverse_dct -#define jinit_lhuff_decoder jinit12_lhuff_decoder -#define jinit_lhuff_encoder jinit12_lhuff_encoder -#define jinit_lossless_c_codec jinit12_lossless_c_codec -#define jinit_lossless_d_codec jinit12_lossless_d_codec -#define jinit_lossy_c_codec jinit12_lossy_c_codec -#define jinit_lossy_d_codec jinit12_lossy_d_codec -#define jinit_marker_reader jinit12_marker_reader -#define jinit_marker_writer jinit12_marker_writer -#define jinit_master_decompress jinit12_master_decompress -#define jinit_memory_mgr jinit12_memory_mgr -#define jinit_merged_upsampler jinit12_merged_upsampler -#define jinit_phuff_decoder jinit12_phuff_decoder -#define jinit_phuff_encoder jinit12_phuff_encoder -#define jinit_shuff_decoder jinit12_shuff_decoder -#define jinit_shuff_encoder jinit12_shuff_encoder -#define jinit_undifferencer jinit12_undifferencer -#define jinit_upsampler jinit12_upsampler -#define jpeg_CreateCompress jpeg12_CreateCompress -#define jpeg_CreateDecompress jpeg12_CreateDecompress -#define jpeg_abort jpeg12_abort -#define jpeg_abort_compress jpeg12_abort_compress -#define jpeg_abort_decompress jpeg12_abort_decompress -#define jpeg_add_quant_table jpeg12_add_quant_table -#define jpeg_alloc_huff_table jpeg12_alloc_huff_table -#define jpeg_alloc_quant_table jpeg12_alloc_quant_table -#define jpeg_calc_output_dimensions jpeg12_calc_output_dimensions -#define jpeg_consume_input jpeg12_consume_input -#define jpeg_copy_critical_parameters jpeg12_copy_critical_parameters -#define jpeg_default_colorspace jpeg12_default_colorspace -#define jpeg_destroy jpeg12_destroy -#define jpeg_destroy_compress jpeg12_destroy_compress -#define jpeg_destroy_decompress jpeg12_destroy_decompress -#define jpeg_fdct_float jpeg12_fdct_float -#define jpeg_fdct_ifast jpeg12_fdct_ifast -#define jpeg_fdct_islow jpeg12_fdct_islow -#define jpeg_fill_bit_buffer jpeg12_fill_bit_buffer -#define jpeg_finish_compress jpeg12_finish_compress -#define jpeg_finish_decompress jpeg12_finish_decompress -#define jpeg_finish_output jpeg12_finish_output -#define jpeg_free_large jpeg12_free_large -#define jpeg_free_small jpeg12_free_small -#define jpeg_gen_optimal_table jpeg12_gen_optimal_table -#define jpeg_get_large jpeg12_get_large -#define jpeg_get_small jpeg12_get_small -#define jpeg_has_multiple_scans jpeg12_has_multiple_scans -#define jpeg_huff_decode jpeg12_huff_decode -#define jpeg_idct_1x1 jpeg12_idct_1x1 -#define jpeg_idct_2x2 jpeg12_idct_2x2 -#define jpeg_idct_4x4 jpeg12_idct_4x4 -#define jpeg_idct_float jpeg12_idct_float -#define jpeg_idct_ifast jpeg12_idct_ifast -#define jpeg_idct_islow jpeg12_idct_islow -#define jpeg_input_complete jpeg12_input_complete -#define jpeg_make_c_derived_tbl jpeg12_make_c_derived_tbl -#define jpeg_make_d_derived_tbl jpeg12_make_d_derived_tbl -#define jpeg_mem_available jpeg12_mem_available -#define jpeg_mem_init jpeg12_mem_init -#define jpeg_mem_term jpeg12_mem_term -#define jpeg_new_colormap jpeg12_new_colormap -#define jpeg_open_backing_store jpeg12_open_backing_store -#define jpeg_quality_scaling jpeg12_quality_scaling -#define jpeg_read_coefficients jpeg12_read_coefficients -#define jpeg_read_header jpeg12_read_header -#define jpeg_read_raw_data jpeg12_read_raw_data -#define jpeg_read_scanlines jpeg12_read_scanlines -#define jpeg_resync_to_restart jpeg12_resync_to_restart -#define jpeg_save_markers jpeg12_save_markers -#define jpeg_set_colorspace jpeg12_set_colorspace -#define jpeg_set_defaults jpeg12_set_defaults -#define jpeg_set_linear_quality jpeg12_set_linear_quality -#define jpeg_set_marker_processor jpeg12_set_marker_processor -#define jpeg_set_quality jpeg12_set_quality -#define jpeg_simple_lossless jpeg12_simple_lossless -#define jpeg_simple_progression jpeg12_simple_progression -#define jpeg_start_compress jpeg12_start_compress -#define jpeg_start_decompress jpeg12_start_decompress -#define jpeg_start_output jpeg12_start_output -#define jpeg_std_error jpeg12_std_error -#define jpeg_stdio_dest jpeg12_stdio_dest -#define jpeg_stdio_src jpeg12_stdio_src -#define jpeg_suppress_tables jpeg12_suppress_tables -#define jpeg_write_coefficients jpeg12_write_coefficients -#define jpeg_write_m_byte jpeg12_write_m_byte -#define jpeg_write_m_header jpeg12_write_m_header -#define jpeg_write_marker jpeg12_write_marker -#define jpeg_write_raw_data jpeg12_write_raw_data -#define jpeg_write_scanlines jpeg12_write_scanlines -#define jpeg_write_tables jpeg12_write_tables -#define jround_up jround12_up -#define jzero_far jzero12_far +#define jcopy_block_row dcmtk_jcopy12_block_row +#define jcopy_sample_rows dcmtk_jcopy12_sample_rows +#define jdiv_round_up dcmtk_jdiv12_round_up +#define jinit_1pass_quantizer dcmtk_jinit12_1pass_quantizer +#define jinit_2pass_quantizer dcmtk_jinit12_2pass_quantizer +#define jinit_arith_decoder dcmtk_jinit12_arith_decoder +#define jinit_arith_encoder dcmtk_jinit12_arith_encoder +#define jinit_c_codec dcmtk_jinit12_c_codec +#define jinit_c_coef_controller dcmtk_jinit12_c_coef_controller +#define jinit_c_diff_controller dcmtk_jinit12_c_diff_controller +#define jinit_c_main_controller dcmtk_jinit12_c_main_controller +#define jinit_c_master_control dcmtk_jinit12_c_master_control +#define jinit_c_prep_controller dcmtk_jinit12_c_prep_controller +#define jinit_c_scaler dcmtk_jinit12_c_scaler +#define jinit_color_converter dcmtk_jinit12_color_converter +#define jinit_color_deconverter dcmtk_jinit12_color_deconverter +#define jinit_compress_master dcmtk_jinit12_compress_master +#define jinit_d_codec dcmtk_jinit12_d_codec +#define jinit_d_coef_controller dcmtk_jinit12_d_coef_controller +#define jinit_d_diff_controller dcmtk_jinit12_d_diff_controller +#define jinit_d_main_controller dcmtk_jinit12_d_main_controller +#define jinit_d_post_controller dcmtk_jinit12_d_post_controller +#define jinit_d_post_controller dcmtk_jinit12_d_post_controller +#define jinit_d_scaler dcmtk_jinit12_d_scaler +#define jinit_differencer dcmtk_jinit12_differencer +#define jinit_downsampler dcmtk_jinit12_downsampler +#define jinit_forward_dct dcmtk_jinit12_forward_dct +#define jinit_input_controller dcmtk_jinit12_input_controller +#define jinit_inverse_dct dcmtk_jinit12_inverse_dct +#define jinit_lhuff_decoder dcmtk_jinit12_lhuff_decoder +#define jinit_lhuff_encoder dcmtk_jinit12_lhuff_encoder +#define jinit_lossless_c_codec dcmtk_jinit12_lossless_c_codec +#define jinit_lossless_d_codec dcmtk_jinit12_lossless_d_codec +#define jinit_lossy_c_codec dcmtk_jinit12_lossy_c_codec +#define jinit_lossy_d_codec dcmtk_jinit12_lossy_d_codec +#define jinit_marker_reader dcmtk_jinit12_marker_reader +#define jinit_marker_writer dcmtk_jinit12_marker_writer +#define jinit_master_decompress dcmtk_jinit12_master_decompress +#define jinit_memory_mgr dcmtk_jinit12_memory_mgr +#define jinit_merged_upsampler dcmtk_jinit12_merged_upsampler +#define jinit_phuff_decoder dcmtk_jinit12_phuff_decoder +#define jinit_phuff_encoder dcmtk_jinit12_phuff_encoder +#define jinit_shuff_decoder dcmtk_jinit12_shuff_decoder +#define jinit_shuff_encoder dcmtk_jinit12_shuff_encoder +#define jinit_undifferencer dcmtk_jinit12_undifferencer +#define jinit_upsampler dcmtk_jinit12_upsampler +#define jpeg_CreateCompress dcmtk_jpeg12_CreateCompress +#define jpeg_CreateDecompress dcmtk_jpeg12_CreateDecompress +#define jpeg_abort dcmtk_jpeg12_abort +#define jpeg_abort_compress dcmtk_jpeg12_abort_compress +#define jpeg_abort_decompress dcmtk_jpeg12_abort_decompress +#define jpeg_add_quant_table dcmtk_jpeg12_add_quant_table +#define jpeg_alloc_huff_table dcmtk_jpeg12_alloc_huff_table +#define jpeg_alloc_quant_table dcmtk_jpeg12_alloc_quant_table +#define jpeg_calc_output_dimensions dcmtk_jpeg12_calc_output_dimensions +#define jpeg_consume_input dcmtk_jpeg12_consume_input +#define jpeg_copy_critical_parameters dcmtk_jpeg12_copy_critical_parameters +#define jpeg_default_colorspace dcmtk_jpeg12_default_colorspace +#define jpeg_destroy dcmtk_jpeg12_destroy +#define jpeg_destroy_compress dcmtk_jpeg12_destroy_compress +#define jpeg_destroy_decompress dcmtk_jpeg12_destroy_decompress +#define jpeg_fdct_float dcmtk_jpeg12_fdct_float +#define jpeg_fdct_ifast dcmtk_jpeg12_fdct_ifast +#define jpeg_fdct_islow dcmtk_jpeg12_fdct_islow +#define jpeg_fill_bit_buffer dcmtk_jpeg12_fill_bit_buffer +#define jpeg_finish_compress dcmtk_jpeg12_finish_compress +#define jpeg_finish_decompress dcmtk_jpeg12_finish_decompress +#define jpeg_finish_output dcmtk_jpeg12_finish_output +#define jpeg_free_large dcmtk_jpeg12_free_large +#define jpeg_free_small dcmtk_jpeg12_free_small +#define jpeg_gen_optimal_table dcmtk_jpeg12_gen_optimal_table +#define jpeg_get_large dcmtk_jpeg12_get_large +#define jpeg_get_small dcmtk_jpeg12_get_small +#define jpeg_has_multiple_scans dcmtk_jpeg12_has_multiple_scans +#define jpeg_huff_decode dcmtk_jpeg12_huff_decode +#define jpeg_idct_1x1 dcmtk_jpeg12_idct_1x1 +#define jpeg_idct_2x2 dcmtk_jpeg12_idct_2x2 +#define jpeg_idct_4x4 dcmtk_jpeg12_idct_4x4 +#define jpeg_idct_float dcmtk_jpeg12_idct_float +#define jpeg_idct_ifast dcmtk_jpeg12_idct_ifast +#define jpeg_idct_islow dcmtk_jpeg12_idct_islow +#define jpeg_input_complete dcmtk_jpeg12_input_complete +#define jpeg_make_c_derived_tbl dcmtk_jpeg12_make_c_derived_tbl +#define jpeg_make_d_derived_tbl dcmtk_jpeg12_make_d_derived_tbl +#define jpeg_mem_available dcmtk_jpeg12_mem_available +#define jpeg_mem_init dcmtk_jpeg12_mem_init +#define jpeg_mem_term dcmtk_jpeg12_mem_term +#define jpeg_new_colormap dcmtk_jpeg12_new_colormap +#define jpeg_open_backing_store dcmtk_jpeg12_open_backing_store +#define jpeg_quality_scaling dcmtk_jpeg12_quality_scaling +#define jpeg_read_coefficients dcmtk_jpeg12_read_coefficients +#define jpeg_read_header dcmtk_jpeg12_read_header +#define jpeg_read_raw_data dcmtk_jpeg12_read_raw_data +#define jpeg_read_scanlines dcmtk_jpeg12_read_scanlines +#define jpeg_resync_to_restart dcmtk_jpeg12_resync_to_restart +#define jpeg_save_markers dcmtk_jpeg12_save_markers +#define jpeg_set_colorspace dcmtk_jpeg12_set_colorspace +#define jpeg_set_defaults dcmtk_jpeg12_set_defaults +#define jpeg_set_linear_quality dcmtk_jpeg12_set_linear_quality +#define jpeg_set_marker_processor dcmtk_jpeg12_set_marker_processor +#define jpeg_set_quality dcmtk_jpeg12_set_quality +#define jpeg_simple_lossless dcmtk_jpeg12_simple_lossless +#define jpeg_simple_progression dcmtk_jpeg12_simple_progression +#define jpeg_start_compress dcmtk_jpeg12_start_compress +#define jpeg_start_decompress dcmtk_jpeg12_start_decompress +#define jpeg_start_output dcmtk_jpeg12_start_output +#define jpeg_std_error dcmtk_jpeg12_std_error +#define jpeg_stdio_dest dcmtk_jpeg12_stdio_dest +#define jpeg_stdio_src dcmtk_jpeg12_stdio_src +#define jpeg_suppress_tables dcmtk_jpeg12_suppress_tables +#define jpeg_write_coefficients dcmtk_jpeg12_write_coefficients +#define jpeg_write_m_byte dcmtk_jpeg12_write_m_byte +#define jpeg_write_m_header dcmtk_jpeg12_write_m_header +#define jpeg_write_marker dcmtk_jpeg12_write_marker +#define jpeg_write_raw_data dcmtk_jpeg12_write_raw_data +#define jpeg_write_scanlines dcmtk_jpeg12_write_scanlines +#define jpeg_write_tables dcmtk_jpeg12_write_tables +#define jround_up dcmtk_jround12_up +#define jzero_far dcmtk_jzero12_far #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libijg16/CMakeLists.txt b/dcmjpeg/libijg16/CMakeLists.txt index 327227b4..e54d0335 100644 --- a/dcmjpeg/libijg16/CMakeLists.txt +++ b/dcmjpeg/libijg16/CMakeLists.txt @@ -1,6 +1,5 @@ # create library from source files DCMTK_ADD_LIBRARY(ijg16 - jaricom.c jcapimin.c jcapistd.c jcarith.c diff --git a/dcmjpeg/libijg16/Makefile.dep b/dcmjpeg/libijg16/Makefile.dep index b1c432d9..c312b749 100644 --- a/dcmjpeg/libijg16/Makefile.dep +++ b/dcmjpeg/libijg16/Makefile.dep @@ -1,6 +1,3 @@ -jaricom.o: jaricom.c jinclude16.h jconfig16.h \ - ../../config/include/dcmtk/config/osconfig.h jpeglib16.h jmorecfg16.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h jpegint16.h jerror16.h jcapimin.o: jcapimin.c jinclude16.h jconfig16.h \ ../../config/include/dcmtk/config/osconfig.h jpeglib16.h jmorecfg16.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h jpegint16.h jerror16.h diff --git a/dcmjpeg/libijg16/Makefile.in b/dcmjpeg/libijg16/Makefile.in index 3b24397a..8a20d67c 100644 --- a/dcmjpeg/libijg16/Makefile.in +++ b/dcmjpeg/libijg16/Makefile.in @@ -29,7 +29,7 @@ objs = jcomapi.o jcodec.o jutils.o jerror.o jmemmgr.o \ jdpred.o jdscale.o jddiffct.o jdmainct.o jdcoefct.o \ jdpostct.o jddctmgr.o jidctfst.o jidctflt.o jidctint.o \ jidctred.o jdsample.o jdcolor.o jquant1.o jquant2.o \ - jdmerge.o jcarith.o jdarith.o jaricom.o + jdmerge.o jcarith.o jdarith.o library = libijg16.$(LIBEXT) diff --git a/dcmjpeg/libijg16/jaricom.c b/dcmjpeg/libijg16/jaricom.c deleted file mode 100644 index 77d4fdc0..00000000 --- a/dcmjpeg/libijg16/jaricom.c +++ /dev/null @@ -1,15 +0,0 @@ -/* - * jaricom.c - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file holds place for arithmetic entropy codec tables. - */ - -#define JPEG_INTERNALS -#include "jinclude16.h" -#include "jpeglib16.h" - -IJG_INT32 jaritab[1]; /* dummy table */ diff --git a/dcmjpeg/libijg16/jccolor.c b/dcmjpeg/libijg16/jccolor.c index ded5cd3a..3cccdd51 100644 --- a/dcmjpeg/libijg16/jccolor.c +++ b/dcmjpeg/libijg16/jccolor.c @@ -20,8 +20,6 @@ typedef long jccolor_sint64; typedef __int64 jccolor_sint64; #elif defined(HAVE_LONG_LONG) typedef long long jccolor_sint64; -#elif defined (HAVE_LONGLONG) -typedef longlong jccolor_sint64; #else #define JCCOLOR_NO_SINT64 #endif diff --git a/dcmjpeg/libijg16/jchuff16.h b/dcmjpeg/libijg16/jchuff16.h index ae20505f..490a640f 100644 --- a/dcmjpeg/libijg16/jchuff16.h +++ b/dcmjpeg/libijg16/jchuff16.h @@ -40,8 +40,8 @@ typedef struct { /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_make_c_derived_tbl jpeg16_make_c_derived_tbl -#define jpeg_gen_optimal_table jpeg16_gen_optimal_table +#define jpeg_make_c_derived_tbl dcmtk_jpeg16_make_c_derived_tbl +#define jpeg_gen_optimal_table dcmtk_jpeg16_gen_optimal_table #endif /* NEED_SHORT_EXTERNAL_NAMES */ /* Expand a Huffman table definition into the derived format */ diff --git a/dcmjpeg/libijg16/jconfig16.h b/dcmjpeg/libijg16/jconfig16.h index 4dd87d61..a6fcb5dd 100644 --- a/dcmjpeg/libijg16/jconfig16.h +++ b/dcmjpeg/libijg16/jconfig16.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2010, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -34,20 +34,10 @@ /* the following settings are derived from osconfig.h */ -#ifndef HAVE_C_CONST -#define const -#endif - #ifdef C_CHAR_UNSIGNED #define CHAR_IS_UNSIGNED #endif -#ifdef HAVE_STRINGS_H -#ifndef HAVE_STRING_H -#define NEED_BSD_STRINGS -#endif -#endif - #ifdef HAVE_SYS_TYPES_H #define NEED_SYS_TYPES_H #endif @@ -61,7 +51,7 @@ #define RIGHT_SHIFT_IS_UNSIGNED #endif -#define INLINE C_INLINE +#define INLINE __inline /* These are for configuring the JPEG memory manager. */ #undef DEFAULT_MAX_MEM diff --git a/dcmjpeg/libijg16/jdct16.h b/dcmjpeg/libijg16/jdct16.h index 447f331a..97b0735e 100644 --- a/dcmjpeg/libijg16/jdct16.h +++ b/dcmjpeg/libijg16/jdct16.h @@ -81,15 +81,15 @@ typedef FAST_FLOAT FLOAT_MULT_TYPE; /* preferred floating type */ /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_fdct_islow jpeg16_fdct_islow -#define jpeg_fdct_ifast jpeg16_fdct_ifast -#define jpeg_fdct_float jpeg16_fdct_float -#define jpeg_idct_islow jpeg16_idct_islow -#define jpeg_idct_ifast jpeg16_idct_ifast -#define jpeg_idct_float jpeg16_idct_float -#define jpeg_idct_4x4 jpeg16_idct_4x4 -#define jpeg_idct_2x2 jpeg16_idct_2x2 -#define jpeg_idct_1x1 jpeg16_idct_1x1 +#define jpeg_fdct_islow dcmtk_jpeg16_fdct_islow +#define jpeg_fdct_ifast dcmtk_jpeg16_fdct_ifast +#define jpeg_fdct_float dcmtk_jpeg16_fdct_float +#define jpeg_idct_islow dcmtk_jpeg16_idct_islow +#define jpeg_idct_ifast dcmtk_jpeg16_idct_ifast +#define jpeg_idct_float dcmtk_jpeg16_idct_float +#define jpeg_idct_4x4 dcmtk_jpeg16_idct_4x4 +#define jpeg_idct_2x2 dcmtk_jpeg16_idct_2x2 +#define jpeg_idct_1x1 dcmtk_jpeg16_idct_1x1 #endif /* NEED_SHORT_EXTERNAL_NAMES */ /* Extern declarations for the forward and inverse DCT routines. */ diff --git a/dcmjpeg/libijg16/jdhuff16.h b/dcmjpeg/libijg16/jdhuff16.h index ad63671e..86dd066e 100644 --- a/dcmjpeg/libijg16/jdhuff16.h +++ b/dcmjpeg/libijg16/jdhuff16.h @@ -14,9 +14,9 @@ /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_make_d_derived_tbl jpeg16_make_d_derived_tbl -#define jpeg_fill_bit_buffer jpeg16_fill_bit_buffer -#define jpeg_huff_decode jpeg16_huff_decode +#define jpeg_make_d_derived_tbl dcmtk_jpeg16_make_d_derived_tbl +#define jpeg_fill_bit_buffer dcmtk_jpeg16_fill_bit_buffer +#define jpeg_huff_decode dcmtk_jpeg16_huff_decode #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libijg16/jdmerge.c b/dcmjpeg/libijg16/jdmerge.c index 3d44869d..66b0f4e8 100644 --- a/dcmjpeg/libijg16/jdmerge.c +++ b/dcmjpeg/libijg16/jdmerge.c @@ -44,8 +44,6 @@ typedef long jdmerge_sint64; typedef __int64 jdmerge_sint64; #elif defined(HAVE_LONG_LONG) typedef long long jdmerge_sint64; -#elif defined (HAVE_LONGLONG) -typedef longlong jdmerge_sint64; #else #define JDMERGE_NO_SINT64 #endif diff --git a/dcmjpeg/libijg16/jerror.c b/dcmjpeg/libijg16/jerror.c index 6b2f29df..1ad6a6e4 100644 --- a/dcmjpeg/libijg16/jerror.c +++ b/dcmjpeg/libijg16/jerror.c @@ -23,13 +23,14 @@ #include "jpeglib16.h" #include "jversion16.h" #include "jerror16.h" +#include "jconfig16.h" #ifdef USE_WINDOWS_MESSAGEBOX #define WIN32_LEAN_AND_MEAN #include #endif -#ifndef EXIT_FAILURE /* define exit() codes if not provided */ +#ifndef EXIT_FAILURE /* define exit() codes if not provided */ #define EXIT_FAILURE 1 #endif @@ -43,10 +44,10 @@ */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_std_message_table jpeg16_std_message_table +#define jpeg_std_message_table jpeg16_std_message_table #endif -#define JMESSAGE(code,string) string , +#define JMESSAGE(code,string) string , const char * const jpeg_std_message_table[] = { #include "jerror16.h" @@ -106,7 +107,7 @@ output_message (j_common_ptr cinfo) #ifdef USE_WINDOWS_MESSAGEBOX /* Display it in a message dialog box */ MessageBox(GetActiveWindow(), buffer, "JPEG Library Error", - MB_OK | MB_ICONERROR); + MB_OK | MB_ICONERROR); #else /* Send it to stderr, adding a newline */ fprintf(stderr, "%s\n", buffer); @@ -168,8 +169,8 @@ format_message (j_common_ptr cinfo, char * buffer) if (msg_code > 0 && msg_code <= err->last_jpeg_message) { msgtext = err->jpeg_message_table[msg_code]; } else if (err->addon_message_table != NULL && - msg_code >= err->first_addon_message && - msg_code <= err->last_addon_message) { + msg_code >= err->first_addon_message && + msg_code <= err->last_addon_message) { msgtext = err->addon_message_table[msg_code - err->first_addon_message]; } @@ -190,14 +191,25 @@ format_message (j_common_ptr cinfo, char * buffer) } /* Format the message into the passed buffer */ +#ifdef HAVE_VSNPRINTF + if (isstring) + snprintf(buffer, JMSG_LENGTH_MAX, msgtext, err->msg_parm.s); + else + snprintf(buffer, JMSG_LENGTH_MAX, msgtext, + err->msg_parm.i[0], err->msg_parm.i[1], + err->msg_parm.i[2], err->msg_parm.i[3], + err->msg_parm.i[4], err->msg_parm.i[5], + err->msg_parm.i[6], err->msg_parm.i[7]); +#else /* HAVE_VSNPRINTF */ if (isstring) sprintf(buffer, msgtext, err->msg_parm.s); else sprintf(buffer, msgtext, - err->msg_parm.i[0], err->msg_parm.i[1], - err->msg_parm.i[2], err->msg_parm.i[3], - err->msg_parm.i[4], err->msg_parm.i[5], - err->msg_parm.i[6], err->msg_parm.i[7]); + err->msg_parm.i[0], err->msg_parm.i[1], + err->msg_parm.i[2], err->msg_parm.i[3], + err->msg_parm.i[4], err->msg_parm.i[5], + err->msg_parm.i[6], err->msg_parm.i[7]); +#endif /* HAVE_VSNPRINTF */ } @@ -214,17 +226,17 @@ reset_error_mgr (j_common_ptr cinfo) { cinfo->err->num_warnings = 0; /* trace_level is not reset since it is an application-supplied parameter */ - cinfo->err->msg_code = 0; /* may be useful as a flag for "no error" */ + cinfo->err->msg_code = 0; /* may be useful as a flag for "no error" */ } /* * Fill in the standard error-handling methods in a jpeg_error_mgr object. * Typical call is: - * struct jpeg_compress_struct cinfo; - * struct jpeg_error_mgr err; + * struct jpeg_compress_struct cinfo; + * struct jpeg_error_mgr err; * - * cinfo.err = jpeg_std_error(&err); + * cinfo.err = jpeg_std_error(&err); * after which the application may override some of the methods. */ @@ -237,16 +249,16 @@ jpeg_std_error (struct jpeg_error_mgr * err) err->format_message = format_message; err->reset_error_mgr = reset_error_mgr; - err->trace_level = 0; /* default = no tracing */ - err->num_warnings = 0; /* no warnings emitted yet */ - err->msg_code = 0; /* may be useful as a flag for "no error" */ + err->trace_level = 0; /* default = no tracing */ + err->num_warnings = 0; /* no warnings emitted yet */ + err->msg_code = 0; /* may be useful as a flag for "no error" */ /* Initialize message table pointers */ err->jpeg_message_table = jpeg_std_message_table; err->last_jpeg_message = (int) JMSG_LASTMSGCODE - 1; err->addon_message_table = NULL; - err->first_addon_message = 0; /* for safety */ + err->first_addon_message = 0; /* for safety */ err->last_addon_message = 0; return err; diff --git a/dcmjpeg/libijg16/jinclude16.h b/dcmjpeg/libijg16/jinclude16.h index d15f5512..f088bb74 100644 --- a/dcmjpeg/libijg16/jinclude16.h +++ b/dcmjpeg/libijg16/jinclude16.h @@ -31,13 +31,8 @@ * You can remove those references if you want to compile without . */ -#ifdef HAVE_STDDEF_H #include -#endif - -#ifdef HAVE_STDLIB_H #include -#endif #ifdef NEED_SYS_TYPES_H #include diff --git a/dcmjpeg/libijg16/jmemmgr.c b/dcmjpeg/libijg16/jmemmgr.c index 14681b57..5bf09e67 100644 --- a/dcmjpeg/libijg16/jmemmgr.c +++ b/dcmjpeg/libijg16/jmemmgr.c @@ -31,12 +31,6 @@ #include "jmemsys16.h" /* import the system-dependent declarations */ #include "dcmtk/ofstd/ofdiag.h" /* for DCMTK_DIAGNOSTIC macros */ -#ifndef NO_GETENV -#ifndef HAVE_STDLIB_H /* should declare getenv() */ -extern char * getenv JPP((const char * name)); -#endif -#endif - /* * Some important notes: diff --git a/dcmjpeg/libijg16/jmemnobs.c b/dcmjpeg/libijg16/jmemnobs.c index 96a249fe..a5bdcc7f 100644 --- a/dcmjpeg/libijg16/jmemnobs.c +++ b/dcmjpeg/libijg16/jmemnobs.c @@ -20,11 +20,6 @@ #include "jpeglib16.h" #include "jmemsys16.h" /* import the system-dependent declarations */ -#ifndef HAVE_STDLIB_H /* should declare malloc(),free() */ -extern void * malloc JPP((size_t size)); -extern void free JPP((void *ptr)); -#endif - /* * Memory allocation and freeing are controlled by the regular library diff --git a/dcmjpeg/libijg16/jmemsys16.h b/dcmjpeg/libijg16/jmemsys16.h index 3a7a215e..b124aa51 100644 --- a/dcmjpeg/libijg16/jmemsys16.h +++ b/dcmjpeg/libijg16/jmemsys16.h @@ -22,14 +22,14 @@ /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_get_small jpeg16_get_small -#define jpeg_free_small jpeg16_free_small -#define jpeg_get_large jpeg16_get_large -#define jpeg_free_large jpeg16_free_large -#define jpeg_mem_available jpeg16_mem_available -#define jpeg_open_backing_store jpeg16_open_backing_store -#define jpeg_mem_init jpeg16_mem_init -#define jpeg_mem_term jpeg16_mem_term +#define jpeg_get_small dcmtk_jpeg16_get_small +#define jpeg_free_small dcmtk_jpeg16_free_small +#define jpeg_get_large dcmtk_jpeg16_get_large +#define jpeg_free_large dcmtk_jpeg16_free_large +#define jpeg_mem_available dcmtk_jpeg16_mem_available +#define jpeg_open_backing_store dcmtk_jpeg16_open_backing_store +#define jpeg_mem_init dcmtk_jpeg16_mem_init +#define jpeg_mem_term dcmtk_jpeg16_mem_term #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libijg16/jpegint16.h b/dcmjpeg/libijg16/jpegint16.h index c50fa8a4..9ea31299 100644 --- a/dcmjpeg/libijg16/jpegint16.h +++ b/dcmjpeg/libijg16/jpegint16.h @@ -256,56 +256,56 @@ struct jpeg_color_quantizer { /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jinit_c_codec jinit16_c_codec -#define jinit_c_diff_controller jinit16_c_diff_controller -#define jinit_lossy_c_codec jinit16_lossy_c_codec -#define jinit_lossless_c_codec jinit16_lossless_c_codec -#define jinit_compress_master jinit16_compress_master -#define jinit_c_master_control jinit16_c_master_control -#define jinit_c_main_controller jinit16_c_main_controller -#define jinit_c_prep_controller jinit16_c_prep_controller -#define jinit_c_coef_controller jinit16_c_coef_controller -#define jinit_color_converter jinit16_color_converter -#define jinit_downsampler jinit16_downsampler -#define jinit_forward_dct jinit16_forward_dct -#define jinit_shuff_encoder jinit16_shuff_encoder -#define jinit_phuff_encoder jinit16_phuff_encoder +#define jinit_c_codec dcmtk_jinit16_c_codec +#define jinit_c_diff_controller dcmtk_jinit16_c_diff_controller +#define jinit_lossy_c_codec dcmtk_jinit16_lossy_c_codec +#define jinit_lossless_c_codec dcmtk_jinit16_lossless_c_codec +#define jinit_compress_master dcmtk_jinit16_compress_master +#define jinit_c_master_control dcmtk_jinit16_c_master_control +#define jinit_c_main_controller dcmtk_jinit16_c_main_controller +#define jinit_c_prep_controller dcmtk_jinit16_c_prep_controller +#define jinit_c_coef_controller dcmtk_jinit16_c_coef_controller +#define jinit_color_converter dcmtk_jinit16_color_converter +#define jinit_downsampler dcmtk_jinit16_downsampler +#define jinit_forward_dct dcmtk_jinit16_forward_dct +#define jinit_shuff_encoder dcmtk_jinit16_shuff_encoder +#define jinit_phuff_encoder dcmtk_jinit16_phuff_encoder #ifdef WITH_ARITHMETIC_PATCH -#define jinit_arith_encoder jinit16_arith_encoder +#define jinit_arith_encoder dcmtk_jinit16_arith_encoder #endif -#define jinit_marker_writer jinit16_marker_writer -#define jinit_d_codec jinit16_d_codec -#define jinit_lossy_d_codec jinit16_lossy_d_codec -#define jinit_lossless_d_codec jinit16_lossless_d_codec -#define jinit_master_decompress jinit16_master_decompress -#define jinit_d_main_controller jinit16_d_main_controller -#define jinit_d_coef_controller jinit16_d_coef_controller -#define jinit_d_diff_controller jinit16_d_diff_controller -#define jinit_d_post_controller jinit16_d_post_controller -#define jinit_input_controller jinit16_input_controller -#define jinit_marker_reader jinit16_marker_reader -#define jinit_shuff_decoder jinit16_shuff_decoder -#define jinit_phuff_decoder jinit16_phuff_decoder +#define jinit_marker_writer dcmtk_jinit16_marker_writer +#define jinit_d_codec dcmtk_jinit16_d_codec +#define jinit_lossy_d_codec dcmtk_jinit16_lossy_d_codec +#define jinit_lossless_d_codec dcmtk_jinit16_lossless_d_codec +#define jinit_master_decompress dcmtk_jinit16_master_decompress +#define jinit_d_main_controller dcmtk_jinit16_d_main_controller +#define jinit_d_coef_controller dcmtk_jinit16_d_coef_controller +#define jinit_d_diff_controller dcmtk_jinit16_d_diff_controller +#define jinit_d_post_controller dcmtk_jinit16_d_post_controller +#define jinit_input_controller dcmtk_jinit16_input_controller +#define jinit_marker_reader dcmtk_jinit16_marker_reader +#define jinit_shuff_decoder dcmtk_jinit16_shuff_decoder +#define jinit_phuff_decoder dcmtk_jinit16_phuff_decoder #ifdef WITH_ARITHMETIC_PATCH -#define jinit_arith_decoder jinit16_arith_decoder +#define jinit_arith_decoder dcmtk_jinit16_arith_decoder #endif -#define jinit_lhuff_decoder jinit16_lhuff_decoder -#define jinit_undifferencer jinit16_undifferencer -#define jinit_d_scaler jinit16_d_scaler -#define jinit_inverse_dct jinit16_inverse_dct -#define jinit_upsampler jinit16_upsampler -#define jinit_color_deconverter jinit16_color_deconverter -#define jinit_1pass_quantizer jinit16_1pass_quantizer -#define jinit_2pass_quantizer jinit16_2pass_quantizer -#define jinit_merged_upsampler jinit16_merged_upsampler -#define jinit_memory_mgr jinit16_memory_mgr -#define jdiv_round_up jdiv16_round_up -#define jround_up jround16_up -#define jcopy_sample_rows jcopy16_sample_rows -#define jcopy_block_row jcopy16_block_row -#define jzero_far jzero16_far -#define jpeg_zigzag_order jpeg16_zigzag_order -#define jpeg_natural_order jpeg16_natural_order +#define jinit_lhuff_decoder dcmtk_jinit16_lhuff_decoder +#define jinit_undifferencer dcmtk_jinit16_undifferencer +#define jinit_d_scaler dcmtk_jinit16_d_scaler +#define jinit_inverse_dct dcmtk_jinit16_inverse_dct +#define jinit_upsampler dcmtk_jinit16_upsampler +#define jinit_color_deconverter dcmtk_jinit16_color_deconverter +#define jinit_1pass_quantizer dcmtk_jinit16_1pass_quantizer +#define jinit_2pass_quantizer dcmtk_jinit16_2pass_quantizer +#define jinit_merged_upsampler dcmtk_jinit16_merged_upsampler +#define jinit_memory_mgr dcmtk_jinit16_memory_mgr +#define jdiv_round_up dcmtk_jdiv16_round_up +#define jround_up dcmtk_jround16_up +#define jcopy_sample_rows dcmtk_jcopy16_sample_rows +#define jcopy_block_row dcmtk_jcopy16_block_row +#define jzero_far dcmtk_jzero16_far +#define jpeg_zigzag_order dcmtk_jpeg16_zigzag_order +#define jpeg_natural_order dcmtk_jpeg16_natural_order #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libijg16/jpeglib16.h b/dcmjpeg/libijg16/jpeglib16.h index 7546e7ee..5861e7b9 100644 --- a/dcmjpeg/libijg16/jpeglib16.h +++ b/dcmjpeg/libijg16/jpeglib16.h @@ -58,6 +58,16 @@ #define D_MAX_DATA_UNITS_IN_MCU 10 /* decompressor's limit on data units/MCU */ #endif +#ifdef NEED_SHORT_EXTERNAL_NAMES +#define jpeg_decompress_struct dcmtk_jpeg16_decompress_struct +#define jpeg_source_mgr dcmtk_jpeg16_source_mgr +#define jpeg_memory_mgr dcmtk_jpeg16_memory_mgr +#define jpeg_common_struct dcmtk_jpeg16_common_struct +#define jpeg_error_mgr dcmtk_jpeg16_error_mgr +#define jpeg_compress_struct dcmtk_jpeg16_compress_struct +#define j_compress_ptr dcmtk_j16_compress_ptr +#define jpeg_destination_mgr dcmtk_jpeg16_destination_mgr +#endif /* Data structures for images (arrays of samples and of DCT coefficients). * On 80x86 machines, the image arrays are too big for near pointers, @@ -864,125 +874,125 @@ typedef JMETHOD(boolean, jpeg_marker_parser_method, (j_decompress_ptr cinfo)); /* MAKE SURE THAT ALL FUNCTIONS DECLARED GLOBAL() ARE RE-DEFINED HERE! */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jcopy_block_row jcopy16_block_row -#define jcopy_sample_rows jcopy16_sample_rows -#define jdiv_round_up jdiv16_round_up -#define jinit_1pass_quantizer jinit16_1pass_quantizer -#define jinit_2pass_quantizer jinit16_2pass_quantizer -#define jinit_arith_decoder jinit16_arith_decoder -#define jinit_arith_encoder jinit16_arith_encoder -#define jinit_c_codec jinit16_c_codec -#define jinit_c_coef_controller jinit16_c_coef_controller -#define jinit_c_diff_controller jinit16_c_diff_controller -#define jinit_c_main_controller jinit16_c_main_controller -#define jinit_c_master_control jinit16_c_master_control -#define jinit_c_prep_controller jinit16_c_prep_controller -#define jinit_c_scaler jinit16_c_scaler -#define jinit_color_converter jinit16_color_converter -#define jinit_color_deconverter jinit16_color_deconverter -#define jinit_compress_master jinit16_compress_master -#define jinit_d_codec jinit16_d_codec -#define jinit_d_coef_controller jinit16_d_coef_controller -#define jinit_d_diff_controller jinit16_d_diff_controller -#define jinit_d_main_controller jinit16_d_main_controller -#define jinit_d_post_controller jinit16_d_post_controller -#define jinit_d_post_controller jinit16_d_post_controller -#define jinit_d_scaler jinit16_d_scaler -#define jinit_differencer jinit16_differencer -#define jinit_downsampler jinit16_downsampler -#define jinit_forward_dct jinit16_forward_dct -#define jinit_input_controller jinit16_input_controller -#define jinit_inverse_dct jinit16_inverse_dct -#define jinit_lhuff_decoder jinit16_lhuff_decoder -#define jinit_lhuff_encoder jinit16_lhuff_encoder -#define jinit_lossless_c_codec jinit16_lossless_c_codec -#define jinit_lossless_d_codec jinit16_lossless_d_codec -#define jinit_lossy_c_codec jinit16_lossy_c_codec -#define jinit_lossy_d_codec jinit16_lossy_d_codec -#define jinit_marker_reader jinit16_marker_reader -#define jinit_marker_writer jinit16_marker_writer -#define jinit_master_decompress jinit16_master_decompress -#define jinit_memory_mgr jinit16_memory_mgr -#define jinit_merged_upsampler jinit16_merged_upsampler -#define jinit_phuff_decoder jinit16_phuff_decoder -#define jinit_phuff_encoder jinit16_phuff_encoder -#define jinit_shuff_decoder jinit16_shuff_decoder -#define jinit_shuff_encoder jinit16_shuff_encoder -#define jinit_undifferencer jinit16_undifferencer -#define jinit_upsampler jinit16_upsampler -#define jpeg_CreateCompress jpeg16_CreateCompress -#define jpeg_CreateDecompress jpeg16_CreateDecompress -#define jpeg_abort jpeg16_abort -#define jpeg_abort_compress jpeg16_abort_compress -#define jpeg_abort_decompress jpeg16_abort_decompress -#define jpeg_add_quant_table jpeg16_add_quant_table -#define jpeg_alloc_huff_table jpeg16_alloc_huff_table -#define jpeg_alloc_quant_table jpeg16_alloc_quant_table -#define jpeg_calc_output_dimensions jpeg16_calc_output_dimensions -#define jpeg_consume_input jpeg16_consume_input -#define jpeg_copy_critical_parameters jpeg16_copy_critical_parameters -#define jpeg_default_colorspace jpeg16_default_colorspace -#define jpeg_destroy jpeg16_destroy -#define jpeg_destroy_compress jpeg16_destroy_compress -#define jpeg_destroy_decompress jpeg16_destroy_decompress -#define jpeg_fdct_float jpeg16_fdct_float -#define jpeg_fdct_ifast jpeg16_fdct_ifast -#define jpeg_fdct_islow jpeg16_fdct_islow -#define jpeg_fill_bit_buffer jpeg16_fill_bit_buffer -#define jpeg_finish_compress jpeg16_finish_compress -#define jpeg_finish_decompress jpeg16_finish_decompress -#define jpeg_finish_output jpeg16_finish_output -#define jpeg_free_large jpeg16_free_large -#define jpeg_free_small jpeg16_free_small -#define jpeg_gen_optimal_table jpeg16_gen_optimal_table -#define jpeg_get_large jpeg16_get_large -#define jpeg_get_small jpeg16_get_small -#define jpeg_has_multiple_scans jpeg16_has_multiple_scans -#define jpeg_huff_decode jpeg16_huff_decode -#define jpeg_idct_1x1 jpeg16_idct_1x1 -#define jpeg_idct_2x2 jpeg16_idct_2x2 -#define jpeg_idct_4x4 jpeg16_idct_4x4 -#define jpeg_idct_float jpeg16_idct_float -#define jpeg_idct_ifast jpeg16_idct_ifast -#define jpeg_idct_islow jpeg16_idct_islow -#define jpeg_input_complete jpeg16_input_complete -#define jpeg_make_c_derived_tbl jpeg16_make_c_derived_tbl -#define jpeg_make_d_derived_tbl jpeg16_make_d_derived_tbl -#define jpeg_mem_available jpeg16_mem_available -#define jpeg_mem_init jpeg16_mem_init -#define jpeg_mem_term jpeg16_mem_term -#define jpeg_new_colormap jpeg16_new_colormap -#define jpeg_open_backing_store jpeg16_open_backing_store -#define jpeg_quality_scaling jpeg16_quality_scaling -#define jpeg_read_coefficients jpeg16_read_coefficients -#define jpeg_read_header jpeg16_read_header -#define jpeg_read_raw_data jpeg16_read_raw_data -#define jpeg_read_scanlines jpeg16_read_scanlines -#define jpeg_resync_to_restart jpeg16_resync_to_restart -#define jpeg_save_markers jpeg16_save_markers -#define jpeg_set_colorspace jpeg16_set_colorspace -#define jpeg_set_defaults jpeg16_set_defaults -#define jpeg_set_linear_quality jpeg16_set_linear_quality -#define jpeg_set_marker_processor jpeg16_set_marker_processor -#define jpeg_set_quality jpeg16_set_quality -#define jpeg_simple_lossless jpeg16_simple_lossless -#define jpeg_simple_progression jpeg16_simple_progression -#define jpeg_start_compress jpeg16_start_compress -#define jpeg_start_decompress jpeg16_start_decompress -#define jpeg_start_output jpeg16_start_output -#define jpeg_std_error jpeg16_std_error -#define jpeg_stdio_dest jpeg16_stdio_dest -#define jpeg_stdio_src jpeg16_stdio_src -#define jpeg_suppress_tables jpeg16_suppress_tables -#define jpeg_write_coefficients jpeg16_write_coefficients -#define jpeg_write_m_byte jpeg16_write_m_byte -#define jpeg_write_m_header jpeg16_write_m_header -#define jpeg_write_marker jpeg16_write_marker -#define jpeg_write_raw_data jpeg16_write_raw_data -#define jpeg_write_scanlines jpeg16_write_scanlines -#define jpeg_write_tables jpeg16_write_tables -#define jround_up jround16_up -#define jzero_far jzero16_far +#define jcopy_block_row dcmtk_jcopy16_block_row +#define jcopy_sample_rows dcmtk_jcopy16_sample_rows +#define jdiv_round_up dcmtk_jdiv16_round_up +#define jinit_1pass_quantizer dcmtk_jinit16_1pass_quantizer +#define jinit_2pass_quantizer dcmtk_jinit16_2pass_quantizer +#define jinit_arith_decoder dcmtk_jinit16_arith_decoder +#define jinit_arith_encoder dcmtk_jinit16_arith_encoder +#define jinit_c_codec dcmtk_jinit16_c_codec +#define jinit_c_coef_controller dcmtk_jinit16_c_coef_controller +#define jinit_c_diff_controller dcmtk_jinit16_c_diff_controller +#define jinit_c_main_controller dcmtk_jinit16_c_main_controller +#define jinit_c_master_control dcmtk_jinit16_c_master_control +#define jinit_c_prep_controller dcmtk_jinit16_c_prep_controller +#define jinit_c_scaler dcmtk_jinit16_c_scaler +#define jinit_color_converter dcmtk_jinit16_color_converter +#define jinit_color_deconverter dcmtk_jinit16_color_deconverter +#define jinit_compress_master dcmtk_jinit16_compress_master +#define jinit_d_codec dcmtk_jinit16_d_codec +#define jinit_d_coef_controller dcmtk_jinit16_d_coef_controller +#define jinit_d_diff_controller dcmtk_jinit16_d_diff_controller +#define jinit_d_main_controller dcmtk_jinit16_d_main_controller +#define jinit_d_post_controller dcmtk_jinit16_d_post_controller +#define jinit_d_post_controller dcmtk_jinit16_d_post_controller +#define jinit_d_scaler dcmtk_jinit16_d_scaler +#define jinit_differencer dcmtk_jinit16_differencer +#define jinit_downsampler dcmtk_jinit16_downsampler +#define jinit_forward_dct dcmtk_jinit16_forward_dct +#define jinit_input_controller dcmtk_jinit16_input_controller +#define jinit_inverse_dct dcmtk_jinit16_inverse_dct +#define jinit_lhuff_decoder dcmtk_jinit16_lhuff_decoder +#define jinit_lhuff_encoder dcmtk_jinit16_lhuff_encoder +#define jinit_lossless_c_codec dcmtk_jinit16_lossless_c_codec +#define jinit_lossless_d_codec dcmtk_jinit16_lossless_d_codec +#define jinit_lossy_c_codec dcmtk_jinit16_lossy_c_codec +#define jinit_lossy_d_codec dcmtk_jinit16_lossy_d_codec +#define jinit_marker_reader dcmtk_jinit16_marker_reader +#define jinit_marker_writer dcmtk_jinit16_marker_writer +#define jinit_master_decompress dcmtk_jinit16_master_decompress +#define jinit_memory_mgr dcmtk_jinit16_memory_mgr +#define jinit_merged_upsampler dcmtk_jinit16_merged_upsampler +#define jinit_phuff_decoder dcmtk_jinit16_phuff_decoder +#define jinit_phuff_encoder dcmtk_jinit16_phuff_encoder +#define jinit_shuff_decoder dcmtk_jinit16_shuff_decoder +#define jinit_shuff_encoder dcmtk_jinit16_shuff_encoder +#define jinit_undifferencer dcmtk_jinit16_undifferencer +#define jinit_upsampler dcmtk_jinit16_upsampler +#define jpeg_CreateCompress dcmtk_jpeg16_CreateCompress +#define jpeg_CreateDecompress dcmtk_jpeg16_CreateDecompress +#define jpeg_abort dcmtk_jpeg16_abort +#define jpeg_abort_compress dcmtk_jpeg16_abort_compress +#define jpeg_abort_decompress dcmtk_jpeg16_abort_decompress +#define jpeg_add_quant_table dcmtk_jpeg16_add_quant_table +#define jpeg_alloc_huff_table dcmtk_jpeg16_alloc_huff_table +#define jpeg_alloc_quant_table dcmtk_jpeg16_alloc_quant_table +#define jpeg_calc_output_dimensions dcmtk_jpeg16_calc_output_dimensions +#define jpeg_consume_input dcmtk_jpeg16_consume_input +#define jpeg_copy_critical_parameters dcmtk_jpeg16_copy_critical_parameters +#define jpeg_default_colorspace dcmtk_jpeg16_default_colorspace +#define jpeg_destroy dcmtk_jpeg16_destroy +#define jpeg_destroy_compress dcmtk_jpeg16_destroy_compress +#define jpeg_destroy_decompress dcmtk_jpeg16_destroy_decompress +#define jpeg_fdct_float dcmtk_jpeg16_fdct_float +#define jpeg_fdct_ifast dcmtk_jpeg16_fdct_ifast +#define jpeg_fdct_islow dcmtk_jpeg16_fdct_islow +#define jpeg_fill_bit_buffer dcmtk_jpeg16_fill_bit_buffer +#define jpeg_finish_compress dcmtk_jpeg16_finish_compress +#define jpeg_finish_decompress dcmtk_jpeg16_finish_decompress +#define jpeg_finish_output dcmtk_jpeg16_finish_output +#define jpeg_free_large dcmtk_jpeg16_free_large +#define jpeg_free_small dcmtk_jpeg16_free_small +#define jpeg_gen_optimal_table dcmtk_jpeg16_gen_optimal_table +#define jpeg_get_large dcmtk_jpeg16_get_large +#define jpeg_get_small dcmtk_jpeg16_get_small +#define jpeg_has_multiple_scans dcmtk_jpeg16_has_multiple_scans +#define jpeg_huff_decode dcmtk_jpeg16_huff_decode +#define jpeg_idct_1x1 dcmtk_jpeg16_idct_1x1 +#define jpeg_idct_2x2 dcmtk_jpeg16_idct_2x2 +#define jpeg_idct_4x4 dcmtk_jpeg16_idct_4x4 +#define jpeg_idct_float dcmtk_jpeg16_idct_float +#define jpeg_idct_ifast dcmtk_jpeg16_idct_ifast +#define jpeg_idct_islow dcmtk_jpeg16_idct_islow +#define jpeg_input_complete dcmtk_jpeg16_input_complete +#define jpeg_make_c_derived_tbl dcmtk_jpeg16_make_c_derived_tbl +#define jpeg_make_d_derived_tbl dcmtk_jpeg16_make_d_derived_tbl +#define jpeg_mem_available dcmtk_jpeg16_mem_available +#define jpeg_mem_init dcmtk_jpeg16_mem_init +#define jpeg_mem_term dcmtk_jpeg16_mem_term +#define jpeg_new_colormap dcmtk_jpeg16_new_colormap +#define jpeg_open_backing_store dcmtk_jpeg16_open_backing_store +#define jpeg_quality_scaling dcmtk_jpeg16_quality_scaling +#define jpeg_read_coefficients dcmtk_jpeg16_read_coefficients +#define jpeg_read_header dcmtk_jpeg16_read_header +#define jpeg_read_raw_data dcmtk_jpeg16_read_raw_data +#define jpeg_read_scanlines dcmtk_jpeg16_read_scanlines +#define jpeg_resync_to_restart dcmtk_jpeg16_resync_to_restart +#define jpeg_save_markers dcmtk_jpeg16_save_markers +#define jpeg_set_colorspace dcmtk_jpeg16_set_colorspace +#define jpeg_set_defaults dcmtk_jpeg16_set_defaults +#define jpeg_set_linear_quality dcmtk_jpeg16_set_linear_quality +#define jpeg_set_marker_processor dcmtk_jpeg16_set_marker_processor +#define jpeg_set_quality dcmtk_jpeg16_set_quality +#define jpeg_simple_lossless dcmtk_jpeg16_simple_lossless +#define jpeg_simple_progression dcmtk_jpeg16_simple_progression +#define jpeg_start_compress dcmtk_jpeg16_start_compress +#define jpeg_start_decompress dcmtk_jpeg16_start_decompress +#define jpeg_start_output dcmtk_jpeg16_start_output +#define jpeg_std_error dcmtk_jpeg16_std_error +#define jpeg_stdio_dest dcmtk_jpeg16_stdio_dest +#define jpeg_stdio_src dcmtk_jpeg16_stdio_src +#define jpeg_suppress_tables dcmtk_jpeg16_suppress_tables +#define jpeg_write_coefficients dcmtk_jpeg16_write_coefficients +#define jpeg_write_m_byte dcmtk_jpeg16_write_m_byte +#define jpeg_write_m_header dcmtk_jpeg16_write_m_header +#define jpeg_write_marker dcmtk_jpeg16_write_marker +#define jpeg_write_raw_data dcmtk_jpeg16_write_raw_data +#define jpeg_write_scanlines dcmtk_jpeg16_write_scanlines +#define jpeg_write_tables dcmtk_jpeg16_write_tables +#define jround_up dcmtk_jround16_up +#define jzero_far dcmtk_jzero16_far #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libijg8/CMakeLists.txt b/dcmjpeg/libijg8/CMakeLists.txt index acf157af..2b626ef5 100644 --- a/dcmjpeg/libijg8/CMakeLists.txt +++ b/dcmjpeg/libijg8/CMakeLists.txt @@ -1,6 +1,5 @@ # create library from source files DCMTK_ADD_LIBRARY(ijg8 - jaricom.c jcapimin.c jcapistd.c jcarith.c diff --git a/dcmjpeg/libijg8/Makefile.dep b/dcmjpeg/libijg8/Makefile.dep index 134cce8a..cb6083c0 100644 --- a/dcmjpeg/libijg8/Makefile.dep +++ b/dcmjpeg/libijg8/Makefile.dep @@ -1,6 +1,3 @@ -jaricom.o: jaricom.c jinclude8.h jconfig8.h \ - ../../config/include/dcmtk/config/osconfig.h jpeglib8.h jmorecfg8.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h jpegint8.h jerror8.h jcapimin.o: jcapimin.c jinclude8.h jconfig8.h \ ../../config/include/dcmtk/config/osconfig.h jpeglib8.h jmorecfg8.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h jpegint8.h jerror8.h diff --git a/dcmjpeg/libijg8/Makefile.in b/dcmjpeg/libijg8/Makefile.in index e53350b1..b3c24956 100644 --- a/dcmjpeg/libijg8/Makefile.in +++ b/dcmjpeg/libijg8/Makefile.in @@ -29,7 +29,7 @@ objs = jcomapi.o jcodec.o jutils.o jerror.o jmemmgr.o \ jdpred.o jdscale.o jddiffct.o jdmainct.o jdcoefct.o \ jdpostct.o jddctmgr.o jidctfst.o jidctflt.o jidctint.o \ jidctred.o jdsample.o jdcolor.o jquant1.o jquant2.o \ - jdmerge.o jcarith.o jdarith.o jaricom.o + jdmerge.o jcarith.o jdarith.o library = libijg8.$(LIBEXT) diff --git a/dcmjpeg/libijg8/jaricom.c b/dcmjpeg/libijg8/jaricom.c deleted file mode 100644 index 12df3113..00000000 --- a/dcmjpeg/libijg8/jaricom.c +++ /dev/null @@ -1,15 +0,0 @@ -/* - * jaricom.c - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file holds place for arithmetic entropy codec tables. - */ - -#define JPEG_INTERNALS -#include "jinclude8.h" -#include "jpeglib8.h" - -IJG_INT32 jaritab[1]; /* dummy table */ diff --git a/dcmjpeg/libijg8/jchuff8.h b/dcmjpeg/libijg8/jchuff8.h index cb088c26..2b918102 100644 --- a/dcmjpeg/libijg8/jchuff8.h +++ b/dcmjpeg/libijg8/jchuff8.h @@ -40,8 +40,8 @@ typedef struct { /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_make_c_derived_tbl jpeg8_make_c_derived_tbl -#define jpeg_gen_optimal_table jpeg8_gen_optimal_table +#define jpeg_make_c_derived_tbl dcmtk_jpeg8_make_c_derived_tbl +#define jpeg_gen_optimal_table dcmtk_jpeg8_gen_optimal_table #endif /* NEED_SHORT_EXTERNAL_NAMES */ /* Expand a Huffman table definition into the derived format */ diff --git a/dcmjpeg/libijg8/jconfig8.h b/dcmjpeg/libijg8/jconfig8.h index 4dd87d61..a6fcb5dd 100644 --- a/dcmjpeg/libijg8/jconfig8.h +++ b/dcmjpeg/libijg8/jconfig8.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2010, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -34,20 +34,10 @@ /* the following settings are derived from osconfig.h */ -#ifndef HAVE_C_CONST -#define const -#endif - #ifdef C_CHAR_UNSIGNED #define CHAR_IS_UNSIGNED #endif -#ifdef HAVE_STRINGS_H -#ifndef HAVE_STRING_H -#define NEED_BSD_STRINGS -#endif -#endif - #ifdef HAVE_SYS_TYPES_H #define NEED_SYS_TYPES_H #endif @@ -61,7 +51,7 @@ #define RIGHT_SHIFT_IS_UNSIGNED #endif -#define INLINE C_INLINE +#define INLINE __inline /* These are for configuring the JPEG memory manager. */ #undef DEFAULT_MAX_MEM diff --git a/dcmjpeg/libijg8/jdct8.h b/dcmjpeg/libijg8/jdct8.h index c509bfb9..d875e288 100644 --- a/dcmjpeg/libijg8/jdct8.h +++ b/dcmjpeg/libijg8/jdct8.h @@ -81,15 +81,15 @@ typedef FAST_FLOAT FLOAT_MULT_TYPE; /* preferred floating type */ /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_fdct_islow jpeg8_fdct_islow -#define jpeg_fdct_ifast jpeg8_fdct_ifast -#define jpeg_fdct_float jpeg8_fdct_float -#define jpeg_idct_islow jpeg8_idct_islow -#define jpeg_idct_ifast jpeg8_idct_ifast -#define jpeg_idct_float jpeg8_idct_float -#define jpeg_idct_4x4 jpeg8_idct_4x4 -#define jpeg_idct_2x2 jpeg8_idct_2x2 -#define jpeg_idct_1x1 jpeg8_idct_1x1 +#define jpeg_fdct_islow dcmtk_jpeg8_fdct_islow +#define jpeg_fdct_ifast dcmtk_jpeg8_fdct_ifast +#define jpeg_fdct_float dcmtk_jpeg8_fdct_float +#define jpeg_idct_islow dcmtk_jpeg8_idct_islow +#define jpeg_idct_ifast dcmtk_jpeg8_idct_ifast +#define jpeg_idct_float dcmtk_jpeg8_idct_float +#define jpeg_idct_4x4 dcmtk_jpeg8_idct_4x4 +#define jpeg_idct_2x2 dcmtk_jpeg8_idct_2x2 +#define jpeg_idct_1x1 dcmtk_jpeg8_idct_1x1 #endif /* NEED_SHORT_EXTERNAL_NAMES */ /* Extern declarations for the forward and inverse DCT routines. */ diff --git a/dcmjpeg/libijg8/jdhuff8.h b/dcmjpeg/libijg8/jdhuff8.h index e61f6816..24a32f0a 100644 --- a/dcmjpeg/libijg8/jdhuff8.h +++ b/dcmjpeg/libijg8/jdhuff8.h @@ -14,9 +14,9 @@ /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_make_d_derived_tbl jpeg8_make_d_derived_tbl -#define jpeg_fill_bit_buffer jpeg8_fill_bit_buffer -#define jpeg_huff_decode jpeg8_huff_decode +#define jpeg_make_d_derived_tbl dcmtk_jpeg8_make_d_derived_tbl +#define jpeg_fill_bit_buffer dcmtk_jpeg8_fill_bit_buffer +#define jpeg_huff_decode dcmtk_jpeg8_huff_decode #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libijg8/jerror.c b/dcmjpeg/libijg8/jerror.c index f6595eca..d87569de 100644 --- a/dcmjpeg/libijg8/jerror.c +++ b/dcmjpeg/libijg8/jerror.c @@ -23,13 +23,14 @@ #include "jpeglib8.h" #include "jversion8.h" #include "jerror8.h" +#include "jconfig8.h" #ifdef USE_WINDOWS_MESSAGEBOX #define WIN32_LEAN_AND_MEAN #include #endif -#ifndef EXIT_FAILURE /* define exit() codes if not provided */ +#ifndef EXIT_FAILURE /* define exit() codes if not provided */ #define EXIT_FAILURE 1 #endif @@ -43,10 +44,10 @@ */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_std_message_table jpeg8_std_message_table +#define jpeg_std_message_table jpeg8_std_message_table #endif -#define JMESSAGE(code,string) string , +#define JMESSAGE(code,string) string , const char * const jpeg_std_message_table[] = { #include "jerror8.h" @@ -106,7 +107,7 @@ output_message (j_common_ptr cinfo) #ifdef USE_WINDOWS_MESSAGEBOX /* Display it in a message dialog box */ MessageBox(GetActiveWindow(), buffer, "JPEG Library Error", - MB_OK | MB_ICONERROR); + MB_OK | MB_ICONERROR); #else /* Send it to stderr, adding a newline */ fprintf(stderr, "%s\n", buffer); @@ -168,8 +169,8 @@ format_message (j_common_ptr cinfo, char * buffer) if (msg_code > 0 && msg_code <= err->last_jpeg_message) { msgtext = err->jpeg_message_table[msg_code]; } else if (err->addon_message_table != NULL && - msg_code >= err->first_addon_message && - msg_code <= err->last_addon_message) { + msg_code >= err->first_addon_message && + msg_code <= err->last_addon_message) { msgtext = err->addon_message_table[msg_code - err->first_addon_message]; } @@ -190,14 +191,25 @@ format_message (j_common_ptr cinfo, char * buffer) } /* Format the message into the passed buffer */ +#ifdef HAVE_VSNPRINTF + if (isstring) + snprintf(buffer, JMSG_LENGTH_MAX, msgtext, err->msg_parm.s); + else + snprintf(buffer, JMSG_LENGTH_MAX, msgtext, + err->msg_parm.i[0], err->msg_parm.i[1], + err->msg_parm.i[2], err->msg_parm.i[3], + err->msg_parm.i[4], err->msg_parm.i[5], + err->msg_parm.i[6], err->msg_parm.i[7]); +#else /* HAVE_VSNPRINTF */ if (isstring) sprintf(buffer, msgtext, err->msg_parm.s); else sprintf(buffer, msgtext, - err->msg_parm.i[0], err->msg_parm.i[1], - err->msg_parm.i[2], err->msg_parm.i[3], - err->msg_parm.i[4], err->msg_parm.i[5], - err->msg_parm.i[6], err->msg_parm.i[7]); + err->msg_parm.i[0], err->msg_parm.i[1], + err->msg_parm.i[2], err->msg_parm.i[3], + err->msg_parm.i[4], err->msg_parm.i[5], + err->msg_parm.i[6], err->msg_parm.i[7]); +#endif /* HAVE_VSNPRINTF */ } @@ -214,17 +226,17 @@ reset_error_mgr (j_common_ptr cinfo) { cinfo->err->num_warnings = 0; /* trace_level is not reset since it is an application-supplied parameter */ - cinfo->err->msg_code = 0; /* may be useful as a flag for "no error" */ + cinfo->err->msg_code = 0; /* may be useful as a flag for "no error" */ } /* * Fill in the standard error-handling methods in a jpeg_error_mgr object. * Typical call is: - * struct jpeg_compress_struct cinfo; - * struct jpeg_error_mgr err; + * struct jpeg_compress_struct cinfo; + * struct jpeg_error_mgr err; * - * cinfo.err = jpeg_std_error(&err); + * cinfo.err = jpeg_std_error(&err); * after which the application may override some of the methods. */ @@ -237,16 +249,16 @@ jpeg_std_error (struct jpeg_error_mgr * err) err->format_message = format_message; err->reset_error_mgr = reset_error_mgr; - err->trace_level = 0; /* default = no tracing */ - err->num_warnings = 0; /* no warnings emitted yet */ - err->msg_code = 0; /* may be useful as a flag for "no error" */ + err->trace_level = 0; /* default = no tracing */ + err->num_warnings = 0; /* no warnings emitted yet */ + err->msg_code = 0; /* may be useful as a flag for "no error" */ /* Initialize message table pointers */ err->jpeg_message_table = jpeg_std_message_table; err->last_jpeg_message = (int) JMSG_LASTMSGCODE - 1; err->addon_message_table = NULL; - err->first_addon_message = 0; /* for safety */ + err->first_addon_message = 0; /* for safety */ err->last_addon_message = 0; return err; diff --git a/dcmjpeg/libijg8/jinclude8.h b/dcmjpeg/libijg8/jinclude8.h index cae1f6cc..8b63d75b 100644 --- a/dcmjpeg/libijg8/jinclude8.h +++ b/dcmjpeg/libijg8/jinclude8.h @@ -31,13 +31,8 @@ * You can remove those references if you want to compile without . */ -#ifdef HAVE_STDDEF_H #include -#endif - -#ifdef HAVE_STDLIB_H #include -#endif #ifdef NEED_SYS_TYPES_H #include diff --git a/dcmjpeg/libijg8/jmemmgr.c b/dcmjpeg/libijg8/jmemmgr.c index 841ba1aa..55acc5e1 100644 --- a/dcmjpeg/libijg8/jmemmgr.c +++ b/dcmjpeg/libijg8/jmemmgr.c @@ -31,12 +31,6 @@ #include "jmemsys8.h" /* import the system-dependent declarations */ #include "dcmtk/ofstd/ofdiag.h" /* for DCMTK_DIAGNOSTIC macros */ -#ifndef NO_GETENV -#ifndef HAVE_STDLIB_H /* should declare getenv() */ -extern char * getenv JPP((const char * name)); -#endif -#endif - /* * Some important notes: diff --git a/dcmjpeg/libijg8/jmemnobs.c b/dcmjpeg/libijg8/jmemnobs.c index c3db495f..fe877aff 100644 --- a/dcmjpeg/libijg8/jmemnobs.c +++ b/dcmjpeg/libijg8/jmemnobs.c @@ -20,11 +20,6 @@ #include "jpeglib8.h" #include "jmemsys8.h" /* import the system-dependent declarations */ -#ifndef HAVE_STDLIB_H /* should declare malloc(),free() */ -extern void * malloc JPP((size_t size)); -extern void free JPP((void *ptr)); -#endif - /* * Memory allocation and freeing are controlled by the regular library diff --git a/dcmjpeg/libijg8/jmemsys8.h b/dcmjpeg/libijg8/jmemsys8.h index fc59f420..a9a0a3f3 100644 --- a/dcmjpeg/libijg8/jmemsys8.h +++ b/dcmjpeg/libijg8/jmemsys8.h @@ -22,14 +22,14 @@ /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_get_small jpeg8_get_small -#define jpeg_free_small jpeg8_free_small -#define jpeg_get_large jpeg8_get_large -#define jpeg_free_large jpeg8_free_large -#define jpeg_mem_available jpeg8_mem_available -#define jpeg_open_backing_store jpeg8_open_backing_store -#define jpeg_mem_init jpeg8_mem_init -#define jpeg_mem_term jpeg8_mem_term +#define jpeg_get_small dcmtk_jpeg8_get_small +#define jpeg_free_small dcmtk_jpeg8_free_small +#define jpeg_get_large dcmtk_jpeg8_get_large +#define jpeg_free_large dcmtk_jpeg8_free_large +#define jpeg_mem_available dcmtk_jpeg8_mem_available +#define jpeg_open_backing_store dcmtk_jpeg8_open_backing_store +#define jpeg_mem_init dcmtk_jpeg8_mem_init +#define jpeg_mem_term dcmtk_jpeg8_mem_term #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libijg8/jpegint8.h b/dcmjpeg/libijg8/jpegint8.h index 0218018c..c2117a14 100644 --- a/dcmjpeg/libijg8/jpegint8.h +++ b/dcmjpeg/libijg8/jpegint8.h @@ -256,56 +256,56 @@ struct jpeg_color_quantizer { /* Short forms of external names for systems with brain-damaged linkers. */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jinit_c_codec jinit8_c_codec -#define jinit_c_diff_controller jinit8_c_diff_controller -#define jinit_lossy_c_codec jinit8_lossy_c_codec -#define jinit_lossless_c_codec jinit8_lossless_c_codec -#define jinit_compress_master jinit8_compress_master -#define jinit_c_master_control jinit8_c_master_control -#define jinit_c_main_controller jinit8_c_main_controller -#define jinit_c_prep_controller jinit8_c_prep_controller -#define jinit_c_coef_controller jinit8_c_coef_controller -#define jinit_color_converter jinit8_color_converter -#define jinit_downsampler jinit8_downsampler -#define jinit_forward_dct jinit8_forward_dct -#define jinit_shuff_encoder jinit8_shuff_encoder -#define jinit_phuff_encoder jinit8_phuff_encoder +#define jinit_c_codec dcmtk_jinit8_c_codec +#define jinit_c_diff_controller dcmtk_jinit8_c_diff_controller +#define jinit_lossy_c_codec dcmtk_jinit8_lossy_c_codec +#define jinit_lossless_c_codec dcmtk_jinit8_lossless_c_codec +#define jinit_compress_master dcmtk_jinit8_compress_master +#define jinit_c_master_control dcmtk_jinit8_c_master_control +#define jinit_c_main_controller dcmtk_jinit8_c_main_controller +#define jinit_c_prep_controller dcmtk_jinit8_c_prep_controller +#define jinit_c_coef_controller dcmtk_jinit8_c_coef_controller +#define jinit_color_converter dcmtk_jinit8_color_converter +#define jinit_downsampler dcmtk_jinit8_downsampler +#define jinit_forward_dct dcmtk_jinit8_forward_dct +#define jinit_shuff_encoder dcmtk_jinit8_shuff_encoder +#define jinit_phuff_encoder dcmtk_jinit8_phuff_encoder #ifdef WITH_ARITHMETIC_PATCH -#define jinit_arith_encoder jinit8_arith_encoder +#define jinit_arith_encoder dcmtk_jinit8_arith_encoder #endif -#define jinit_marker_writer jinit8_marker_writer -#define jinit_d_codec jinit8_d_codec -#define jinit_lossy_d_codec jinit8_lossy_d_codec -#define jinit_lossless_d_codec jinit8_lossless_d_codec -#define jinit_master_decompress jinit8_master_decompress -#define jinit_d_main_controller jinit8_d_main_controller -#define jinit_d_coef_controller jinit8_d_coef_controller -#define jinit_d_diff_controller jinit8_d_diff_controller -#define jinit_d_post_controller jinit8_d_post_controller -#define jinit_input_controller jinit8_input_controller -#define jinit_marker_reader jinit8_marker_reader -#define jinit_shuff_decoder jinit8_shuff_decoder -#define jinit_phuff_decoder jinit8_phuff_decoder +#define jinit_marker_writer dcmtk_jinit8_marker_writer +#define jinit_d_codec dcmtk_jinit8_d_codec +#define jinit_lossy_d_codec dcmtk_jinit8_lossy_d_codec +#define jinit_lossless_d_codec dcmtk_jinit8_lossless_d_codec +#define jinit_master_decompress dcmtk_jinit8_master_decompress +#define jinit_d_main_controller dcmtk_jinit8_d_main_controller +#define jinit_d_coef_controller dcmtk_jinit8_d_coef_controller +#define jinit_d_diff_controller dcmtk_jinit8_d_diff_controller +#define jinit_d_post_controller dcmtk_jinit8_d_post_controller +#define jinit_input_controller dcmtk_jinit8_input_controller +#define jinit_marker_reader dcmtk_jinit8_marker_reader +#define jinit_shuff_decoder dcmtk_jinit8_shuff_decoder +#define jinit_phuff_decoder dcmtk_jinit8_phuff_decoder #ifdef WITH_ARITHMETIC_PATCH -#define jinit_arith_decoder jinit8_arith_decoder +#define jinit_arith_decoder dcmtk_jinit8_arith_decoder #endif -#define jinit_lhuff_decoder jinit8_lhuff_decoder -#define jinit_undifferencer jinit8_undifferencer -#define jinit_d_scaler jinit8_d_scaler -#define jinit_inverse_dct jinit8_inverse_dct -#define jinit_upsampler jinit8_upsampler -#define jinit_color_deconverter jinit8_color_deconverter -#define jinit_1pass_quantizer jinit8_1pass_quantizer -#define jinit_2pass_quantizer jinit8_2pass_quantizer -#define jinit_merged_upsampler jinit8_merged_upsampler -#define jinit_memory_mgr jinit8_memory_mgr -#define jdiv_round_up jdiv8_round_up -#define jround_up jround8_up -#define jcopy_sample_rows jcopy8_sample_rows -#define jcopy_block_row jcopy8_block_row -#define jzero_far jzero8_far -#define jpeg_zigzag_order jpeg8_zigzag_order -#define jpeg_natural_order jpeg8_natural_order +#define jinit_lhuff_decoder dcmtk_jinit8_lhuff_decoder +#define jinit_undifferencer dcmtk_jinit8_undifferencer +#define jinit_d_scaler dcmtk_jinit8_d_scaler +#define jinit_inverse_dct dcmtk_jinit8_inverse_dct +#define jinit_upsampler dcmtk_jinit8_upsampler +#define jinit_color_deconverter dcmtk_jinit8_color_deconverter +#define jinit_1pass_quantizer dcmtk_jinit8_1pass_quantizer +#define jinit_2pass_quantizer dcmtk_jinit8_2pass_quantizer +#define jinit_merged_upsampler dcmtk_jinit8_merged_upsampler +#define jinit_memory_mgr dcmtk_jinit8_memory_mgr +#define jdiv_round_up dcmtk_jdiv8_round_up +#define jround_up dcmtk_jround8_up +#define jcopy_sample_rows dcmtk_jcopy8_sample_rows +#define jcopy_block_row dcmtk_jcopy8_block_row +#define jzero_far dcmtk_jzero8_far +#define jpeg_zigzag_order dcmtk_jpeg8_zigzag_order +#define jpeg_natural_order dcmtk_jpeg8_natural_order #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libijg8/jpeglib8.h b/dcmjpeg/libijg8/jpeglib8.h index c0bbe915..f0399eda 100644 --- a/dcmjpeg/libijg8/jpeglib8.h +++ b/dcmjpeg/libijg8/jpeglib8.h @@ -58,6 +58,16 @@ #define D_MAX_DATA_UNITS_IN_MCU 10 /* decompressor's limit on data units/MCU */ #endif +#ifdef NEED_SHORT_EXTERNAL_NAMES +#define jpeg_decompress_struct dcmtk_jpeg8_decompress_struct +#define jpeg_source_mgr dcmtk_jpeg8_source_mgr +#define jpeg_memory_mgr dcmtk_jpeg8_memory_mgr +#define jpeg_common_struct dcmtk_jpeg8_common_struct +#define jpeg_error_mgr dcmtk_jpeg8_error_mgr +#define jpeg_compress_struct dcmtk_jpeg8_compress_struct +#define j_compress_ptr dcmtk_j8_compress_ptr +#define jpeg_destination_mgr dcmtk_jpeg8_destination_mgr +#endif /* Data structures for images (arrays of samples and of DCT coefficients). * On 80x86 machines, the image arrays are too big for near pointers, @@ -861,125 +871,126 @@ typedef JMETHOD(boolean, jpeg_marker_parser_method, (j_decompress_ptr cinfo)); /* MAKE SURE THAT ALL FUNCTIONS DECLARED GLOBAL() ARE RE-DEFINED HERE! */ #ifdef NEED_SHORT_EXTERNAL_NAMES -#define jcopy_block_row jcopy8_block_row -#define jcopy_sample_rows jcopy8_sample_rows -#define jdiv_round_up jdiv8_round_up -#define jinit_1pass_quantizer jinit8_1pass_quantizer -#define jinit_2pass_quantizer jinit8_2pass_quantizer -#define jinit_arith_decoder jinit8_arith_decoder -#define jinit_arith_encoder jinit8_arith_encoder -#define jinit_c_codec jinit8_c_codec -#define jinit_c_coef_controller jinit8_c_coef_controller -#define jinit_c_diff_controller jinit8_c_diff_controller -#define jinit_c_main_controller jinit8_c_main_controller -#define jinit_c_master_control jinit8_c_master_control -#define jinit_c_prep_controller jinit8_c_prep_controller -#define jinit_c_scaler jinit8_c_scaler -#define jinit_color_converter jinit8_color_converter -#define jinit_color_deconverter jinit8_color_deconverter -#define jinit_compress_master jinit8_compress_master -#define jinit_d_codec jinit8_d_codec -#define jinit_d_coef_controller jinit8_d_coef_controller -#define jinit_d_diff_controller jinit8_d_diff_controller -#define jinit_d_main_controller jinit8_d_main_controller -#define jinit_d_post_controller jinit8_d_post_controller -#define jinit_d_post_controller jinit8_d_post_controller -#define jinit_d_scaler jinit8_d_scaler -#define jinit_differencer jinit8_differencer -#define jinit_downsampler jinit8_downsampler -#define jinit_forward_dct jinit8_forward_dct -#define jinit_input_controller jinit8_input_controller -#define jinit_inverse_dct jinit8_inverse_dct -#define jinit_lhuff_decoder jinit8_lhuff_decoder -#define jinit_lhuff_encoder jinit8_lhuff_encoder -#define jinit_lossless_c_codec jinit8_lossless_c_codec -#define jinit_lossless_d_codec jinit8_lossless_d_codec -#define jinit_lossy_c_codec jinit8_lossy_c_codec -#define jinit_lossy_d_codec jinit8_lossy_d_codec -#define jinit_marker_reader jinit8_marker_reader -#define jinit_marker_writer jinit8_marker_writer -#define jinit_master_decompress jinit8_master_decompress -#define jinit_memory_mgr jinit8_memory_mgr -#define jinit_merged_upsampler jinit8_merged_upsampler -#define jinit_phuff_decoder jinit8_phuff_decoder -#define jinit_phuff_encoder jinit8_phuff_encoder -#define jinit_shuff_decoder jinit8_shuff_decoder -#define jinit_shuff_encoder jinit8_shuff_encoder -#define jinit_undifferencer jinit8_undifferencer -#define jinit_upsampler jinit8_upsampler -#define jpeg_CreateCompress jpeg8_CreateCompress -#define jpeg_CreateDecompress jpeg8_CreateDecompress -#define jpeg_abort jpeg8_abort -#define jpeg_abort_compress jpeg8_abort_compress -#define jpeg_abort_decompress jpeg8_abort_decompress -#define jpeg_add_quant_table jpeg8_add_quant_table -#define jpeg_alloc_huff_table jpeg8_alloc_huff_table -#define jpeg_alloc_quant_table jpeg8_alloc_quant_table -#define jpeg_calc_output_dimensions jpeg8_calc_output_dimensions -#define jpeg_consume_input jpeg8_consume_input -#define jpeg_copy_critical_parameters jpeg8_copy_critical_parameters -#define jpeg_default_colorspace jpeg8_default_colorspace -#define jpeg_destroy jpeg8_destroy -#define jpeg_destroy_compress jpeg8_destroy_compress -#define jpeg_destroy_decompress jpeg8_destroy_decompress -#define jpeg_fdct_float jpeg8_fdct_float -#define jpeg_fdct_ifast jpeg8_fdct_ifast -#define jpeg_fdct_islow jpeg8_fdct_islow -#define jpeg_fill_bit_buffer jpeg8_fill_bit_buffer -#define jpeg_finish_compress jpeg8_finish_compress -#define jpeg_finish_decompress jpeg8_finish_decompress -#define jpeg_finish_output jpeg8_finish_output -#define jpeg_free_large jpeg8_free_large -#define jpeg_free_small jpeg8_free_small -#define jpeg_gen_optimal_table jpeg8_gen_optimal_table -#define jpeg_get_large jpeg8_get_large -#define jpeg_get_small jpeg8_get_small -#define jpeg_has_multiple_scans jpeg8_has_multiple_scans -#define jpeg_huff_decode jpeg8_huff_decode -#define jpeg_idct_1x1 jpeg8_idct_1x1 -#define jpeg_idct_2x2 jpeg8_idct_2x2 -#define jpeg_idct_4x4 jpeg8_idct_4x4 -#define jpeg_idct_float jpeg8_idct_float -#define jpeg_idct_ifast jpeg8_idct_ifast -#define jpeg_idct_islow jpeg8_idct_islow -#define jpeg_input_complete jpeg8_input_complete -#define jpeg_make_c_derived_tbl jpeg8_make_c_derived_tbl -#define jpeg_make_d_derived_tbl jpeg8_make_d_derived_tbl -#define jpeg_mem_available jpeg8_mem_available -#define jpeg_mem_init jpeg8_mem_init -#define jpeg_mem_term jpeg8_mem_term -#define jpeg_new_colormap jpeg8_new_colormap -#define jpeg_open_backing_store jpeg8_open_backing_store -#define jpeg_quality_scaling jpeg8_quality_scaling -#define jpeg_read_coefficients jpeg8_read_coefficients -#define jpeg_read_header jpeg8_read_header -#define jpeg_read_raw_data jpeg8_read_raw_data -#define jpeg_read_scanlines jpeg8_read_scanlines -#define jpeg_resync_to_restart jpeg8_resync_to_restart -#define jpeg_save_markers jpeg8_save_markers -#define jpeg_set_colorspace jpeg8_set_colorspace -#define jpeg_set_defaults jpeg8_set_defaults -#define jpeg_set_linear_quality jpeg8_set_linear_quality -#define jpeg_set_marker_processor jpeg8_set_marker_processor -#define jpeg_set_quality jpeg8_set_quality -#define jpeg_simple_lossless jpeg8_simple_lossless -#define jpeg_simple_progression jpeg8_simple_progression -#define jpeg_start_compress jpeg8_start_compress -#define jpeg_start_decompress jpeg8_start_decompress -#define jpeg_start_output jpeg8_start_output -#define jpeg_std_error jpeg8_std_error -#define jpeg_stdio_dest jpeg8_stdio_dest -#define jpeg_stdio_src jpeg8_stdio_src -#define jpeg_suppress_tables jpeg8_suppress_tables -#define jpeg_write_coefficients jpeg8_write_coefficients -#define jpeg_write_m_byte jpeg8_write_m_byte -#define jpeg_write_m_header jpeg8_write_m_header -#define jpeg_write_marker jpeg8_write_marker -#define jpeg_write_raw_data jpeg8_write_raw_data -#define jpeg_write_scanlines jpeg8_write_scanlines -#define jpeg_write_tables jpeg8_write_tables -#define jround_up jround8_up -#define jzero_far jzero8_far +#define jpeg_decompress_struct dcmtk_jpeg8_decompress_struct +#define jcopy_block_row dcmtk_jcopy8_block_row +#define jcopy_sample_rows dcmtk_jcopy8_sample_rows +#define jdiv_round_up dcmtk_jdiv8_round_up +#define jinit_1pass_quantizer dcmtk_jinit8_1pass_quantizer +#define jinit_2pass_quantizer dcmtk_jinit8_2pass_quantizer +#define jinit_arith_decoder dcmtk_jinit8_arith_decoder +#define jinit_arith_encoder dcmtk_jinit8_arith_encoder +#define jinit_c_codec dcmtk_jinit8_c_codec +#define jinit_c_coef_controller dcmtk_jinit8_c_coef_controller +#define jinit_c_diff_controller dcmtk_jinit8_c_diff_controller +#define jinit_c_main_controller dcmtk_jinit8_c_main_controller +#define jinit_c_master_control dcmtk_jinit8_c_master_control +#define jinit_c_prep_controller dcmtk_jinit8_c_prep_controller +#define jinit_c_scaler dcmtk_jinit8_c_scaler +#define jinit_color_converter dcmtk_jinit8_color_converter +#define jinit_color_deconverter dcmtk_jinit8_color_deconverter +#define jinit_compress_master dcmtk_jinit8_compress_master +#define jinit_d_codec dcmtk_jinit8_d_codec +#define jinit_d_coef_controller dcmtk_jinit8_d_coef_controller +#define jinit_d_diff_controller dcmtk_jinit8_d_diff_controller +#define jinit_d_main_controller dcmtk_jinit8_d_main_controller +#define jinit_d_post_controller dcmtk_jinit8_d_post_controller +#define jinit_d_post_controller dcmtk_jinit8_d_post_controller +#define jinit_d_scaler dcmtk_jinit8_d_scaler +#define jinit_differencer dcmtk_jinit8_differencer +#define jinit_downsampler dcmtk_jinit8_downsampler +#define jinit_forward_dct dcmtk_jinit8_forward_dct +#define jinit_input_controller dcmtk_jinit8_input_controller +#define jinit_inverse_dct dcmtk_jinit8_inverse_dct +#define jinit_lhuff_decoder dcmtk_jinit8_lhuff_decoder +#define jinit_lhuff_encoder dcmtk_jinit8_lhuff_encoder +#define jinit_lossless_c_codec dcmtk_jinit8_lossless_c_codec +#define jinit_lossless_d_codec dcmtk_jinit8_lossless_d_codec +#define jinit_lossy_c_codec dcmtk_jinit8_lossy_c_codec +#define jinit_lossy_d_codec dcmtk_jinit8_lossy_d_codec +#define jinit_marker_reader dcmtk_jinit8_marker_reader +#define jinit_marker_writer dcmtk_jinit8_marker_writer +#define jinit_master_decompress dcmtk_jinit8_master_decompress +#define jinit_memory_mgr dcmtk_jinit8_memory_mgr +#define jinit_merged_upsampler dcmtk_jinit8_merged_upsampler +#define jinit_phuff_decoder dcmtk_jinit8_phuff_decoder +#define jinit_phuff_encoder dcmtk_jinit8_phuff_encoder +#define jinit_shuff_decoder dcmtk_jinit8_shuff_decoder +#define jinit_shuff_encoder dcmtk_jinit8_shuff_encoder +#define jinit_undifferencer dcmtk_jinit8_undifferencer +#define jinit_upsampler dcmtk_jinit8_upsampler +#define jpeg_CreateCompress dcmtk_jpeg8_CreateCompress +#define jpeg_CreateDecompress dcmtk_jpeg8_CreateDecompress +#define jpeg_abort dcmtk_jpeg8_abort +#define jpeg_abort_compress dcmtk_jpeg8_abort_compress +#define jpeg_abort_decompress dcmtk_jpeg8_abort_decompress +#define jpeg_add_quant_table dcmtk_jpeg8_add_quant_table +#define jpeg_alloc_huff_table dcmtk_jpeg8_alloc_huff_table +#define jpeg_alloc_quant_table dcmtk_jpeg8_alloc_quant_table +#define jpeg_calc_output_dimensions dcmtk_jpeg8_calc_output_dimensions +#define jpeg_consume_input dcmtk_jpeg8_consume_input +#define jpeg_copy_critical_parameters dcmtk_jpeg8_copy_critical_parameters +#define jpeg_default_colorspace dcmtk_jpeg8_default_colorspace +#define jpeg_destroy dcmtk_jpeg8_destroy +#define jpeg_destroy_compress dcmtk_jpeg8_destroy_compress +#define jpeg_destroy_decompress dcmtk_jpeg8_destroy_decompress +#define jpeg_fdct_float dcmtk_jpeg8_fdct_float +#define jpeg_fdct_ifast dcmtk_jpeg8_fdct_ifast +#define jpeg_fdct_islow dcmtk_jpeg8_fdct_islow +#define jpeg_fill_bit_buffer dcmtk_jpeg8_fill_bit_buffer +#define jpeg_finish_compress dcmtk_jpeg8_finish_compress +#define jpeg_finish_decompress dcmtk_jpeg8_finish_decompress +#define jpeg_finish_output dcmtk_jpeg8_finish_output +#define jpeg_free_large dcmtk_jpeg8_free_large +#define jpeg_free_small dcmtk_jpeg8_free_small +#define jpeg_gen_optimal_table dcmtk_jpeg8_gen_optimal_table +#define jpeg_get_large dcmtk_jpeg8_get_large +#define jpeg_get_small dcmtk_jpeg8_get_small +#define jpeg_has_multiple_scans dcmtk_jpeg8_has_multiple_scans +#define jpeg_huff_decode dcmtk_jpeg8_huff_decode +#define jpeg_idct_1x1 dcmtk_jpeg8_idct_1x1 +#define jpeg_idct_2x2 dcmtk_jpeg8_idct_2x2 +#define jpeg_idct_4x4 dcmtk_jpeg8_idct_4x4 +#define jpeg_idct_float dcmtk_jpeg8_idct_float +#define jpeg_idct_ifast dcmtk_jpeg8_idct_ifast +#define jpeg_idct_islow dcmtk_jpeg8_idct_islow +#define jpeg_input_complete dcmtk_jpeg8_input_complete +#define jpeg_make_c_derived_tbl dcmtk_jpeg8_make_c_derived_tbl +#define jpeg_make_d_derived_tbl dcmtk_jpeg8_make_d_derived_tbl +#define jpeg_mem_available dcmtk_jpeg8_mem_available +#define jpeg_mem_init dcmtk_jpeg8_mem_init +#define jpeg_mem_term dcmtk_jpeg8_mem_term +#define jpeg_new_colormap dcmtk_jpeg8_new_colormap +#define jpeg_open_backing_store dcmtk_jpeg8_open_backing_store +#define jpeg_quality_scaling dcmtk_jpeg8_quality_scaling +#define jpeg_read_coefficients dcmtk_jpeg8_read_coefficients +#define jpeg_read_header dcmtk_jpeg8_read_header +#define jpeg_read_raw_data dcmtk_jpeg8_read_raw_data +#define jpeg_read_scanlines dcmtk_jpeg8_read_scanlines +#define jpeg_resync_to_restart dcmtk_jpeg8_resync_to_restart +#define jpeg_save_markers dcmtk_jpeg8_save_markers +#define jpeg_set_colorspace dcmtk_jpeg8_set_colorspace +#define jpeg_set_defaults dcmtk_jpeg8_set_defaults +#define jpeg_set_linear_quality dcmtk_jpeg8_set_linear_quality +#define jpeg_set_marker_processor dcmtk_jpeg8_set_marker_processor +#define jpeg_set_quality dcmtk_jpeg8_set_quality +#define jpeg_simple_lossless dcmtk_jpeg8_simple_lossless +#define jpeg_simple_progression dcmtk_jpeg8_simple_progression +#define jpeg_start_compress dcmtk_jpeg8_start_compress +#define jpeg_start_decompress dcmtk_jpeg8_start_decompress +#define jpeg_start_output dcmtk_jpeg8_start_output +#define jpeg_std_error dcmtk_jpeg8_std_error +#define jpeg_stdio_dest dcmtk_jpeg8_stdio_dest +#define jpeg_stdio_src dcmtk_jpeg8_stdio_src +#define jpeg_suppress_tables dcmtk_jpeg8_suppress_tables +#define jpeg_write_coefficients dcmtk_jpeg8_write_coefficients +#define jpeg_write_m_byte dcmtk_jpeg8_write_m_byte +#define jpeg_write_m_header dcmtk_jpeg8_write_m_header +#define jpeg_write_marker dcmtk_jpeg8_write_marker +#define jpeg_write_raw_data dcmtk_jpeg8_write_raw_data +#define jpeg_write_scanlines dcmtk_jpeg8_write_scanlines +#define jpeg_write_tables dcmtk_jpeg8_write_tables +#define jround_up dcmtk_jround8_up +#define jzero_far dcmtk_jzero8_far #endif /* NEED_SHORT_EXTERNAL_NAMES */ diff --git a/dcmjpeg/libsrc/Makefile.dep b/dcmjpeg/libsrc/Makefile.dep index fa3cc3c9..2b8c62f5 100644 --- a/dcmjpeg/libsrc/Makefile.dep +++ b/dcmjpeg/libsrc/Makefile.dep @@ -10,13 +10,13 @@ ddpiimpl.o: ddpiimpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -24,7 +24,6 @@ ddpiimpl.o: ddpiimpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -56,6 +55,7 @@ ddpiimpl.o: ddpiimpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -107,9 +107,9 @@ dipijpeg.o: dipijpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -139,7 +139,6 @@ dipijpeg.o: dipijpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -147,6 +146,7 @@ dipijpeg.o: dipijpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -176,10 +176,10 @@ djcodecd.o: djcodecd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -215,18 +215,18 @@ djcodecd.o: djcodecd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmjpeg/djdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ @@ -253,10 +253,10 @@ djcodece.o: djcodece.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -292,6 +292,7 @@ djcodece.o: djcodece.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -299,7 +300,6 @@ djcodece.o: djcodece.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmjpeg/djdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -356,8 +356,8 @@ djcparam.o: djcparam.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -393,6 +393,7 @@ djcparam.o: djcparam.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -405,10 +406,10 @@ djdecbas.o: djdecbas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -444,6 +445,7 @@ djdecbas.o: djdecbas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -468,10 +470,10 @@ djdecext.o: djdecext.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -507,6 +509,7 @@ djdecext.o: djdecext.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -532,10 +535,10 @@ djdeclol.o: djdeclol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -571,6 +574,7 @@ djdeclol.o: djdeclol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -596,10 +600,10 @@ djdecode.o: djdecode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -639,6 +643,7 @@ djdecode.o: djdecode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djdecbas.h ../include/dcmtk/dcmjpeg/djcodecd.h \ ../include/dcmtk/dcmjpeg/djdecext.h ../include/dcmtk/dcmjpeg/djdecsps.h \ @@ -651,10 +656,10 @@ djdecpro.o: djdecpro.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -690,6 +695,7 @@ djdecpro.o: djdecpro.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -715,10 +721,10 @@ djdecsps.o: djdecsps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -754,6 +760,7 @@ djdecsps.o: djdecsps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -779,10 +786,10 @@ djdecsv1.o: djdecsv1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -818,6 +825,7 @@ djdecsv1.o: djdecsv1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -851,9 +859,9 @@ djdijg12.o: djdijg12.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -886,6 +894,7 @@ djdijg12.o: djdijg12.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmjpeg/libijg12/jpeglib12.h ../../dcmjpeg/libijg12/jconfig12.h \ @@ -907,9 +916,9 @@ djdijg16.o: djdijg16.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -942,6 +951,7 @@ djdijg16.o: djdijg16.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmjpeg/libijg16/jpeglib16.h ../../dcmjpeg/libijg16/jconfig16.h \ @@ -963,9 +973,9 @@ djdijg8.o: djdijg8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -998,6 +1008,7 @@ djdijg8.o: djdijg8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmjpeg/libijg8/jpeglib8.h ../../dcmjpeg/libijg8/jconfig8.h \ @@ -1012,7 +1023,6 @@ djeijg12.o: djeijg12.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmjpeg/djencabs.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1024,6 +1034,7 @@ djeijg12.o: djeijg12.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1056,6 +1067,7 @@ djeijg12.o: djeijg12.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmjpeg/libijg12/jpeglib12.h ../../dcmjpeg/libijg12/jconfig12.h \ ../../dcmjpeg/libijg12/jmorecfg12.h ../../dcmjpeg/libijg12/jerror12.h \ @@ -1070,7 +1082,6 @@ djeijg16.o: djeijg16.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmjpeg/djencabs.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1082,6 +1093,7 @@ djeijg16.o: djeijg16.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1114,6 +1126,7 @@ djeijg16.o: djeijg16.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmjpeg/libijg16/jpeglib16.h ../../dcmjpeg/libijg16/jconfig16.h \ ../../dcmjpeg/libijg16/jmorecfg16.h ../../dcmjpeg/libijg16/jerror16.h \ @@ -1128,7 +1141,6 @@ djeijg8.o: djeijg8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmjpeg/djencabs.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1140,6 +1152,7 @@ djeijg8.o: djeijg8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1172,6 +1185,7 @@ djeijg8.o: djeijg8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmjpeg/libijg8/jpeglib8.h ../../dcmjpeg/libijg8/jconfig8.h \ ../../dcmjpeg/libijg8/jmorecfg8.h ../../dcmjpeg/libijg8/jerror8.h \ @@ -1185,10 +1199,10 @@ djencbas.o: djencbas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1224,12 +1238,16 @@ djencbas.o: djencbas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ - ../include/dcmtk/dcmjpeg/djdefine.h ../include/dcmtk/dcmjpeg/djcparam.h \ - ../include/dcmtk/dcmjpeg/djrploss.h \ + ../include/dcmtk/dcmjpeg/djdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmjpeg/djcparam.h ../include/dcmtk/dcmjpeg/djrploss.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ @@ -1248,10 +1266,10 @@ djencext.o: djencext.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1287,12 +1305,16 @@ djencext.o: djencext.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ - ../include/dcmtk/dcmjpeg/djdefine.h ../include/dcmtk/dcmjpeg/djcparam.h \ - ../include/dcmtk/dcmjpeg/djrploss.h \ + ../include/dcmtk/dcmjpeg/djdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmjpeg/djcparam.h ../include/dcmtk/dcmjpeg/djrploss.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ @@ -1312,10 +1334,10 @@ djenclol.o: djenclol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1351,12 +1373,16 @@ djenclol.o: djenclol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ - ../include/dcmtk/dcmjpeg/djdefine.h ../include/dcmtk/dcmjpeg/djcparam.h \ - ../include/dcmtk/dcmjpeg/djrplol.h \ + ../include/dcmtk/dcmjpeg/djdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmjpeg/djcparam.h ../include/dcmtk/dcmjpeg/djrplol.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ @@ -1376,10 +1402,10 @@ djencode.o: djencode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1419,6 +1445,7 @@ djencode.o: djencode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djencbas.h ../include/dcmtk/dcmjpeg/djcodece.h \ ../include/dcmtk/dcmjpeg/djencext.h ../include/dcmtk/dcmjpeg/djencsps.h \ @@ -1431,10 +1458,10 @@ djencpro.o: djencpro.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1470,12 +1497,16 @@ djencpro.o: djencpro.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ - ../include/dcmtk/dcmjpeg/djdefine.h ../include/dcmtk/dcmjpeg/djcparam.h \ - ../include/dcmtk/dcmjpeg/djrploss.h \ + ../include/dcmtk/dcmjpeg/djdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmjpeg/djcparam.h ../include/dcmtk/dcmjpeg/djrploss.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ @@ -1495,10 +1526,10 @@ djencsps.o: djencsps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1534,12 +1565,16 @@ djencsps.o: djencsps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ - ../include/dcmtk/dcmjpeg/djdefine.h ../include/dcmtk/dcmjpeg/djcparam.h \ - ../include/dcmtk/dcmjpeg/djrploss.h \ + ../include/dcmtk/dcmjpeg/djdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmjpeg/djcparam.h ../include/dcmtk/dcmjpeg/djrploss.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ @@ -1559,10 +1594,10 @@ djencsv1.o: djencsv1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1598,12 +1633,16 @@ djencsv1.o: djencsv1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ - ../include/dcmtk/dcmjpeg/djdefine.h ../include/dcmtk/dcmjpeg/djcparam.h \ - ../include/dcmtk/dcmjpeg/djrplol.h \ + ../include/dcmtk/dcmjpeg/djdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../include/dcmtk/dcmjpeg/djcparam.h ../include/dcmtk/dcmjpeg/djrplol.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ @@ -1630,8 +1669,8 @@ djrplol.o: djrplol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1667,6 +1706,7 @@ djrplol.o: djrplol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1687,8 +1727,8 @@ djrploss.o: djrploss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1724,6 +1764,7 @@ djrploss.o: djrploss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1738,8 +1779,8 @@ djutils.o: djutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1781,7 +1822,6 @@ djutils.o: djutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -1790,6 +1830,7 @@ djutils.o: djutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ diff --git a/dcmjpeg/libsrc/djcodecd.cc b/dcmjpeg/libsrc/djcodecd.cc index 364b7553..5b0eeea2 100644 --- a/dcmjpeg/libsrc/djcodecd.cc +++ b/dcmjpeg/libsrc/djcodecd.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2022, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,6 +21,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmjpeg/djcodecd.h" +#include "dcmtk/ofstd/ofstd.h" // dcmdata includes #include "dcmtk/dcmdata/dcdatset.h" /* for class DcmDataset */ @@ -53,7 +54,8 @@ OFBool DJCodecDecoder::canChangeCoding( { E_TransferSyntax myXfer = supportedTransferSyntax(); DcmXfer newRep(newRepType); - if (newRep.isNotEncapsulated() && (oldRepType == myXfer)) return OFTrue; // decompress requested + if (newRep.usesNativeFormat() && (oldRepType == myXfer)) + return OFTrue; // decompress requested // we don't support re-coding for now. return OFFalse; @@ -150,8 +152,25 @@ OFCondition DJCodecDecoder::decode( if (jpeg == NULL) result = EC_MemoryExhausted; else { - size_t frameSize = ((precision > 8) ? sizeof(Uint16) : sizeof(Uint8)) * imageRows * imageColumns * imageSamplesPerPixel; - size_t totalSize = frameSize * imageFrames; + Uint32 imageBytesAllocated = (precision > 8) ? sizeof(Uint16) : sizeof(Uint8); + Uint32 frameSize = imageBytesAllocated * imageRows * imageColumns * imageSamplesPerPixel; + + // check for overflow + if (imageRows != 0 && frameSize / imageRows != (imageBytesAllocated * imageColumns * imageSamplesPerPixel)) + { + DCMJPEG_WARN("cannot decompress image because uncompressed representation would exceed maximum possible size of PixelData attribute"); + return EC_ElemLengthExceeds32BitField; + } + + Uint32 totalSize = frameSize * imageFrames; + + // check for overflow + if (totalSize == 0xFFFFFFFF || (frameSize != 0 && totalSize / frameSize != OFstatic_cast(Uint32, imageFrames))) + { + DCMJPEG_WARN("cannot decompress image because uncompressed representation would exceed maximum possible size of PixelData attribute"); + return EC_ElemLengthExceeds32BitField; + } + if (totalSize & 1) totalSize++; // align on 16-bit word boundary Uint16 *imageData16 = NULL; Sint32 currentFrame = 0; @@ -166,7 +185,7 @@ OFCondition DJCodecDecoder::decode( } } - result = uncompressedPixelData.createUint16Array(OFstatic_cast(Uint32, totalSize / sizeof(Uint16)), imageData16); + result = uncompressedPixelData.createUint16Array(totalSize / sizeof(Uint16), imageData16); if (result.good()) { Uint8 *imageData8 = OFreinterpret_cast(Uint8*, imageData16); @@ -324,7 +343,7 @@ OFCondition DJCodecDecoder::decode( if (result.good() && (numberOfFramesPresent || (imageFrames > 1))) { char numBuf[20]; - sprintf(numBuf, "%ld", OFstatic_cast(long, imageFrames)); + OFStandard::snprintf(numBuf, sizeof(numBuf), "%ld", OFstatic_cast(long, imageFrames)); result = OFreinterpret_cast(DcmItem*, dataset)->putAndInsertString(DCM_NumberOfFrames, numBuf); } @@ -492,7 +511,16 @@ OFCondition DJCodecDecoder::decodeFrame( if (precision == 0) result = EC_CannotChangeRepresentation; // something has gone wrong, bail out else { - size_t frameSize = ((precision > 8) ? sizeof(Uint16) : sizeof(Uint8)) * imageRows * imageColumns * imageSamplesPerPixel; + Uint32 imageBytesAllocated = (precision > 8) ? sizeof(Uint16) : sizeof(Uint8); + Uint32 frameSize = imageBytesAllocated * imageRows * imageColumns * imageSamplesPerPixel; + + // check for overflow + if (imageRows != 0 && frameSize / imageRows != (imageBytesAllocated * imageColumns * imageSamplesPerPixel)) + { + DCMJPEG_WARN("cannot decompress image because uncompressed representation would exceed maximum possible size of PixelData attribute"); + return EC_ElemLengthExceeds32BitField; + } + if (frameSize > bufSize) return EC_IllegalCall; DJDecoder *jpeg = createDecoderInstance(fromParam, djcp, precision, isYBR); diff --git a/dcmjpeg/libsrc/djcodece.cc b/dcmjpeg/libsrc/djcodece.cc index 4128a204..de973c5d 100644 --- a/dcmjpeg/libsrc/djcodece.cc +++ b/dcmjpeg/libsrc/djcodece.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2022, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -67,7 +67,8 @@ OFBool DJCodecEncoder::canChangeCoding( E_TransferSyntax myXfer = supportedTransferSyntax(); DcmXfer newRep(newRepType); DcmXfer oldRep(oldRepType); - if (oldRep.isNotEncapsulated() && (newRepType == myXfer)) return OFTrue; // compress requested + if (oldRep.usesNativeFormat() && (newRepType == myXfer)) + return OFTrue; // compress requested // we don't support re-coding for now return OFFalse; @@ -1399,17 +1400,17 @@ OFCondition DJCodecEncoder::correctVOIWindows( DcmElement *explanation = NULL; DcmStack stack; - if ((dataset->search(DCM_WindowCenter, stack, ESM_fromHere, OFFalse)).good()) + if ((dataset->search(DCM_WindowCenter, stack, ESM_fromHere, OFFalse)).good() && stack.top()->isElement()) { center = OFreinterpret_cast(DcmElement*, stack.top()); } stack.clear(); - if ((dataset->search(DCM_WindowWidth, stack, ESM_fromHere, OFFalse)).good()) + if ((dataset->search(DCM_WindowWidth, stack, ESM_fromHere, OFFalse)).good() && stack.top()->isElement()) { width = OFreinterpret_cast(DcmElement*, stack.top()); } stack.clear(); - if ((dataset->search(DCM_WindowCenterWidthExplanation, stack, ESM_fromHere, OFFalse)).good()) + if ((dataset->search(DCM_WindowCenterWidthExplanation, stack, ESM_fromHere, OFFalse)).good() && stack.top()->isElement()) { explanation = OFreinterpret_cast(DcmElement*, stack.top()); } diff --git a/dcmjpeg/libsrc/djdijg12.cc b/dcmjpeg/libsrc/djdijg12.cc index 36e45ee5..8ce22513 100644 --- a/dcmjpeg/libsrc/djdijg12.cc +++ b/dcmjpeg/libsrc/djdijg12.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2021, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,16 +27,6 @@ #include "dcmtk/ofstd/ofdiag.h" #include -// These two macros are re-defined in the IJG header files. -// We undefine them here and hope that IJG's configure has -// come to the same conclusion that we have... -#ifdef HAVE_STDLIB_H -#undef HAVE_STDLIB_H -#endif -#ifdef HAVE_STDDEF_H -#undef HAVE_STDDEF_H -#endif - BEGIN_EXTERN_C #define boolean ijg_boolean #include "jpeglib12.h" @@ -212,7 +202,7 @@ OFCondition DJDecompressIJG12Bit::init() decompressedColorModel = EPI_Unknown; cleanup(); // prevent double initialization - cinfo = new jpeg_decompress_struct(); + cinfo = new dcmtk_jpeg12_decompress_struct(); if (cinfo) { volatile DJDIJG12SourceManagerStruct *src = NULL; diff --git a/dcmjpeg/libsrc/djdijg16.cc b/dcmjpeg/libsrc/djdijg16.cc index 56129733..1943cd7f 100644 --- a/dcmjpeg/libsrc/djdijg16.cc +++ b/dcmjpeg/libsrc/djdijg16.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2021, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,16 +27,6 @@ #include "dcmtk/ofstd/ofdiag.h" #include -// These two macros are re-defined in the IJG header files. -// We undefine them here and hope that IJG's configure has -// come to the same conclusion that we have... -#ifdef HAVE_STDLIB_H -#undef HAVE_STDLIB_H -#endif -#ifdef HAVE_STDDEF_H -#undef HAVE_STDDEF_H -#endif - BEGIN_EXTERN_C #define boolean ijg_boolean #include "jpeglib16.h" @@ -212,7 +202,7 @@ OFCondition DJDecompressIJG16Bit::init() decompressedColorModel = EPI_Unknown; cleanup(); // prevent double initialization - cinfo = new jpeg_decompress_struct(); + cinfo = new dcmtk_jpeg16_decompress_struct(); if (cinfo) { volatile DJDIJG16SourceManagerStruct *src = NULL; diff --git a/dcmjpeg/libsrc/djdijg8.cc b/dcmjpeg/libsrc/djdijg8.cc index 79730b73..ec9533c2 100644 --- a/dcmjpeg/libsrc/djdijg8.cc +++ b/dcmjpeg/libsrc/djdijg8.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2021, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,16 +27,6 @@ #include "dcmtk/ofstd/ofdiag.h" #include -// These two macros are re-defined in the IJG header files. -// We undefine them here and hope that IJG's configure has -// come to the same conclusion that we have... -#ifdef HAVE_STDLIB_H -#undef HAVE_STDLIB_H -#endif -#ifdef HAVE_STDDEF_H -#undef HAVE_STDDEF_H -#endif - BEGIN_EXTERN_C #define boolean ijg_boolean #include "jpeglib8.h" @@ -213,7 +203,7 @@ OFCondition DJDecompressIJG8Bit::init() decompressedColorModel = EPI_Unknown; cleanup(); // prevent double initialization - cinfo = new jpeg_decompress_struct(); + cinfo = new dcmtk_jpeg8_decompress_struct(); if (cinfo) { volatile DJDIJG8SourceManagerStruct *src = NULL; diff --git a/dcmjpeg/libsrc/djeijg12.cc b/dcmjpeg/libsrc/djeijg12.cc index 9ff7292d..62fa1a43 100644 --- a/dcmjpeg/libsrc/djeijg12.cc +++ b/dcmjpeg/libsrc/djeijg12.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1997-2021, OFFIS e.V. + * Copyright (C) 1997-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,16 +27,6 @@ #include "dcmtk/ofstd/ofdiag.h" #include -// These two macros are re-defined in the IJG header files. -// We undefine them here and hope that IJG's configure has -// come to the same conclusion that we have... -#ifdef HAVE_STDLIB_H -#undef HAVE_STDLIB_H -#endif -#ifdef HAVE_STDDEF_H -#undef HAVE_STDDEF_H -#endif - // use 16K blocks for temporary storage of compressed JPEG data #define IJGE12_BLOCKSIZE 16384 @@ -350,7 +340,7 @@ OFCondition DJCompressIJG12Bit::encode( Uint32 & length) { - struct jpeg_compress_struct cinfo; + struct dcmtk_jpeg12_compress_struct cinfo; struct DJEIJG12ErrorStruct jerr; cinfo.err = jpeg_std_error(&jerr.pub); jerr.instance = this; @@ -494,7 +484,7 @@ OFCondition DJCompressIJG12Bit::encode( #include DCMTK_DIAGNOSTIC_POP -void DJCompressIJG12Bit::initDestination(jpeg_compress_struct *cinfo) +void DJCompressIJG12Bit::initDestination(dcmtk_jpeg12_compress_struct *cinfo) { cleanup(); // erase old list of compressed blocks, if any @@ -512,7 +502,7 @@ void DJCompressIJG12Bit::initDestination(jpeg_compress_struct *cinfo) } } -int DJCompressIJG12Bit::emptyOutputBuffer(jpeg_compress_struct *cinfo) +int DJCompressIJG12Bit::emptyOutputBuffer(dcmtk_jpeg12_compress_struct *cinfo) { bytesInLastBlock = 0; unsigned char *newBlock = new unsigned char[IJGE12_BLOCKSIZE]; @@ -532,7 +522,7 @@ int DJCompressIJG12Bit::emptyOutputBuffer(jpeg_compress_struct *cinfo) } -void DJCompressIJG12Bit::termDestination(jpeg_compress_struct *cinfo) +void DJCompressIJG12Bit::termDestination(dcmtk_jpeg12_compress_struct *cinfo) { bytesInLastBlock = IJGE12_BLOCKSIZE - cinfo->dest->free_in_buffer; } diff --git a/dcmjpeg/libsrc/djeijg16.cc b/dcmjpeg/libsrc/djeijg16.cc index 68ea601e..1fa0d29e 100644 --- a/dcmjpeg/libsrc/djeijg16.cc +++ b/dcmjpeg/libsrc/djeijg16.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1997-2021, OFFIS e.V. + * Copyright (C) 1997-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,16 +27,6 @@ #include "dcmtk/ofstd/ofdiag.h" #include -// These two macros are re-defined in the IJG header files. -// We undefine them here and hope that IJG's configure has -// come to the same conclusion that we have... -#ifdef HAVE_STDLIB_H -#undef HAVE_STDLIB_H -#endif -#ifdef HAVE_STDDEF_H -#undef HAVE_STDDEF_H -#endif - // use 16K blocks for temporary storage of compressed JPEG data #define IJGE16_BLOCKSIZE 16384 @@ -196,7 +186,7 @@ OFCondition DJCompressIJG16Bit::encode( Uint32 & length) { - struct jpeg_compress_struct cinfo; + struct dcmtk_jpeg16_compress_struct cinfo; struct DJEIJG16ErrorStruct jerr; cinfo.err = jpeg_std_error(&jerr.pub); jerr.instance = this; @@ -331,7 +321,7 @@ OFCondition DJCompressIJG16Bit::encode( #include DCMTK_DIAGNOSTIC_POP -void DJCompressIJG16Bit::initDestination(jpeg_compress_struct *cinfo) +void DJCompressIJG16Bit::initDestination(dcmtk_jpeg16_compress_struct *cinfo) { cleanup(); // erase old list of compressed blocks, if any @@ -349,7 +339,7 @@ void DJCompressIJG16Bit::initDestination(jpeg_compress_struct *cinfo) } } -int DJCompressIJG16Bit::emptyOutputBuffer(jpeg_compress_struct *cinfo) +int DJCompressIJG16Bit::emptyOutputBuffer(dcmtk_jpeg16_compress_struct *cinfo) { bytesInLastBlock = 0; unsigned char *newBlock = new unsigned char[IJGE16_BLOCKSIZE]; @@ -369,7 +359,7 @@ int DJCompressIJG16Bit::emptyOutputBuffer(jpeg_compress_struct *cinfo) } -void DJCompressIJG16Bit::termDestination(jpeg_compress_struct *cinfo) +void DJCompressIJG16Bit::termDestination(dcmtk_jpeg16_compress_struct *cinfo) { bytesInLastBlock = IJGE16_BLOCKSIZE - cinfo->dest->free_in_buffer; } diff --git a/dcmjpeg/libsrc/djeijg8.cc b/dcmjpeg/libsrc/djeijg8.cc index c5f40bf9..062fd26d 100644 --- a/dcmjpeg/libsrc/djeijg8.cc +++ b/dcmjpeg/libsrc/djeijg8.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1997-2021, OFFIS e.V. + * Copyright (C) 1997-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,16 +27,6 @@ #include "dcmtk/ofstd/ofdiag.h" #include -// These two macros are re-defined in the IJG header files. -// We undefine them here and hope that IJG's configure has -// come to the same conclusion that we have... -#ifdef HAVE_STDLIB_H -#undef HAVE_STDLIB_H -#endif -#ifdef HAVE_STDDEF_H -#undef HAVE_STDDEF_H -#endif - // use 16K blocks for temporary storage of compressed JPEG data #define IJGE8_BLOCKSIZE 16384 @@ -351,7 +341,7 @@ OFCondition DJCompressIJG8Bit::encode( Uint32 & length) { - struct jpeg_compress_struct cinfo; + struct dcmtk_jpeg8_compress_struct cinfo; struct DJEIJG8ErrorStruct jerr; cinfo.err = jpeg_std_error(&jerr.pub); jerr.instance = this; @@ -496,7 +486,7 @@ OFCondition DJCompressIJG8Bit::encode( #include DCMTK_DIAGNOSTIC_POP -void DJCompressIJG8Bit::initDestination(jpeg_compress_struct *cinfo) +void DJCompressIJG8Bit::initDestination(dcmtk_jpeg8_compress_struct *cinfo) { cleanup(); // erase old list of compressed blocks, if any @@ -514,7 +504,7 @@ void DJCompressIJG8Bit::initDestination(jpeg_compress_struct *cinfo) } } -int DJCompressIJG8Bit::emptyOutputBuffer(jpeg_compress_struct *cinfo) +int DJCompressIJG8Bit::emptyOutputBuffer(dcmtk_jpeg8_compress_struct *cinfo) { bytesInLastBlock = 0; unsigned char *newBlock = new unsigned char[IJGE8_BLOCKSIZE]; @@ -535,7 +525,7 @@ int DJCompressIJG8Bit::emptyOutputBuffer(jpeg_compress_struct *cinfo) } -void DJCompressIJG8Bit::termDestination(jpeg_compress_struct *cinfo) +void DJCompressIJG8Bit::termDestination(dcmtk_jpeg8_compress_struct *cinfo) { bytesInLastBlock = IJGE8_BLOCKSIZE - cinfo->dest->free_in_buffer; } diff --git a/dcmjpeg/libsrc/djencbas.cc b/dcmjpeg/libsrc/djencbas.cc index e6d46155..92ca9f6a 100644 --- a/dcmjpeg/libsrc/djencbas.cc +++ b/dcmjpeg/libsrc/djencbas.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2014, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,6 +21,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmjpeg/djencbas.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmjpeg/djcparam.h" #include "dcmtk/dcmjpeg/djrploss.h" #include "dcmtk/dcmjpeg/djeijg8.h" @@ -61,7 +62,7 @@ void DJEncoderBaseline::createDerivationDescription( char buf[64]; derivationDescription = "Lossy compression with JPEG baseline, IJG quality factor "; - sprintf(buf, "%u", rp->getQuality()); + OFStandard::snprintf(buf, sizeof(buf), "%u", rp->getQuality()); derivationDescription += buf; derivationDescription += ", compression ratio "; appendCompressionRatio(derivationDescription, ratio); diff --git a/dcmjpeg/libsrc/djencext.cc b/dcmjpeg/libsrc/djencext.cc index 172bcbfa..fa9f67b8 100644 --- a/dcmjpeg/libsrc/djencext.cc +++ b/dcmjpeg/libsrc/djencext.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2014, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,6 +21,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmjpeg/djencext.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmjpeg/djcparam.h" #include "dcmtk/dcmjpeg/djrploss.h" #include "dcmtk/dcmjpeg/djeijg8.h" @@ -63,7 +64,7 @@ void DJEncoderExtended::createDerivationDescription( derivationDescription = "Lossy compression with JPEG extended sequential "; if (bitsPerSample > 8) derivationDescription += "12 bit"; else derivationDescription += "8 bit"; derivationDescription += ", IJG quality factor "; - sprintf(buf, "%u", rp->getQuality()); + OFStandard::snprintf(buf, sizeof(buf), "%u", rp->getQuality()); derivationDescription += buf; derivationDescription += ", compression ratio "; appendCompressionRatio(derivationDescription, ratio); diff --git a/dcmjpeg/libsrc/djenclol.cc b/dcmjpeg/libsrc/djenclol.cc index c90ba955..ded53354 100644 --- a/dcmjpeg/libsrc/djenclol.cc +++ b/dcmjpeg/libsrc/djenclol.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2014, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,6 +21,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmjpeg/djenclol.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmjpeg/djcparam.h" #include "dcmtk/dcmjpeg/djrplol.h" #include "dcmtk/dcmjpeg/djeijg8.h" @@ -66,10 +67,10 @@ void DJEncoderLossless::createDerivationDescription( derivationDescription = "Lossless JPEG compression, selection value "; else derivationDescription = "Pseudo-Lossless JPEG compression, selection value "; - sprintf(buf, "%u", rp->getPrediction()); + OFStandard::snprintf(buf, sizeof(buf), "%u", rp->getPrediction()); derivationDescription += buf; derivationDescription += ", point transform "; - sprintf(buf, "%u", rp->getPointTransformation()); + OFStandard::snprintf(buf, sizeof(buf), "%u", rp->getPointTransformation()); derivationDescription += buf; derivationDescription += ", compression ratio "; appendCompressionRatio(derivationDescription, ratio); diff --git a/dcmjpeg/libsrc/djencpro.cc b/dcmjpeg/libsrc/djencpro.cc index 0d3a1109..51ee37c0 100644 --- a/dcmjpeg/libsrc/djencpro.cc +++ b/dcmjpeg/libsrc/djencpro.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2014, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,6 +21,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmjpeg/djencpro.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmjpeg/djcparam.h" #include "dcmtk/dcmjpeg/djrploss.h" #include "dcmtk/dcmjpeg/djeijg8.h" @@ -64,7 +65,7 @@ void DJEncoderProgressive::createDerivationDescription( derivationDescription = "Lossy compression with JPEG full progression "; if (bitsPerSample > 8) derivationDescription += "12 bit"; else derivationDescription += "8 bit"; derivationDescription += ", IJG quality factor "; - sprintf(buf, "%u", rp->getQuality()); + OFStandard::snprintf(buf, sizeof(buf), "%u", rp->getQuality()); derivationDescription += buf; derivationDescription += ", compression ratio "; appendCompressionRatio(derivationDescription, ratio); diff --git a/dcmjpeg/libsrc/djencsps.cc b/dcmjpeg/libsrc/djencsps.cc index 44d34b40..d59d2d2f 100644 --- a/dcmjpeg/libsrc/djencsps.cc +++ b/dcmjpeg/libsrc/djencsps.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2014, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,6 +21,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmjpeg/djencsps.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmjpeg/djcparam.h" #include "dcmtk/dcmjpeg/djrploss.h" #include "dcmtk/dcmjpeg/djeijg8.h" @@ -64,7 +65,7 @@ void DJEncoderSpectralSelection::createDerivationDescription( derivationDescription = "Lossy compression with JPEG spectral selection "; if (bitsPerSample > 8) derivationDescription += "12 bit"; else derivationDescription += "8 bit"; derivationDescription += ", IJG quality factor "; - sprintf(buf, "%u", rp->getQuality()); + OFStandard::snprintf(buf, sizeof(buf), "%u", rp->getQuality()); derivationDescription += buf; derivationDescription += ", compression ratio "; appendCompressionRatio(derivationDescription, ratio); diff --git a/dcmjpeg/libsrc/djencsv1.cc b/dcmjpeg/libsrc/djencsv1.cc index 548ded48..f62bf751 100644 --- a/dcmjpeg/libsrc/djencsv1.cc +++ b/dcmjpeg/libsrc/djencsv1.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2014, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,6 +21,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmjpeg/djencsv1.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmjpeg/djcparam.h" #include "dcmtk/dcmjpeg/djrplol.h" #include "dcmtk/dcmjpeg/djeijg8.h" @@ -66,7 +67,7 @@ void DJEncoderP14SV1::createDerivationDescription( derivationDescription = "Lossless JPEG compression, selection value 1, point transform "; else derivationDescription = "Pseudo-Lossless JPEG compression, selection value 1, point transform "; - sprintf(buf, "%u", rp->getPointTransformation()); + OFStandard::snprintf(buf, sizeof(buf), "%u", rp->getPointTransformation()); derivationDescription += buf; derivationDescription += ", compression ratio "; appendCompressionRatio(derivationDescription, ratio); diff --git a/dcmjpls/apps/Makefile.dep b/dcmjpls/apps/Makefile.dep index 9a8bd205..f878a7c9 100644 --- a/dcmjpls/apps/Makefile.dep +++ b/dcmjpls/apps/Makefile.dep @@ -13,9 +13,9 @@ dcmcjpls.o: dcmcjpls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -45,12 +45,12 @@ dcmcjpls.o: dcmcjpls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -146,9 +146,9 @@ dcmdjpls.o: dcmdjpls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -178,12 +178,12 @@ dcmdjpls.o: dcmdjpls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -262,158 +262,8 @@ dcmdjpls.o: dcmdjpls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmimage/include/dcmtk/dcmimage/dicdefin.h \ ../include/dcmtk/dcmjpls/djlsutil.h ../include/dcmtk/dcmjpls/dldefine.h \ ../include/dcmtk/dcmjpls/djdecode.h -dcml2pnm.o: dcml2pnm.cc ../../dcmimage/apps/dcm2pnm.cc \ - ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ +dcml2pnm.o: dcml2pnm.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/ofstub.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../oflog/include/dcmtk/oflog/config/defines.h \ - ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ - ../../oflog/include/dcmtk/oflog/loglevel.h \ - ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../oflog/include/dcmtk/oflog/tchar.h \ - ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ - ../../oflog/include/dcmtk/oflog/appender.h \ - ../../ofstd/include/dcmtk/ofstd/ofmem.h \ - ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ - ../../oflog/include/dcmtk/oflog/layout.h \ - ../../oflog/include/dcmtk/oflog/streams.h \ - ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ - ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ - ../../oflog/include/dcmtk/oflog/spi/filter.h \ - ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ - ../../oflog/include/dcmtk/oflog/spi/logfact.h \ - ../../oflog/include/dcmtk/oflog/logmacro.h \ - ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ - ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcrledrg.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimoimg.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfcache.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diovlay.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diobjcou.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diovdat.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diovpln.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimopx.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dipixel.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimomod.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diluptab.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dibaslut.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dimoopx.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/didispfn.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/digsdfn.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diciefn.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/dicielut.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/didislut.h \ - ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ - ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ - ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h \ - ../../dcmimage/include/dcmtk/dcmimage/diregist.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diregbas.h \ - ../../dcmimage/include/dcmtk/dcmimage/dicdefin.h \ - ../include/dcmtk/dcmjpls/djdecode.h ../include/dcmtk/dcmjpls/djlsutil.h \ - ../include/dcmtk/dcmjpls/dldefine.h \ - ../../dcmimage/include/dcmtk/dcmimage/dipitiff.h \ - ../../dcmimgle/include/dcmtk/dcmimgle/diplugin.h \ - ../../dcmimage/include/dcmtk/dcmimage/dipipng.h + ../../ofstd/include/dcmtk/ofstd/ofexport.h diff --git a/dcmjpls/apps/dcmcjpls.cc b/dcmjpls/apps/dcmcjpls.cc index 6921f71d..4c5cdf5a 100644 --- a/dcmjpls/apps/dcmcjpls.cc +++ b/dcmjpls/apps/dcmcjpls.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2022, OFFIS e.V. + * Copyright (C) 2007-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -437,7 +437,7 @@ LICENSE_FILE_EVALUATE_COMMAND_LINE_OPTIONS DcmDataset *dataset = fileformat.getDataset(); DcmXfer original_xfer(dataset->getOriginalXfer()); - if (original_xfer.isEncapsulated()) + if (original_xfer.isPixelDataCompressed()) { OFLOG_INFO(dcmcjplsLogger, "DICOM file is already compressed, converting to uncompressed transfer syntax first"); if (EC_Normal != dataset->chooseRepresentation(EXS_LittleEndianExplicit, NULL)) diff --git a/dcmjpls/apps/dcml2pnm.cc b/dcmjpls/apps/dcml2pnm.cc index 20b75dd6..de171671 100644 --- a/dcmjpls/apps/dcml2pnm.cc +++ b/dcmjpls/apps/dcml2pnm.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2011, OFFIS e.V. + * Copyright (C) 2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -13,15 +13,16 @@ * * Module: dcmjpls * - * Author: Uli Schlachter + * Authors: Marco Eichelberg * - * Purpose: Convert DICOM Images to PPM or PGM using the dcmimage/dcmjpls library. + * Purpose: Proxy stub that calls dcm2img * */ +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/ofstd/ofstub.h" -// compile "dcm2pnm" with dcmjpls support -#define BUILD_DCM2PNM_AS_DCML2PNM - -// include full implementation of "dcm2pnm" -#include "../../dcmimage/apps/dcm2pnm.cc" +int main(int argc, char** argv) +{ + return OFstub_main(argc, argv, "dcml2pnm", "dcm2img"); +} diff --git a/dcmjpls/docs/dcmcjpls.man b/dcmjpls/docs/dcmcjpls.man index 9e577b13..d5d06560 100644 --- a/dcmjpls/docs/dcmcjpls.man +++ b/dcmjpls/docs/dcmcjpls.man @@ -387,6 +387,6 @@ It is an error if no data dictionary can be loaded. \section dcmcjpls_copyright COPYRIGHT -Copyright (C) 2009-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2009-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmjpls/docs/dcmdjpls.man b/dcmjpls/docs/dcmdjpls.man index bd88e379..9e7eee3f 100644 --- a/dcmjpls/docs/dcmdjpls.man +++ b/dcmjpls/docs/dcmdjpls.man @@ -280,6 +280,6 @@ It is an error if no data dictionary can be loaded. \section dcmdjpls_copyright COPYRIGHT -Copyright (C) 2009-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2009-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmjpls/docs/dcml2pnm.man b/dcmjpls/docs/dcml2pnm.man index 17e567bf..86d162fc 100644 --- a/dcmjpls/docs/dcml2pnm.man +++ b/dcmjpls/docs/dcml2pnm.man @@ -14,489 +14,15 @@ dcml2pnm [options] dcmfile-in [bitmap-out] \section dcml2pnm_description DESCRIPTION -The \b dcml2pnm utility reads a DICOM image, converts the pixel data according -to the selected image processing options and writes back an image in the -well-known PGM/PPM (portable gray map / portable pix map), PNG, TIFF or -Windows BMP format. This utility supports uncompressed as well as JPEG-LS -and RLE compressed DICOM images. - -\section dcml2pnm_parameters PARAMETERS - -\verbatim -dcmfile-in DICOM input filename to be converted ("-" for stdin) - -bitmap-out output filename to be written (default: stdout) -\endverbatim - -\section dcml2pnm_options OPTIONS - -\subsection dcml2pnm_general_options general options -\verbatim - -h --help - print this help text and exit - - --version - print version information and exit - - --arguments - print expanded command line arguments - - -q --quiet - quiet mode, print no warnings and errors - - -v --verbose - verbose mode, print processing details - - -d --debug - debug mode, print debug information - - -ll --log-level [l]evel: string constant - (fatal, error, warn, info, debug, trace) - use level l for the logger - - -lc --log-config [f]ilename: string - use config file f for the logger -\endverbatim - -\subsection dcml2pnm_input_options input options -\verbatim -input file format: - - +f --read-file - read file format or data set (default) - - +fo --read-file-only - read file format only - - -f --read-dataset - read data set without file meta information - -input transfer syntax: - - -t= --read-xfer-auto - use TS recognition (default) - - -td --read-xfer-detect - ignore TS specified in the file meta header - - -te --read-xfer-little - read with explicit VR little endian TS - - -tb --read-xfer-big - read with explicit VR big endian TS - - -ti --read-xfer-implicit - read with implicit VR little endian TS -\endverbatim - -\subsection dcml2pnm_image_processing_options image processing options -\verbatim -frame selection: - - +F --frame [n]umber: integer - select specified frame (default: 1) - - +Fr --frame-range [n]umber [c]ount: integer - select c frames beginning with frame n - - +Fa --all-frames - select all frames - -rotation: - - +Rl --rotate-left - rotate image left (-90 degrees) - - +Rr --rotate-right - rotate image right (+90 degrees) - - +Rtd --rotate-top-down - rotate image top-down (180 degrees) - -flipping: - - +Lh --flip-horizontally - flip image horizontally - - +Lv --flip-vertically - flip image vertically - - +Lhv --flip-both-axes - flip image horizontally and vertically - -scaling: - - +a --recognize-aspect - recognize pixel aspect ratio when scaling (default) - - -a --ignore-aspect - ignore pixel aspect ratio when scaling - - +i --interpolate [n]umber of algorithm: integer - use interpolation when scaling (1..4, default: 1) - - -i --no-interpolation - no interpolation when scaling - - -S --no-scaling - no scaling, ignore pixel aspect ratio (default) - - +Sxf --scale-x-factor [f]actor: float - scale x axis by factor, auto-compute y axis - - +Syf --scale-y-factor [f]actor: float - scale y axis by factor, auto-compute x axis - - +Sxv --scale-x-size [n]umber: integer - scale x axis to n pixels, auto-compute y axis - - +Syv --scale-y-size [n]umber: integer - scale y axis to n pixels, auto-compute x axis - -modality LUT transformation: - - -M --no-modality - ignore stored modality LUT transformation - - +M --use-modality - use modality LUT transformation (default) - -VOI LUT transformation: - - -W --no-windowing - no VOI windowing (default) - - +Wi --use-window [n]umber: integer - use the n-th VOI window from image file - - +Wl --use-voi-lut [n]umber: integer - use the n-th VOI look up table from image file - - +Wm --min-max-window - compute VOI window using min-max algorithm - - +Wn --min-max-window-n - compute VOI window using min-max algorithm, - ignoring extreme values - - +Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer - compute ROI window using min-max algorithm, - region of interest is specified by l,t,w,h - - +Wh --histogram-window [n]umber: integer - compute VOI window using Histogram algorithm, - ignoring n percent - - +Ww --set-window [c]enter [w]idth: float - compute VOI window using center c and width w - - +Wfl --linear-function - set VOI LUT function to LINEAR - - +Wfs --sigmoid-function - set VOI LUT function to SIGMOID - -presentation LUT transformation: - - +Pid --identity-shape - set presentation LUT shape to IDENTITY - - +Piv --inverse-shape - set presentation LUT shape to INVERSE - - +Pod --lin-od-shape - set presentation LUT shape to LIN OD - -overlay: - - -O --no-overlays - do not display overlays - - +O --display-overlay [n]umber: integer - display overlay n (0..16, 0=all, default: +O 0) - - +Omr --ovl-replace - use overlay mode "Replace" - (default for Graphic overlays) - - +Omt --ovl-threshold - use overlay mode "Threshold Replace" - - +Omc --ovl-complement - use overlay mode "Complement" - - +Omv --ovl-invert - use overlay mode "Invert Bitmap" - - +Omi --ovl-roi - use overlay mode "Region of Interest" - (default for ROI overlays) - - +Osf --set-foreground [d]ensity: float - set overlay foreground density (0..1, default: 1) - - +Ost --set-threshold [d]ensity: float - set overlay threshold density (0..1, default: 0.5) - -display LUT transformation: - - +Dm --monitor-file [f]ilename: string - calibrate output according to monitor characteristics - defined in f - - +Dp --printer-file [f]ilename: string - calibrate output according to printer characteristics - defined in f - - +Da --ambient-light [a]mbient light: float - ambient light value (cd/m^2, default: file f) - - +Di --illumination [i]llumination: float - illumination value (cd/m^2, default: file f) - - +Dn --min-density [m]inimum optical density: float - Dmin value (default: off, only with +Dp) - - +Dx --max-density [m]aximum optical density: float - Dmax value (default: off, only with +Dp) - - +Dg --gsd-function - use GSDF for calibration (default for +Dm/+Dp) - - +Dc --cielab-function - use CIELAB function for calibration - -compatibility: - - +Ma --accept-acr-nema - accept ACR-NEMA images without photometric - interpretation - - +Mp --accept-palettes - accept incorrect palette attribute tags - (0028,111x) and (0028,121x) - - +Mc --check-lut-depth - check 3rd value of the LUT descriptor, compare - with expected bit depth based on LUT data - - +Mm --ignore-mlut-depth - ignore 3rd value of the modality LUT descriptor, - determine bits per table entry automatically - - +Mv --ignore-vlut-depth - ignore 3rd value of the VOI LUT descriptor, - determine bits per table entry automatically - -TIFF format: - - +Tl --compr-lzw - LZW compression (default) - - +Tr --compr-rle - RLE compression - - +Tn --compr-none - uncompressed - - +Pd --predictor-default - no LZW predictor (default) - - +Pn --predictor-none - LZW predictor 1 (no prediction) - - +Ph --predictor-horz - LZW predictor 2 (horizontal differencing) - - +Rs --rows-per-strip [r]ows: integer (default: 0) - rows per strip, default 8K per strip - -PNG format: - - +il --interlace - create interlaced file (default) - - -il --nointerlace - create non-interlaced file - - +mf --meta-file - create PNG file meta information (default) - - -mf --meta-none - no PNG file meta information - -other transformations: - - +G --grayscale - convert color image to grayscale (monochrome) - - +P --change-polarity - change polarity (invert pixel output) - - +C --clip-region [l]eft [t]op [w]idth [h]eight: integer - clip image region (l, t, w, h) -\endverbatim - -\subsection dcml2pnm_output_options output options -\verbatim -general: - - -im --image-info - print image details (requires verbose mode) - - -o --no-output - do not create any output (useful with -im) - -filename generation (only with --frame-range or --all-frames): - - +Fc --use-frame-counter - use 0-based counter for filenames (default) - - +Fn --use-frame-number - use absolute frame number for filenames - -image format: - - +op --write-raw-pnm - write 8-bit binary PGM/PPM (default for files) - - +opb --write-8-bit-pnm - write 8-bit ASCII PGM/PPM (default for stdout) - - +opw --write-16-bit-pnm - write 16-bit ASCII PGM/PPM - - +opn --write-n-bit-pnm [n]umber: integer - write n-bit ASCII PGM/PPM (1..32) - - +ob --write-bmp - write 8-bit (monochrome) or 24-bit (color) BMP - - +obp --write-8-bit-bmp - write 8-bit palette BMP (monochrome only) - - +obt --write-24-bit-bmp - write 24-bit truecolor BMP - - +obr --write-32-bit-bmp - write 32-bit truecolor BMP - - +ot --write-tiff - write 8-bit (monochrome) or 24-bit (color) TIFF - - +on --write-png - write 8-bit (monochrome) or 24-bit (color) PNG - - +on2 --write-16-bit-png - write 16-bit (monochrome) or 48-bit (color) PNG -\endverbatim - -\section dcml2pnm_notes NOTES - -The following preferred interpolation algorithms can be selected using the -\e --interpolate option: - -- 1 = free scaling algorithm with interpolation from pbmplus toolkit -- 2 = free scaling algorithm with interpolation from c't magazine -- 3 = magnification algorithm with bilinear interpolation from Eduard Stanescu -- 4 = magnification algorithm with bicubic interpolation from Eduard Stanescu - -The \e --write-tiff option is only available when DCMTK has been configured -and compiled with support for the external \b libtiff TIFF library. The -availability of the TIFF compression options depends on the \b libtiff -configuration. - -The \e --write-png option is only available when DCMTK has been configured -and compiled with support for the external \b libpng PNG library. Option -\e --interlace enables progressive image view while loading the PNG file. -Only a few applications take care of the meta info (TEXT) in a PNG file. - -\section dcml2pnm_transfer_syntaxes TRANSFER SYNTAXES - -\b dcml2pnm supports the following transfer syntaxes for input (\e dcmfile-in): - -\verbatim -LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 -LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) -BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 -JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80 -JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81 -RLELosslessTransferSyntax 1.2.840.10008.1.2.5 -\endverbatim - -(*) if compiled with zlib support enabled - -\section dcml2pnm_logging LOGGING - -The level of logging output of the various command line tools and underlying -libraries can be specified by the user. By default, only errors and warnings -are written to the standard error stream. Using option \e --verbose also -informational messages like processing details are reported. Option -\e --debug can be used to get more details on the internal activity, e.g. for -debugging purposes. Other logging levels can be selected using option -\e --log-level. In \e --quiet mode only fatal errors are reported. In such -very severe error events, the application will usually terminate. For more -details on the different logging levels, see documentation of module "oflog". - -In case the logging output should be written to file (optionally with logfile -rotation), to syslog (Unix) or the event log (Windows) option \e --log-config -can be used. This configuration file also allows for directing only certain -messages to a particular output stream and for filtering certain messages -based on the module or application where they are generated. An example -configuration file is provided in \/logger.cfg. - -\section dcml2pnm_command_line COMMAND LINE - -All command line tools use the following notation for parameters: square -brackets enclose optional values (0-1), three trailing dots indicate that -multiple values are allowed (1-n), a combination of both means 0 to n values. - -Command line options are distinguished from parameters by a leading '+' or '-' -sign, respectively. Usually, order and position of command line options are -arbitrary (i.e. they can appear anywhere). However, if options are mutually -exclusive the rightmost appearance is used. This behavior conforms to the -standard evaluation rules of common Unix shells. - -In addition, one or more command files can be specified using an '@' sign as a -prefix to the filename (e.g. \@command.txt). Such a command argument -is replaced by the content of the corresponding text file (multiple -whitespaces are treated as a single separator unless they appear between two -quotation marks) prior to any further evaluation. Please note that a command -file cannot contain another command file. This simple but effective approach -allows one to summarize common combinations of options/parameters and avoids -longish and confusing command lines (an example is provided in file -\/dumppat.txt). - -\section dcml2pnm_environment ENVIRONMENT - -The \b dcml2pnm utility will attempt to load DICOM data dictionaries specified -in the \e DCMDICTPATH environment variable. By default, i.e. if the -\e DCMDICTPATH environment variable is not set, the file -\/dicom.dic will be loaded unless the dictionary is built -into the application (default for Windows). - -The default behavior should be preferred and the \e DCMDICTPATH environment -variable only used when alternative data dictionaries are required. The -\e DCMDICTPATH environment variable has the same format as the Unix shell -\e PATH variable in that a colon (":") separates entries. On Windows systems, -a semicolon (";") is used as a separator. The data dictionary code will -attempt to load each file specified in the \e DCMDICTPATH environment variable. -It is an error if no data dictionary can be loaded. - -\section dcml2pnm_files FILES - -\/camera.lut - sample characteristics file of a camera -\n\/monitor.lut - sample characteristics file of a monitor -\n\/printer.lut - sample characteristics file of a printer -\n\/scanner.lut - sample characteristics file of a scanner +The \b dcml2pnm tool is deprecated. Use \b dcm2img instead, which supports +the same command line parameters, and more. \section dcml2pnm_see_also SEE ALSO -dcm2pnm(1), img2dcm(1) +dcm2img(1) \section dcml2pnm_copyright COPYRIGHT -Copyright (C) 2001-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2001-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmjpls/include/dcmtk/dcmjpls/dipijpls.h b/dcmjpls/include/dcmtk/dcmjpls/dipijpls.h new file mode 100644 index 00000000..fd6f0e2e --- /dev/null +++ b/dcmjpls/include/dcmtk/dcmjpls/dipijpls.h @@ -0,0 +1,86 @@ +/* + * + * Copyright (C) 2024, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmjpls + * + * Author: Marco Eichelberg + * + * Purpose: JPEG-LS interface for pluggable image formats + * + */ + +#ifndef DIPIJPLS_H +#define DIPIJPLS_H + +#include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmimgle/diplugin.h" +#include "dcmtk/dcmjpls/dldefine.h" +#include "dcmtk/ofstd/oftypes.h" + +/*------------------------* + * forward declarations * + *------------------------*/ + +class DiImage; + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Implementation of a JPEG-LS plugin for the dcmimgle/dcmimage library + */ +class DCMTK_DCMJPLS_EXPORT DiJPLSPlugin: public DiPluginFormat +{ + +public: + + /** constructor + */ + DiJPLSPlugin(); + + /** destructor + */ + virtual ~DiJPLSPlugin(); + + /** write given image to a file stream (JPLS format) + * @param image pointer to DICOM image object to be written + * @param stream stream to which the image is written (open in binary mode!) + * @param frame index of frame used for output (default: first frame = 0) + * @return true if successful, false otherwise + */ + virtual int write(DiImage *image, + FILE *stream, + const unsigned long frame = 0) const; + + /** enable or disable true lossless compression mode + * @param mode, OFTrue for true lossless, OFFalse for rendered lossless + */ + void setTrueLosslessMode(OFBool mode); + + /** enable or disable forcing the output image bit depth to 8 bits in rendered lossless mode + * @param mode, OFTrue for force to 8 bits + */ + void setForce8BitMode(OFBool mode); + +private: + + /// flag indicating the active compression mode + OFBool trueLosslessMode_; + + /// flag indicating the force-to-8-bit mode in rendered lossless mode + OFBool force8BitMode_; + +}; + + +#endif diff --git a/dcmjpls/libcharls/Makefile.dep b/dcmjpls/libcharls/Makefile.dep index ad8dc971..844aae70 100644 --- a/dcmjpls/libcharls/Makefile.dep +++ b/dcmjpls/libcharls/Makefile.dep @@ -4,8 +4,7 @@ header.o: header.cc config.h util.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h pubtypes.h header.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h pubtypes.h header.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -24,11 +23,11 @@ intrface.o: intrface.cc config.h util.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h pubtypes.h intrface.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h pubtypes.h intrface.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -36,7 +35,6 @@ intrface.o: intrface.cc config.h util.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h header.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ @@ -51,8 +49,7 @@ jpegls.o: jpegls.cc config.h util.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h pubtypes.h streams.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h pubtypes.h streams.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ diff --git a/dcmjpls/libcharls/config.h b/dcmjpls/libcharls/config.h index 1f3dfa33..89abe717 100644 --- a/dcmjpls/libcharls/config.h +++ b/dcmjpls/libcharls/config.h @@ -29,11 +29,7 @@ // charls will work correctly with 64 or 32 bit. typedef long LONG; -enum constants -{ - LONG_BITCOUNT = sizeof(LONG)*8 -}; - +const int LONG_BITCOUNT = sizeof(LONG)*8; typedef unsigned char BYTE; typedef unsigned short USHORT; diff --git a/dcmjpls/libsrc/CMakeLists.txt b/dcmjpls/libsrc/CMakeLists.txt index efe322c1..70474649 100644 --- a/dcmjpls/libsrc/CMakeLists.txt +++ b/dcmjpls/libsrc/CMakeLists.txt @@ -10,6 +10,7 @@ DCMTK_ADD_LIBRARY(dcmjpls djcodecd.cc djutils.cc djcodece.cc + dipijpls.cc ) DCMTK_TARGET_LINK_MODULES(dcmjpls ofstd oflog dcmdata dcmimgle dcmimage dcmtkcharls) diff --git a/dcmjpls/libsrc/Makefile.dep b/dcmjpls/libsrc/Makefile.dep index ba713986..3e5e9671 100644 --- a/dcmjpls/libsrc/Makefile.dep +++ b/dcmjpls/libsrc/Makefile.dep @@ -1,3 +1,78 @@ +dipijpls.o: dipijpls.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmjpls/dipijpls.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diplugin.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../include/dcmtk/dcmjpls/dldefine.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diovlay.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diobjcou.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diovdat.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diovpln.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ + ../../dcmimgle/include/dcmtk/dcmimgle/dipixel.h \ + ../include/dcmtk/dcmjpls/djlsutil.h djerror.h \ + ../../dcmjpls/libcharls/intrface.h ../../dcmjpls/libcharls/pubtypes.h \ + ../../dcmjpls/libcharls/config.h djcodecd.o: djcodecd.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmjpls/djcodecd.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ @@ -7,8 +82,8 @@ djcodecd.o: djcodecd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -44,12 +119,12 @@ djcodecd.o: djcodecd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpls/dldefine.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -83,8 +158,8 @@ djcodece.o: djcodece.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -120,12 +195,12 @@ djcodece.o: djcodece.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ ../include/dcmtk/dcmjpls/dldefine.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ @@ -190,8 +265,8 @@ djcparam.o: djcparam.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -227,11 +302,11 @@ djcparam.o: djcparam.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpls/djlsutil.h ../include/dcmtk/dcmjpls/dldefine.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h djdecode.o: djdecode.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmjpls/djdecode.h \ @@ -240,10 +315,10 @@ djdecode.o: djdecode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmjpls/djlsutil.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -281,6 +356,7 @@ djdecode.o: djdecode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpls/djcparam.h ../include/dcmtk/dcmjpls/djcodecd.h djencode.o: djencode.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -290,10 +366,10 @@ djencode.o: djencode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmjpls/djlsutil.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -332,6 +408,7 @@ djencode.o: djencode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../include/dcmtk/dcmjpls/djcodece.h \ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h @@ -349,8 +426,8 @@ djrparam.o: djrparam.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -386,6 +463,7 @@ djrparam.o: djrparam.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -394,7 +472,6 @@ djrparam.o: djrparam.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmjpls/dldefine.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h djutils.o: djutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmjpls/djlsutil.h \ @@ -404,8 +481,8 @@ djutils.o: djutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ diff --git a/dcmjpls/libsrc/Makefile.in b/dcmjpls/libsrc/Makefile.in index 2d89c162..9a265f24 100644 --- a/dcmjpls/libsrc/Makefile.in +++ b/dcmjpls/libsrc/Makefile.in @@ -22,7 +22,7 @@ LOCALINCLUDES = -I$(ofstddir)/include -I$(oflogdir)/include -I$(dcmdatadir)/incl -I$(dcmimgledir)/include -I$(libcharlsdir) LOCALDEFS = -objs = djcodecd.o djcodece.o djcparam.o djdecode.o djencode.o djrparam.o djutils.o +objs = djcodecd.o djcodece.o djcparam.o djdecode.o djencode.o djrparam.o djutils.o dipijpls.o library = libdcmjpls.$(LIBEXT) diff --git a/dcmjpls/libsrc/dipijpls.cc b/dcmjpls/libsrc/dipijpls.cc new file mode 100644 index 00000000..41d83d25 --- /dev/null +++ b/dcmjpls/libsrc/dipijpls.cc @@ -0,0 +1,306 @@ +/* + * + * Copyright (C) 2024, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmjpls + * + * Author: Marco Eichelberg + * + * Purpose: JPEG-LS interface for pluggable image formats + * + */ + +#include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmjpls/dipijpls.h" +#include "dcmtk/dcmdata/dctypes.h" +#include "dcmtk/dcmimgle/diimage.h" /* for class DiImage */ +#include "dcmtk/dcmimgle/dipixel.h" /* for class DiPixel */ +#include "dcmtk/dcmjpls/djlsutil.h" /* for DCMJPLS_WARN() */ +#include "djerror.h" /* for class DJLSError */ +#include "intrface.h" /* JPEG-LS library (CharLS) includes */ + +/*---------------------------------* + * constructors and mode setting * + *---------------------------------*/ + +DiJPLSPlugin::DiJPLSPlugin() +: DiPluginFormat() +, trueLosslessMode_(OFFalse) +, force8BitMode_(OFFalse) +{ +} + +DiJPLSPlugin::~DiJPLSPlugin() +{ +} + +void DiJPLSPlugin::setTrueLosslessMode(OFBool mode) +{ + trueLosslessMode_ = mode; +} + +void DiJPLSPlugin::setForce8BitMode(OFBool mode) +{ + force8BitMode_ = mode; +} + +/*-----------------------* + * main implementation * + *-----------------------*/ + +static int createAndWriteJPLS( + int height, + int width, + int bitspersample, + int components, + size_t data_size, + const void *data, + FILE *stream) +{ + // Set up the information structure for CharLS + JlsParameters jls_params; + memset((char *) &jls_params, 0, sizeof(jls_params)); + jls_params.height = height; + jls_params.width = width; + jls_params.allowedlossyerror = 0; + jls_params.outputBgr = false; + jls_params.bitspersample = bitspersample; + jls_params.colorTransform = 0; + jls_params.components = components; + + // use default values for custom JPEG-LS parameters + jls_params.custom.T1 = 0; + jls_params.custom.T2 = 0; + jls_params.custom.T3 = 0; + jls_params.custom.RESET = 0; + jls_params.custom.MAXVAL = 0; + + // set interleave mode + if (jls_params.components == 1) jls_params.ilv = ILV_NONE; + else jls_params.ilv = ILV_LINE; + + size_t compressed_buffer_size = data_size + 1024; + BYTE *compressed_buffer = new BYTE[compressed_buffer_size]; + size_t bytesWritten = 0; + + JLS_ERROR err = JpegLsEncode(&compressed_buffer, &compressed_buffer_size, &bytesWritten, data, data_size, &jls_params); + OFCondition cond = DJLSError::convert(err); + + if (cond.good()) + { + // write file here + size_t fileWritten = fwrite(compressed_buffer, 1, bytesWritten, stream); + if (fileWritten != bytesWritten) + { + DCMJPLS_WARN("Writing the JPEG-LS file failed, file system full?"); + cond = EC_InvalidStream; + } + } + else + { + DCMJPLS_WARN("JPEG-LS encoding failed: " << cond.text()); + } + + delete[] compressed_buffer; + if (cond.good()) return 1; else return 0; +} + + +/* This function creates a JPEG-LS file of the rendered DICOM pixel data, + * with all grayscale transformations, rotation, scaling etc. applied. + */ +static int compressJPEGLSRendered( + DiImage *dimage, + FILE *stream, + const unsigned long frame, + OFBool force8Bit) +{ + if ((dimage == NULL) || (stream == NULL)) return 0; + + /* determine image parameters */ + int depth = dimage->getBits(); + int out_depth = (depth > 8) ? 16 : 8; + if (force8Bit) out_depth = 8; + EP_Interpretation colorModel = dimage->getInternalColorModel(); + int samplesPerPixel = 3; + if ((colorModel == EPI_Monochrome1) || (colorModel == EPI_Monochrome2)) samplesPerPixel = 1; + + /* create bitmap with 8 or 16 bits per sample */ + size_t data_size = dimage->getOutputDataSize(out_depth); + const void *data = dimage->getOutputData(frame, out_depth, 0 /*planar*/); + if (data == NULL) + { + DCMJPLS_WARN("cannot access pixel data, JPEG-LS export failed."); + return 0; + } + + int result = createAndWriteJPLS(dimage->getRows(), dimage->getColumns(), + out_depth, samplesPerPixel, data_size, data, stream); + dimage->deleteOutputData(); + return result; +} + +/* This function creates a JPEG-LS file with the original DICOM pixel data, + * without applying any grayscale transformation. This is the same algorithm + * that is also applied by DCMTK's JPEG-LS encoder. + */ +static int compressJPEGLSLossless( + DiImage *dimage, + FILE *stream, + const unsigned long frame) +{ + if ((dimage == NULL) || (stream == NULL)) return 0; + + // access essential image parameters + int width = dimage->getColumns(); + int height = dimage->getRows(); + int depth = dimage->getBits(); + if ((depth < 1) || (depth > 16)) + { + DCMJPLS_WARN("cannot compress image with " << depth << " bits/sample: JPEG-LS supports max. 16 bits"); + return 0; + } + + const DiPixel *dinter = dimage->getInterData(); + if (dinter == NULL) return 0; + + int samplesPerPixel = dinter->getPlanes(); + if (samplesPerPixel != 1 && samplesPerPixel != 3) return 0; + + // get pointer to internal raw representation of image data + const void *draw = dinter->getData(); + if (draw == NULL) return 0; + + OFCondition cond = EC_Normal; + const void *planes[3] = {NULL, NULL, NULL}; + if (samplesPerPixel == 3) + { + // for color images, dinter->getData() returns a pointer to an array + // of pointers pointing to the real plane data + const void * const * draw_array = OFstatic_cast(const void * const *,draw); + planes[0] = draw_array[0]; + planes[1] = draw_array[1]; + planes[2] = draw_array[2]; + } + else + { + // for monochrome images, dinter->getData() directly returns a pointer + // to the single monochrome plane. + planes[0] = draw; + } + + // This is the buffer with the uncompressed pixel data + Uint8 *buffer; + size_t buffer_size; + Uint32 framesize = dimage->getColumns() * dimage->getRows(); + switch(dinter->getRepresentation()) + { + case EPR_Uint8: + case EPR_Sint8: + { + // image representation is 8 bit signed or unsigned + if (samplesPerPixel == 1) + { + const Uint8 *yv = OFreinterpret_cast(const Uint8 *, planes[0]) + framesize * frame; + buffer_size = framesize; + buffer = new Uint8[buffer_size]; + memcpy(buffer, yv, framesize); + } + else + { + const Uint8 *rv = OFreinterpret_cast(const Uint8 *, planes[0]) + framesize * frame; + const Uint8 *gv = OFreinterpret_cast(const Uint8 *, planes[1]) + framesize * frame; + const Uint8 *bv = OFreinterpret_cast(const Uint8 *, planes[2]) + framesize * frame; + + buffer_size = framesize * 3; + buffer = new Uint8[buffer_size]; + + size_t i = 0; + for (int row=height; row; --row) + { + for (int col=width; col; --col) + { + buffer[i++] = *rv; + buffer[i++] = *gv; + buffer[i++] = *bv; + + rv++; + gv++; + bv++; + } + } + } + } + break; + case EPR_Uint16: + case EPR_Sint16: + { + // image representation is 16 bit signed or unsigned + if (samplesPerPixel == 1) + { + const Uint16 *yv = OFreinterpret_cast(const Uint16 *, planes[0]) + framesize * frame; + buffer_size = framesize*sizeof(Uint16); + buffer = new Uint8[buffer_size]; + memcpy(buffer, yv, buffer_size); + } + else + { + const Uint16 *rv = OFreinterpret_cast(const Uint16 *, planes[0]) + framesize * frame; + const Uint16 *gv = OFreinterpret_cast(const Uint16 *, planes[1]) + framesize * frame; + const Uint16 *bv = OFreinterpret_cast(const Uint16 *, planes[2]) + framesize * frame; + + buffer_size = framesize * 3; + Uint16 *buffer16 = new Uint16[buffer_size]; + buffer = OFreinterpret_cast(Uint8 *, buffer16); + + // Convert to byte count + buffer_size *= 2; + + size_t i = 0; + for (int row=height; row; --row) + { + for (int col=width; col; --col) + { + buffer16[i++] = *rv; + buffer16[i++] = *gv; + buffer16[i++] = *bv; + + rv++; + gv++; + bv++; + } + } + } + } + break; + default: + // we don't support images with > 16 bits/sample + DCMJPLS_WARN("cannot compress image with " << depth << " bits/sample with JPEG-LS"); + return 0; + break; + } + + int result = createAndWriteJPLS(height, width, depth, samplesPerPixel, buffer_size, buffer, stream); + delete[] buffer; + return result; +} + + +int DiJPLSPlugin::write( + DiImage *dimage, + FILE *stream, + const unsigned long frame) const +{ + if (trueLosslessMode_) + return compressJPEGLSLossless(dimage, stream, frame); + else return compressJPEGLSRendered(dimage, stream, frame, force8BitMode_); +} diff --git a/dcmjpls/libsrc/djcodecd.cc b/dcmjpls/libsrc/djcodecd.cc index e04a21e0..ca549afd 100644 --- a/dcmjpls/libsrc/djcodecd.cc +++ b/dcmjpls/libsrc/djcodecd.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2022, OFFIS e.V. + * Copyright (C) 2007-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -69,7 +69,7 @@ OFBool DJLSDecoderBase::canChangeCoding( // this codec only handles conversion from JPEG-LS to uncompressed. DcmXfer newRep(newRepType); - if (newRep.isNotEncapsulated() && (oldRepType == supportedTransferSyntax())) + if (newRep.usesNativeFormat() && (oldRepType == supportedTransferSyntax())) return OFTrue; return OFFalse; @@ -143,8 +143,23 @@ OFCondition DJLSDecoderBase::decode( // compute size of uncompressed frame, in bytes Uint32 frameSize = bytesPerSample * imageRows * imageColumns * imageSamplesPerPixel; + // check for overflow + if (imageRows != 0 && frameSize / imageRows != (OFstatic_cast(Uint32, bytesPerSample) * imageColumns * imageSamplesPerPixel)) + { + DCMJPLS_WARN("cannot decompress image because uncompressed representation would exceed maximum possible size of PixelData attribute"); + return EC_ElemLengthExceeds32BitField; + } + // compute size of pixel data attribute, in bytes Uint32 totalSize = frameSize * imageFrames; + + // check for overflow + if (totalSize == 0xFFFFFFFF || (frameSize != 0 && totalSize / frameSize != OFstatic_cast(Uint32, imageFrames))) + { + DCMJPLS_WARN("cannot decompress image because uncompressed representation would exceed maximum possible size of PixelData attribute"); + return EC_ElemLengthExceeds32BitField; + } + if (totalSize & 1) totalSize++; // align on 16-bit word boundary // assume we can cast the codec parameter to what we need @@ -196,7 +211,7 @@ OFCondition DJLSDecoderBase::decode( if (result.good() && (numberOfFramesPresent || (imageFrames > 1))) { char numBuf[20]; - sprintf(numBuf, "%ld", OFstatic_cast(long, imageFrames)); + OFStandard::snprintf(numBuf, sizeof(numBuf), "%ld", OFstatic_cast(long, imageFrames)); result = ((DcmItem *)dataset)->putAndInsertString(DCM_NumberOfFrames, numBuf); } diff --git a/dcmjpls/libsrc/djcodece.cc b/dcmjpls/libsrc/djcodece.cc index ac41b314..d6acbf05 100644 --- a/dcmjpls/libsrc/djcodece.cc +++ b/dcmjpls/libsrc/djcodece.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2007-2023, OFFIS e.V. + * Copyright (C) 2007-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -96,7 +96,7 @@ OFBool DJLSEncoderBase::canChangeCoding( { // this codec only handles conversion from uncompressed to JPEG-LS. DcmXfer oldRep(oldRepType); - return (oldRep.isNotEncapsulated() && (newRepType == supportedTransferSyntax())); + return (oldRep.usesNativeFormat() && (newRepType == supportedTransferSyntax())); } @@ -372,7 +372,7 @@ OFCondition DJLSEncoderBase::updateDerivationDescription( derivationDescription = "near lossless JPEG-LS compression, factor "; OFStandard::ftoa(buf, sizeof(buf), ratio, OFStandard::ftoa_uppercase, 0, 5); derivationDescription += buf; - sprintf(buf, " (NEAR=%lu)", OFstatic_cast(unsigned long, djrp->getnearlosslessDeviation())); + OFStandard::snprintf(buf, sizeof(buf), " (NEAR=%lu)", OFstatic_cast(unsigned long, djrp->getnearlosslessDeviation())); derivationDescription += buf; // append old Derivation Description, if any @@ -1152,7 +1152,7 @@ OFCondition DJLSEncoderBase::compressCookedFrame( frameBuffer = new Uint8[buffer_size]; framePointer = frameBuffer; - result = convertToUninterleaved(frameBuffer, buffer, samplesPerPixel, width, height, jls_params.bitspersample); + result = convertToUninterleaved(frameBuffer, buffer, OFstatic_cast(Uint16, samplesPerPixel), width, height, OFstatic_cast(Uint16, jls_params.bitspersample)); } #endif diff --git a/dcmnet/apps/CMakeLists.txt b/dcmnet/apps/CMakeLists.txt index 48061ecf..8ac501c4 100644 --- a/dcmnet/apps/CMakeLists.txt +++ b/dcmnet/apps/CMakeLists.txt @@ -29,7 +29,7 @@ endif() foreach(PROGRAM dcmrecv dcmsend echoscu findscu getscu movescu storescp storescu termscu) DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmnet dcmdata oflog ofstd) endforeach() -foreach(PROGRAM dcmrecv echoscu findscu storescp storescu) +foreach(PROGRAM dcmrecv echoscu findscu storescp storescu getscu) DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmtls) endforeach() diff --git a/dcmnet/apps/Makefile.dep b/dcmnet/apps/Makefile.dep index 61248f9b..d8f4d2f1 100644 --- a/dcmnet/apps/Makefile.dep +++ b/dcmnet/apps/Makefile.dep @@ -6,8 +6,8 @@ dcmrecv.o: dcmrecv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -15,7 +15,6 @@ dcmrecv.o: dcmrecv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ @@ -62,6 +61,7 @@ dcmrecv.o: dcmrecv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -124,18 +124,17 @@ dcmrecv.o: dcmrecv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ - ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ - ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ - ../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \ - ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/dimse.h \ - ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/scpcfg.h \ - ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \ - ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \ - ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \ - ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \ + ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ + ../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \ + ../include/dcmtk/dcmnet/dcompat.h ../include/dcmtk/dcmnet/lst.h \ + ../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \ + ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \ + ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/diutil.h \ + ../include/dcmtk/dcmnet/scpcfg.h ../include/dcmtk/dcmnet/dcasccff.h \ + ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \ + ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \ + ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \ + ../include/dcmtk/dcmnet/dccfprmp.h \ ../../dcmtls/include/dcmtk/dcmtls/tlsopt.h \ ../../dcmtls/include/dcmtk/dcmtls/tlslayer.h \ ../include/dcmtk/dcmnet/dcmlayer.h \ @@ -149,8 +148,8 @@ dcmsend.o: dcmsend.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -158,7 +157,6 @@ dcmsend.o: dcmsend.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ @@ -202,6 +200,7 @@ dcmsend.o: dcmsend.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmnet/dstorscu.h ../include/dcmtk/dcmnet/scu.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ @@ -269,7 +268,6 @@ dcmsend.o: dcmsend.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dndefine.h \ ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ ../include/dcmtk/dcmnet/dcompat.h ../include/dcmtk/dcmnet/lst.h \ ../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \ @@ -346,7 +344,6 @@ echoscu.o: echoscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -381,8 +378,8 @@ findscu.o: findscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -418,10 +415,10 @@ findscu.o: findscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/dicom.h \ ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -434,7 +431,6 @@ findscu.o: findscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ @@ -466,12 +462,12 @@ getscu.o: getscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -482,7 +478,6 @@ getscu.o: getscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h ../include/dcmtk/dcmnet/scu.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -517,6 +512,7 @@ getscu.o: getscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -585,7 +581,6 @@ getscu.o: getscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dndefine.h \ ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ ../include/dcmtk/dcmnet/dcompat.h ../include/dcmtk/dcmnet/lst.h \ ../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \ @@ -595,7 +590,12 @@ getscu.o: getscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \ ../include/dcmtk/dcmnet/dimse.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrmz.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpath.h + ../../dcmdata/include/dcmtk/dcmdata/dcpath.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlsopt.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlslayer.h \ + ../include/dcmtk/dcmnet/dcmlayer.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlsdefin.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlsciphr.h movescu.o: movescu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -604,8 +604,8 @@ movescu.o: movescu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -613,7 +613,6 @@ movescu.o: movescu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ @@ -688,8 +687,8 @@ storescp.o: storescp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -697,7 +696,6 @@ storescp.o: storescp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ @@ -787,8 +785,8 @@ storescu.o: storescu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -796,7 +794,6 @@ storescu.o: storescu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ @@ -879,11 +876,11 @@ termscu.o: termscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -894,7 +891,6 @@ termscu.o: termscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ diff --git a/dcmnet/apps/Makefile.in b/dcmnet/apps/Makefile.in index d230e1c1..4818e031 100644 --- a/dcmnet/apps/Makefile.in +++ b/dcmnet/apps/Makefile.in @@ -63,7 +63,7 @@ termscu: termscu.o $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS) getscu: getscu.o - $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(LIBS) + $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(DCMTLSLIBS) $(OPENSSLLIBS) $(LIBS) dcmsend: dcmsend.o $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(COMPR_LIBS) $(LOCALLIBS) $(TIFFLIBS) $(PNGLIBS) $(LIBS) diff --git a/dcmnet/apps/dcmrecv.cc b/dcmnet/apps/dcmrecv.cc index d34eee07..6838fdd6 100644 --- a/dcmnet/apps/dcmrecv.cc +++ b/dcmnet/apps/dcmrecv.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2013-2023, OFFIS e.V. + * Copyright (C) 2013-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -177,6 +177,13 @@ int main(int argc, char *argv[]) return EXITCODE_NO_ERROR; } + // check if the command line contains the --list-profiles option + if (tlsOptions.listOfProfilesRequested(cmd)) + { + tlsOptions.printSupportedTLSProfiles(app, COUT); + return EXITCODE_NO_ERROR; + } + } /* general options */ diff --git a/dcmnet/apps/dcmsend.cc b/dcmnet/apps/dcmsend.cc index c5231027..93dbab73 100644 --- a/dcmnet/apps/dcmsend.cc +++ b/dcmnet/apps/dcmsend.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2018, OFFIS e.V. + * Copyright (C) 2011-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -138,7 +138,7 @@ int main(int argc, char *argv[]) OFBool opt_recurse = OFFalse; const char *opt_scanPattern = ""; const char *opt_reportFilename = ""; - + T_ASC_ProtocolFamily opt_protocolVersion = ASC_AF_Default; int paramCount = 0; OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION , "Simple DICOM storage SCU (sender)", rcsid); @@ -188,6 +188,10 @@ int main(int argc, char *argv[]) cmd.addOption("--no-uid-checks", "-nuc", "do not check UID values of input files"); cmd.addGroup("network options:"); + cmd.addSubGroup("IP protocol version:"); + cmd.addOption("--ipv4", "-i4", "use IPv4 only (default)"); + cmd.addOption("--ipv6", "-i6", "use IPv6 only"); + cmd.addOption("--ip-auto", "-i0", "use DNS lookup to determine IP protocol"); cmd.addSubGroup("application entity titles:"); cmd.addOption("--aetitle", "-aet", 1, "[a]etitle: string", "set my calling AE title (default: " APPLICATIONTITLE ")"); @@ -312,6 +316,12 @@ int main(int argc, char *argv[]) if (cmd.findOption("--no-uid-checks")) opt_checkUIDValues = OFFalse; /* network options */ + cmd.beginOptionBlock(); + if (cmd.findOption("--ipv4")) opt_protocolVersion = ASC_AF_INET; + if (cmd.findOption("--ipv6")) opt_protocolVersion = ASC_AF_INET6; + if (cmd.findOption("--ip-auto")) opt_protocolVersion = ASC_AF_UNSPEC; + cmd.endOptionBlock(); + if (cmd.findOption("--aetitle")) app.checkValue(cmd.getValue(opt_ourTitle)); if (cmd.findOption("--call")) app.checkValue(cmd.getValue(opt_peerTitle)); @@ -457,6 +467,7 @@ int main(int argc, char *argv[]) storageSCU.setDecompressionMode(opt_decompressionMode); storageSCU.setHaltOnUnsuccessfulStoreMode(opt_haltOnUnsuccessfulStore); storageSCU.setAllowIllegalProposalMode(opt_allowIllegalProposal); + storageSCU.setProtocolVersion(opt_protocolVersion); /* output information on the single/multiple associations setting */ if (opt_multipleAssociations) diff --git a/dcmnet/apps/echoscu.cc b/dcmnet/apps/echoscu.cc index d988ac3c..c79869b2 100644 --- a/dcmnet/apps/echoscu.cc +++ b/dcmnet/apps/echoscu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -31,6 +31,7 @@ #include "dcmtk/ofstd/ofconapp.h" #include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */ #include "dcmtk/dcmtls/tlsopt.h" /* for DcmTLSOptions */ +#include "dcmtk/ofstd/ofstd.h" #ifdef WITH_ZLIB #include /* for zlibVersion() */ @@ -67,6 +68,7 @@ static const char* transferSyntaxes[] = { UID_LittleEndianImplicitTransferSyntax, /* default xfer syntax first */ UID_LittleEndianExplicitTransferSyntax, UID_BigEndianExplicitTransferSyntax, + UID_EncapsulatedUncompressedExplicitVRLittleEndianTransferSyntax, UID_JPEGProcess1TransferSyntax, UID_JPEGProcess2_4TransferSyntax, UID_JPEGProcess3_5TransferSyntax, @@ -108,7 +110,13 @@ static const char* transferSyntaxes[] = { UID_FragmentableMPEG4BDcompatibleHighProfileLevel4_1TransferSyntax, UID_FragmentableMPEG4HighProfileLevel4_2_For2DVideoTransferSyntax, UID_FragmentableMPEG4HighProfileLevel4_2_For3DVideoTransferSyntax, - UID_FragmentableMPEG4StereoHighProfileLevel4_2TransferSyntax + UID_FragmentableMPEG4StereoHighProfileLevel4_2TransferSyntax, + UID_HighThroughputJPEG2000ImageCompressionLosslessOnlyTransferSyntax, + UID_HighThroughputJPEG2000RPCLImageCompressionLosslessOnlyTransferSyntax, + UID_HighThroughputJPEG2000ImageCompressionTransferSyntax, + UID_JPEGXLLosslessTransferSyntax, + UID_JPEGXLJPEGRecompressionTransferSyntax, + UID_JPEGXLTransferSyntax }; // ******************************************** @@ -168,12 +176,16 @@ main(int argc, char *argv[]) OFLog::addOptions(cmd); cmd.addGroup("network options:"); + cmd.addSubGroup("IP protocol version:"); + cmd.addOption("--ipv4", "-i4", "use IPv4 only (default)"); + cmd.addOption("--ipv6", "-i6", "use IPv6 only"); + cmd.addOption("--ip-auto", "-i0", "use DNS lookup to determine IP protocol"); cmd.addSubGroup("application entity titles:"); cmd.addOption("--aetitle", "-aet", 1, "[a]etitle: string", "set my calling AE title (default: " APPLICATIONTITLE ")"); cmd.addOption("--call", "-aec", 1, "[a]etitle: string", "set called AE title of peer (default: " PEERAPPLICATIONTITLE ")"); cmd.addSubGroup("association negotiation debugging:"); OFString opt5 = "[n]umber: integer (1.."; - sprintf(tempstr, "%ld", OFstatic_cast(long, maxXferSyntaxes)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, maxXferSyntaxes)); opt5 += tempstr; opt5 += ")"; cmd.addOption("--propose-ts", "-pts", 1, opt5.c_str(), "propose n transfer syntaxes"); @@ -232,6 +244,14 @@ main(int argc, char *argv[]) tlsOptions.printSupportedCiphersuites(app, COUT); return EXITCODE_NO_ERROR; } + + // check if the command line contains the --list-profiles option + if (tlsOptions.listOfProfilesRequested(cmd)) + { + tlsOptions.printSupportedTLSProfiles(app, COUT); + return EXITCODE_NO_ERROR; + } + } /* command line parameters */ @@ -371,9 +391,16 @@ main(int argc, char *argv[]) /* structure. The default values to be set here are "STORESCU" and "ANY-SCP". */ ASC_setAPTitles(params, opt_ourTitle, opt_peerTitle, NULL); + /* set the IP protocol version */ + cmd.beginOptionBlock(); + if (cmd.findOption("--ipv4")) ASC_setProtocolFamily(params, ASC_AF_INET); + if (cmd.findOption("--ipv6")) ASC_setProtocolFamily(params, ASC_AF_INET6); + if (cmd.findOption("--ip-auto")) ASC_setProtocolFamily(params, ASC_AF_UNSPEC); + cmd.endOptionBlock(); + /* Figure out the presentation addresses and copy the */ /* corresponding values into the association parameters.*/ - sprintf(peerHost, "%s:%d", opt_peer, OFstatic_cast(int, opt_port)); + OFStandard::snprintf(peerHost, sizeof(peerHost), "%s:%d", opt_peer, OFstatic_cast(int, opt_port)); ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost); /* Set the presentation contexts which will be negotiated */ diff --git a/dcmnet/apps/findscu.cc b/dcmnet/apps/findscu.cc index d1306f23..3b995d34 100644 --- a/dcmnet/apps/findscu.cc +++ b/dcmnet/apps/findscu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -81,6 +81,7 @@ int main(int argc, char *argv[]) const char * opt_peerTitle = PEERAPPLICATIONTITLE; OFCmdUnsignedInt opt_port = 104; OFCmdUnsignedInt opt_repeatCount = 1; + T_ASC_ProtocolFamily opt_protocolVersion = ASC_AF_Default; OFList overrideKeys; DcmTLSOptions tlsOptions(NET_REQUESTOR); @@ -123,6 +124,10 @@ int main(int argc, char *argv[]) cmd.addOption("--patient", "-P", "use patient root information model"); cmd.addOption("--study", "-S", "use study root information model"); cmd.addOption("--psonly", "-O", "use patient/study only information model"); + cmd.addSubGroup("IP protocol version:"); + cmd.addOption("--ipv4", "-i4", "use IPv4 only (default)"); + cmd.addOption("--ipv6", "-i6", "use IPv6 only"); + cmd.addOption("--ip-auto", "-i0", "use DNS lookup to determine IP protocol"); cmd.addSubGroup("application entity titles:"); cmd.addOption("--aetitle", "-aet", 1, "[a]etitle: string", "set my calling AE title (default: " APPLICATIONTITLE ")"); cmd.addOption("--call", "-aec", 1, "[a]etitle: string", "set called AE title of peer (default: " PEERAPPLICATIONTITLE ")"); @@ -210,6 +215,14 @@ int main(int argc, char *argv[]) tlsOptions.printSupportedCiphersuites(app, COUT); return 0; } + + // check if the command line contains the --list-profiles option + if (tlsOptions.listOfProfilesRequested(cmd)) + { + tlsOptions.printSupportedTLSProfiles(app, COUT); + return 0; + } + } /* command line parameters */ @@ -237,6 +250,12 @@ int main(int argc, char *argv[]) if (cmd.findOption("--aetitle")) app.checkValue(cmd.getValue(opt_ourTitle)); if (cmd.findOption("--call")) app.checkValue(cmd.getValue(opt_peerTitle)); + cmd.beginOptionBlock(); + if (cmd.findOption("--ipv4")) opt_protocolVersion = ASC_AF_INET; + if (cmd.findOption("--ipv6")) opt_protocolVersion = ASC_AF_INET6; + if (cmd.findOption("--ip-auto")) opt_protocolVersion = ASC_AF_UNSPEC; + cmd.endOptionBlock(); + cmd.beginOptionBlock(); if (cmd.findOption("--propose-uncompr")) opt_networkTransferSyntax = EXS_Unknown; if (cmd.findOption("--propose-little")) opt_networkTransferSyntax = EXS_LittleEndianExplicit; @@ -455,7 +474,8 @@ int main(int argc, char *argv[]) NULL, /* we want to use the default callback */ &fileNameList, opt_outputDirectory.c_str(), - opt_extractXMLFilename.c_str()); + opt_extractXMLFilename.c_str(), + opt_protocolVersion); // make sure that an appropriate exit code is returned int exitCode = cond.good() ? 0 : 2; diff --git a/dcmnet/apps/getscu.cc b/dcmnet/apps/getscu.cc index 9a39a54d..67ca7851 100644 --- a/dcmnet/apps/getscu.cc +++ b/dcmnet/apps/getscu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2022, OFFIS e.V. + * Copyright (C) 2011-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,6 +27,7 @@ #include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */ #include "dcmtk/dcmdata/dcostrmz.h" /* for dcmZlibCompressionLevel */ #include "dcmtk/dcmdata/dcpath.h" /* for DcmPathProcessor */ +#include "dcmtk/dcmtls/tlsopt.h" /* for DcmTLSOptions */ #ifdef WITH_ZLIB #include /* for zlibVersion() */ @@ -66,6 +67,7 @@ QueryModel opt_queryModel = QMPatientRoot; T_DIMSE_BlockingMode opt_blockMode = DIMSE_BLOCKING; int opt_dimse_timeout = 0; int opt_acse_timeout = 30; +T_ASC_ProtocolFamily opt_protocolVersion = ASC_AF_Default; OFString opt_outputDirectory = "."; static OFList overrideKeys; @@ -85,12 +87,16 @@ main(int argc, char *argv[]) const char *opt_peerTitle = PEERAPPLICATIONTITLE; const char *opt_ourTitle = APPLICATIONTITLE; OFList fileNameList; - + DcmTLSOptions tlsOptions(NET_REQUESTOR); char tempstr[20]; OFString temp_str; OFConsoleApplication app(OFFIS_CONSOLE_APPLICATION , "DICOM retrieve (C-GET) SCU", rcsid); OFCommandLine cmd; +#ifdef WITH_OPENSSL + DcmTLSTransportLayer::initializeOpenSSL(); +#endif + cmd.setParamColumn(LONGCOL + SHORTCOL + 4); cmd.addParam("peer", "hostname of DICOM peer"); cmd.addParam("port", "tcp/ip port number of peer"); @@ -111,6 +117,10 @@ main(int argc, char *argv[]) cmd.addOption("--patient", "-P", "use patient root information model (default)"); cmd.addOption("--study", "-S", "use study root information model"); cmd.addOption("--psonly", "-O", "use patient/study only information model"); + cmd.addSubGroup("IP protocol version:"); + cmd.addOption("--ipv4", "-i4", "use IPv4 only (default)"); + cmd.addOption("--ipv6", "-i6", "use IPv6 only"); + cmd.addOption("--ip-auto", "-i0", "use DNS lookup to determine IP protocol"); cmd.addSubGroup("application entity titles:"); OFString opt1 = "set my calling AE title (default: "; opt1 += APPLICATIONTITLE; @@ -139,7 +149,7 @@ main(int argc, char *argv[]) cmd.addOption("--prefer-mpeg4-2-3d", "+x3", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)"); cmd.addOption("--prefer-mpeg4-2-st", "+xo", "prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS"); cmd.addOption("--prefer-hevc", "+x4", "prefer HEVC/H.265 Main Profile / Level 5.1 TS"); - cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / Level 5.1 TS"); + cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / L5.1 TS"); cmd.addOption("--prefer-rle", "+xr", "prefer RLE lossless TS"); #ifdef WITH_ZLIB cmd.addOption("--prefer-deflated", "+xd", "prefer deflated explicit VR little endian TS"); @@ -159,19 +169,23 @@ main(int argc, char *argv[]) cmd.addOption("--dimse-timeout", "-td", 1, "[s]econds: integer (default: unlimited)", "timeout for DIMSE messages"); OFString opt3 = "set max receive pdu to n bytes (default: "; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_DEFAULTMAXPDU)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_DEFAULTMAXPDU)); opt3 += tempstr; opt3 += ")"; OFString opt4 = "[n]umber of bytes: integer ("; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_MINIMUMPDUSIZE)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_MINIMUMPDUSIZE)); opt4 += tempstr; opt4 += ".."; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_MAXIMUMPDUSIZE)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_MAXIMUMPDUSIZE)); opt4 += tempstr; opt4 += ")"; cmd.addOption("--max-pdu", "-pdu", 1, opt4.c_str(), opt3.c_str()); cmd.addOption("--repeat", 1, "[n]umber: integer", "repeat n times"); cmd.addOption("--abort", "abort association instead of releasing it"); + + // add TLS specific command line options if (and only if) we are compiling with OpenSSL + tlsOptions.addTLSCommandlineOptions(cmd); + cmd.addGroup("output options:"); cmd.addSubGroup("general:"); cmd.addOption("--output-directory", "-od", 1, "[d]irectory: string (default: \".\")", "write received objects to existing directory d"); @@ -191,15 +205,33 @@ main(int argc, char *argv[]) { app.printHeader(OFTrue /*print host identifier*/); COUT << OFendl << "External libraries used:"; - #ifdef WITH_ZLIB +#ifdef WITH_ZLIB COUT << OFendl << "- ZLIB, Version " << zlibVersion() << OFendl; - #else +#endif + // print OpenSSL version if (and only if) we are compiling with OpenSSL + tlsOptions.printLibraryVersion(); + +#if !defined(WITH_ZLIB) && !defined(WITH_OPENSSL) COUT << " none" << OFendl; - #endif +#endif return 0; } } + // check if the command line contains the --list-ciphers option + if (tlsOptions.listOfCiphersRequested(cmd)) + { + tlsOptions.printSupportedCiphersuites(app, COUT); + return 0; + } + + // check if the command line contains the --list-profiles option + if (tlsOptions.listOfProfilesRequested(cmd)) + { + tlsOptions.printSupportedTLSProfiles(app, COUT); + return 0; + } + /* general options */ OFLog::configureFromCommandLine(cmd, app); if (cmd.findOption("--verbose-pc")) @@ -292,6 +324,16 @@ main(int argc, char *argv[]) if (cmd.findOption("--abort")) opt_abortAssociation = OFTrue; if (cmd.findOption("--ignore")) opt_storageMode = DCMSCU_STORAGE_IGNORE; + // IP protocol version + cmd.beginOptionBlock(); + if (cmd.findOption("--ipv4")) opt_protocolVersion = ASC_AF_INET; + if (cmd.findOption("--ipv6")) opt_protocolVersion = ASC_AF_INET6; + if (cmd.findOption("--ip-auto")) opt_protocolVersion = ASC_AF_UNSPEC; + cmd.endOptionBlock(); + + // evaluate (most of) the TLS command line options (if we are compiling with OpenSSL) + tlsOptions.parseArguments(app, cmd); + /* output options */ if (cmd.findOption("--output-directory")) { @@ -375,6 +417,7 @@ main(int argc, char *argv[]) scu.setPeerPort(OFstatic_cast(Uint16, opt_port)); scu.setPeerAETitle(opt_peerTitle); scu.setVerbosePCMode(opt_showPresentationContexts); + scu.setProtocolVersion(opt_protocolVersion); /* add presentation contexts for get and find (we do not actually need find...) * (only uncompressed) @@ -396,13 +439,27 @@ main(int argc, char *argv[]) scu.setStorageDir(opt_outputDirectory); } + /* create a secure transport layer if requested and OpenSSL is available */ + OFCondition cond = tlsOptions.createTransportLayer(NULL, NULL, app, cmd); + if (cond.bad()) + { + OFString tempStr; + OFLOG_FATAL(getscuLogger, DimseCondition::dump(tempStr, cond)); + exit(1); + } + /* initialize network and negotiate association */ - OFCondition cond = scu.initNetwork(); + cond = scu.initNetwork(); if (cond.bad()) { OFLOG_FATAL(getscuLogger, DimseCondition::dump(temp_str, cond)); exit(1); } + + /* make sure the server connection uses TLS if requested */ + if (tlsOptions.secureConnectionRequested()) + scu.useSecureConnection(tlsOptions.getTransportLayer()); + cond = scu.negotiateAssociation(); if (cond.bad()) { @@ -566,7 +623,7 @@ static void prepareTS(E_TransferSyntax ts, #endif default: DcmXfer xfer(ts); - if (xfer.isEncapsulated()) + if (xfer.usesEncapsulatedFormat()) { syntaxes.push_back(xfer.getXferID()); } diff --git a/dcmnet/apps/movescu.cc b/dcmnet/apps/movescu.cc index c71baaba..bde6ec28 100644 --- a/dcmnet/apps/movescu.cc +++ b/dcmnet/apps/movescu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -35,6 +35,7 @@ #include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */ #include "dcmtk/dcmdata/dcdicent.h" #include "dcmtk/dcmdata/dcostrmz.h" /* for dcmZlibCompressionLevel */ +#include "dcmtk/ofstd/ofstd.h" #ifdef WITH_ZLIB #include /* for zlibVersion() */ @@ -176,18 +177,18 @@ addOverrideKey(OFConsoleApplication& app, const char *s) } DcmTag tag(OFstatic_cast(Uint16, g), OFstatic_cast(Uint16, e)); if (tag.error() != EC_Normal) { - sprintf(msg2, "unknown tag: (%04x,%04x)", g, e); + OFStandard::snprintf(msg2, sizeof(msg2), "unknown tag: (%04x,%04x)", g, e); app.printError(msg2); } DcmElement *elem = DcmItem::newDicomElement(tag); if (elem == NULL) { - sprintf(msg2, "cannot create element for tag: (%04x,%04x)", g, e); + OFStandard::snprintf(msg2, sizeof(msg2), "cannot create element for tag: (%04x,%04x)", g, e); app.printError(msg2); } if (!valStr.empty()) { if (elem->putString(valStr.c_str()).bad()) { - sprintf(msg2, "cannot put tag value: (%04x,%04x)=\"", g, e); + OFStandard::snprintf(msg2, sizeof(msg2), "cannot put tag value: (%04x,%04x)=\"", g, e); msg = msg2; msg += valStr; msg += "\""; @@ -197,7 +198,7 @@ addOverrideKey(OFConsoleApplication& app, const char *s) if (overrideKeys == NULL) overrideKeys = new DcmDataset; if (overrideKeys->insert(elem, OFTrue).bad()) { - sprintf(msg2, "cannot insert tag: (%04x,%04x)", g, e); + OFStandard::snprintf(msg2, sizeof(msg2), "cannot insert tag: (%04x,%04x)", g, e); app.printError(msg2); } } @@ -282,7 +283,7 @@ main(int argc, char *argv[]) cmd.addOption("--prefer-mpeg4-2-3d", "+x3", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)"); cmd.addOption("--prefer-mpeg4-2-st", "+xo", "prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS"); cmd.addOption("--prefer-hevc", "+x4", "prefer HEVC/H.265 Main Profile / Level 5.1 TS"); - cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / Level 5.1 TS"); + cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / L5.1 TS"); cmd.addOption("--prefer-rle", "+xr", "prefer RLE lossless TS"); #ifdef WITH_ZLIB cmd.addOption("--prefer-deflated", "+xd", "prefer deflated explicit VR little endian TS"); @@ -316,14 +317,14 @@ main(int argc, char *argv[]) cmd.addOption("--dimse-timeout", "-td", 1, "[s]econds: integer (default: unlimited)", "timeout for DIMSE messages"); OFString opt3 = "set max receive pdu to n bytes (default: "; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_DEFAULTMAXPDU)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_DEFAULTMAXPDU)); opt3 += tempstr; opt3 += ")"; OFString opt4 = "[n]umber of bytes: integer ("; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_MINIMUMPDUSIZE)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_MINIMUMPDUSIZE)); opt4 += tempstr; opt4 += ".."; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_MAXIMUMPDUSIZE)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_MAXIMUMPDUSIZE)); opt4 += tempstr; opt4 += ")"; cmd.addOption("--max-pdu", "-pdu", 1, opt4.c_str(), opt3.c_str()); @@ -786,7 +787,7 @@ main(int argc, char *argv[]) } ASC_setAPTitles(params, opt_ourTitle, opt_peerTitle, NULL); - sprintf(peerHost, "%s:%d", opt_peer, OFstatic_cast(int, opt_port)); + OFStandard::snprintf(peerHost, sizeof(peerHost), "%s:%d", opt_peer, OFstatic_cast(int, opt_port)); ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost); /* @@ -993,9 +994,10 @@ acceptSubAssoc(T_ASC_Network *aNet, T_ASC_Association **assoc) const char *knownAbstractSyntaxes[] = { UID_VerificationSOPClass }; - const char* transferSyntaxes[] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // 10 - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // 20 - NULL }; // +1 + const char* transferSyntaxes[] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // 10 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // 20 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // 30 + NULL, NULL, NULL, NULL, NULL }; // +5 int numTransferSyntaxes; OFString temp_str; @@ -1187,25 +1189,39 @@ acceptSubAssoc(T_ASC_Network *aNet, T_ASC_Association **assoc) transferSyntaxes[6] = UID_JPEGLSLosslessTransferSyntax; transferSyntaxes[7] = UID_RLELosslessTransferSyntax; transferSyntaxes[8] = UID_MPEG2MainProfileAtMainLevelTransferSyntax; - transferSyntaxes[9] = UID_MPEG2MainProfileAtHighLevelTransferSyntax; - transferSyntaxes[10] = UID_MPEG4HighProfileLevel4_1TransferSyntax; - transferSyntaxes[11] = UID_MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax; - transferSyntaxes[12] = UID_MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax; - transferSyntaxes[13] = UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax; - transferSyntaxes[14] = UID_MPEG4StereoHighProfileLevel4_2TransferSyntax; - transferSyntaxes[15] = UID_HEVCMainProfileLevel5_1TransferSyntax; - transferSyntaxes[16] = UID_HEVCMain10ProfileLevel5_1TransferSyntax; - transferSyntaxes[17] = UID_DeflatedExplicitVRLittleEndianTransferSyntax; + transferSyntaxes[9] = UID_FragmentableMPEG2MainProfileMainLevelTransferSyntax; + transferSyntaxes[10] = UID_MPEG2MainProfileAtHighLevelTransferSyntax; + transferSyntaxes[11] = UID_FragmentableMPEG2MainProfileHighLevelTransferSyntax; + transferSyntaxes[12] = UID_MPEG4HighProfileLevel4_1TransferSyntax; + transferSyntaxes[13] = UID_FragmentableMPEG4HighProfileLevel4_1TransferSyntax; + transferSyntaxes[14] = UID_MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax; + transferSyntaxes[15] = UID_FragmentableMPEG4BDcompatibleHighProfileLevel4_1TransferSyntax; + transferSyntaxes[16] = UID_MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax; + transferSyntaxes[17] = UID_FragmentableMPEG4HighProfileLevel4_2_For2DVideoTransferSyntax; + transferSyntaxes[18] = UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax; + transferSyntaxes[19] = UID_FragmentableMPEG4HighProfileLevel4_2_For3DVideoTransferSyntax; + transferSyntaxes[20] = UID_MPEG4StereoHighProfileLevel4_2TransferSyntax; + transferSyntaxes[21] = UID_FragmentableMPEG4StereoHighProfileLevel4_2TransferSyntax; + transferSyntaxes[22] = UID_HEVCMainProfileLevel5_1TransferSyntax; + transferSyntaxes[23] = UID_HEVCMain10ProfileLevel5_1TransferSyntax; + transferSyntaxes[24] = UID_HighThroughputJPEG2000ImageCompressionLosslessOnlyTransferSyntax; + transferSyntaxes[25] = UID_HighThroughputJPEG2000RPCLImageCompressionLosslessOnlyTransferSyntax; + transferSyntaxes[26] = UID_HighThroughputJPEG2000ImageCompressionTransferSyntax; + transferSyntaxes[27] = UID_JPEGXLLosslessTransferSyntax; + transferSyntaxes[28] = UID_JPEGXLJPEGRecompressionTransferSyntax; + transferSyntaxes[29] = UID_JPEGXLTransferSyntax; + transferSyntaxes[30] = UID_DeflatedExplicitVRLittleEndianTransferSyntax; + transferSyntaxes[31] = UID_EncapsulatedUncompressedExplicitVRLittleEndianTransferSyntax; if (gLocalByteOrder == EBO_LittleEndian) { - transferSyntaxes[18] = UID_LittleEndianExplicitTransferSyntax; - transferSyntaxes[19] = UID_BigEndianExplicitTransferSyntax; + transferSyntaxes[32] = UID_LittleEndianExplicitTransferSyntax; + transferSyntaxes[33] = UID_BigEndianExplicitTransferSyntax; } else { - transferSyntaxes[18] = UID_BigEndianExplicitTransferSyntax; - transferSyntaxes[19] = UID_LittleEndianExplicitTransferSyntax; + transferSyntaxes[32] = UID_BigEndianExplicitTransferSyntax; + transferSyntaxes[33] = UID_LittleEndianExplicitTransferSyntax; } - transferSyntaxes[20] = UID_LittleEndianImplicitTransferSyntax; - numTransferSyntaxes = 21; + transferSyntaxes[34] = UID_LittleEndianImplicitTransferSyntax; + numTransferSyntaxes = 35; } else { /* We prefer explicit transfer syntaxes. * If we are running on a Little Endian machine we prefer @@ -1285,7 +1301,7 @@ static OFCondition echoSCP( struct StoreCallbackData { - char *imageFileName; + OFString imageFileName; DcmFileFormat *dcmff; T_ASC_Association *assoc; }; @@ -1355,9 +1371,8 @@ storeSCPCallback( if ((imageDataSet != NULL) && (*imageDataSet != NULL) && !opt_bitPreserving && !opt_ignore) { StoreCallbackData *cbdata = OFstatic_cast(StoreCallbackData*, callbackData); - /* create full path name for the output file */ - OFString ofname; - OFStandard::combineDirAndFilename(ofname, opt_outputDirectory, cbdata->imageFileName, OFTrue /* allowEmptyDirName */); + const OFString ofname(cbdata->imageFileName); + // check whether output file exists if (OFStandard::fileExists(ofname)) { OFLOG_WARN(movescuLogger, "DICOM file already exists, overwriting: " << ofname); @@ -1422,12 +1437,16 @@ static OFCondition storeSCP( OFStandard::strlcpy(imageFileName, NULL_DEVICE_NAME, 2048); #endif } else { - sprintf(imageFileName, "%s.%s", + OFStandard::snprintf(imageFileName, sizeof(imageFileName), "%s.%s", dcmSOPClassUIDToModality(req->AffectedSOPClassUID), req->AffectedSOPInstanceUID); OFStandard::sanitizeFilename(imageFileName); } + // generate target path to write data + OFString ofname; + OFStandard::combineDirAndFilename(ofname, opt_outputDirectory, imageFileName, OFTrue /* allowEmptyDirName */); + OFString temp_str; if (movescuLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) { @@ -1440,7 +1459,7 @@ static OFCondition storeSCP( StoreCallbackData callbackData; callbackData.assoc = assoc; - callbackData.imageFileName = imageFileName; + callbackData.imageFileName = ofname; DcmFileFormat dcmff; callbackData.dcmff = &dcmff; @@ -1455,7 +1474,7 @@ static OFCondition storeSCP( if (opt_bitPreserving) { - cond = DIMSE_storeProvider(assoc, presID, req, imageFileName, opt_useMetaheader, + cond = DIMSE_storeProvider(assoc, presID, req, ofname.c_str(), opt_useMetaheader, NULL, storeSCPCallback, OFreinterpret_cast(void*, &callbackData), opt_blockMode, opt_dimse_timeout); } else { cond = DIMSE_storeProvider(assoc, presID, req, NULL, opt_useMetaheader, @@ -1468,11 +1487,18 @@ static OFCondition storeSCP( /* remove file */ if (!opt_ignore) { - if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) OFStandard::deleteFile(imageFileName); + if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) + { + OFStandard::deleteFile(ofname); + } } #ifdef _WIN32 } else if (opt_ignore) { - if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) OFStandard::deleteFile(imageFileName); // delete the temporary file + if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) + { + // delete the temporary file + OFStandard::deleteFile(ofname); + } #endif } diff --git a/dcmnet/apps/storescp.cc b/dcmnet/apps/storescp.cc index 5dae4f16..8969c92e 100644 --- a/dcmnet/apps/storescp.cc +++ b/dcmnet/apps/storescp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -28,10 +28,9 @@ BEGIN_EXTERN_C #ifdef HAVE_FCNTL_H #include /* needed on Solaris for O_RDONLY */ #endif -#ifdef HAVE_SIGNAL_H + // On Solaris with Sun Workshop 11, declares signal() but does not #include -#endif END_EXTERN_C #include @@ -58,7 +57,7 @@ END_EXTERN_C #include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */ #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcostrmz.h" /* for dcmZlibCompressionLevel */ -#include "dcmtk/dcmtls/tlsopt.h" /* for DcmTLSOptions */ +#include "dcmtk/dcmtls/tlsopt.h" /* for DcmTLSOptions */ #ifdef WITH_ZLIB #include /* for zlibVersion() */ @@ -99,6 +98,7 @@ static void renameOnEndOfStudy(); static OFString replaceChars( const OFString &srcstr, const OFString &pattern, const OFString &substitute ); static void executeCommand( const OFString &cmd ); static void cleanChildren(pid_t pid, OFBool synch); +static void sanitizeAETitle(OFString& aet); static OFCondition acceptUnknownContextsWithPreferredTransferSyntaxes( T_ASC_Parameters * params, const char* transferSyntaxes[], @@ -178,11 +178,7 @@ OFBool opt_execSync = OFFalse; // default: execute in bac /** signal handler for SIGCHLD signals that immediately cleans up * terminated children. */ -#ifdef SIGNAL_HANDLER_WITH_ELLIPSE -extern "C" void sigChildHandler(...) -#else extern "C" void sigChildHandler(int) -#endif { int status = 0; waitpid( -1, &status, WNOHANG ); @@ -260,7 +256,7 @@ int main(int argc, char *argv[]) cmd.addOption("--prefer-mpeg4-2-3d", "+x3", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)"); cmd.addOption("--prefer-mpeg4-2-st", "+xo", "prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS"); cmd.addOption("--prefer-hevc", "+x4", "prefer HEVC/H.265 Main Profile / Level 5.1 TS"); - cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / Level 5.1 TS"); + cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / L5.1 TS"); cmd.addOption("--prefer-rle", "+xr", "prefer RLE lossless TS"); #ifdef WITH_ZLIB cmd.addOption("--prefer-deflated", "+xd", "prefer deflated expl. VR little endian TS"); @@ -404,6 +400,14 @@ int main(int argc, char *argv[]) tlsOptions.printSupportedCiphersuites(app, COUT); return 0; } + + // check if the command line contains the --list-profiles option + if (tlsOptions.listOfProfilesRequested(cmd)) + { + tlsOptions.printSupportedTLSProfiles(app, COUT); + return 0; + } + } #ifdef INETD_AVAILABLE @@ -590,7 +594,7 @@ int main(int argc, char *argv[]) const unsigned char *c = OFreinterpret_cast(const unsigned char *, opt_profileName); while (*c) { - if (! isspace(*c)) sprofile += OFstatic_cast(char, toupper(*c)); + if (! OFStandard::isspace(*c)) sprofile += OFstatic_cast(char, toupper(*c)); ++c; } @@ -1008,9 +1012,10 @@ static OFCondition acceptAssociation(T_ASC_Network *net, DcmAssociationConfigura UID_VerificationSOPClass }; - const char* transferSyntaxes[] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // 10 - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // 20 - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; // +8 + const char* transferSyntaxes[] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // 10 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // 20 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, // 30 + NULL, NULL, NULL, NULL, NULL }; // +5 int numTransferSyntaxes = 0; // try to receive an association. Here we either want to use blocking or @@ -1302,17 +1307,24 @@ static OFCondition acceptAssociation(T_ASC_Network *net, DcmAssociationConfigura transferSyntaxes[21] = UID_FragmentableMPEG4StereoHighProfileLevel4_2TransferSyntax; transferSyntaxes[22] = UID_HEVCMainProfileLevel5_1TransferSyntax; transferSyntaxes[23] = UID_HEVCMain10ProfileLevel5_1TransferSyntax; - transferSyntaxes[24] = UID_DeflatedExplicitVRLittleEndianTransferSyntax; + transferSyntaxes[24] = UID_HighThroughputJPEG2000ImageCompressionLosslessOnlyTransferSyntax; + transferSyntaxes[25] = UID_HighThroughputJPEG2000RPCLImageCompressionLosslessOnlyTransferSyntax; + transferSyntaxes[26] = UID_HighThroughputJPEG2000ImageCompressionTransferSyntax; + transferSyntaxes[27] = UID_JPEGXLLosslessTransferSyntax; + transferSyntaxes[28] = UID_JPEGXLJPEGRecompressionTransferSyntax; + transferSyntaxes[29] = UID_JPEGXLTransferSyntax; + transferSyntaxes[30] = UID_DeflatedExplicitVRLittleEndianTransferSyntax; + transferSyntaxes[31] = UID_EncapsulatedUncompressedExplicitVRLittleEndianTransferSyntax; if (gLocalByteOrder == EBO_LittleEndian) { - transferSyntaxes[25] = UID_LittleEndianExplicitTransferSyntax; - transferSyntaxes[26] = UID_BigEndianExplicitTransferSyntax; + transferSyntaxes[32] = UID_LittleEndianExplicitTransferSyntax; + transferSyntaxes[33] = UID_BigEndianExplicitTransferSyntax; } else { - transferSyntaxes[25] = UID_BigEndianExplicitTransferSyntax; - transferSyntaxes[26] = UID_LittleEndianExplicitTransferSyntax; + transferSyntaxes[32] = UID_BigEndianExplicitTransferSyntax; + transferSyntaxes[33] = UID_LittleEndianExplicitTransferSyntax; } - transferSyntaxes[27] = UID_LittleEndianImplicitTransferSyntax; - numTransferSyntaxes = 28; + transferSyntaxes[34] = UID_LittleEndianImplicitTransferSyntax; + numTransferSyntaxes = 35; } else { /* We prefer explicit transfer syntaxes. * If we are running on a Little Endian machine we prefer @@ -1340,7 +1352,7 @@ static OFCondition acceptAssociation(T_ASC_Network *net, DcmAssociationConfigura const unsigned char *c = OFreinterpret_cast(const unsigned char *, opt_profileName); while (*c) { - if (!isspace(*c)) sprofile += OFstatic_cast(char, toupper(*c)); + if (!OFStandard::isspace(*c)) sprofile += OFstatic_cast(char, toupper(*c)); ++c; } @@ -1674,7 +1686,7 @@ static void mapCharacterAndAppendToString(Uint8 c, struct StoreCallbackData { - char* imageFileName; + OFString imageFileName; DcmFileFormat* dcmff; T_ASC_Association* assoc; }; @@ -1840,7 +1852,7 @@ storeSCPCallback( // create a name for the new subdirectory. char timestamp[32]; - sprintf(timestamp, "%04u%02u%02u_%02u%02u%02u%03u", + OFStandard::snprintf(timestamp, sizeof(timestamp), "%04u%02u%02u_%02u%02u%02u%03u", dateTime.getDate().getYear(), dateTime.getDate().getMonth(), dateTime.getDate().getDay(), dateTime.getTime().getHour(), dateTime.getTime().getMinute(), dateTime.getTime().getIntSecond(), dateTime.getTime().getMilliSecond()); @@ -2023,7 +2035,8 @@ static OFCondition storeSCP( // create unique filename by generating a temporary UID and using ".X." as an infix char buf[70]; dcmGenerateUniqueIdentifier(buf); - sprintf(imageFileName, "%s%c%s.X.%s%s", opt_outputDirectory.c_str(), PATH_SEPARATOR, dcmSOPClassUIDToModality(req->AffectedSOPClassUID, "UNKNOWN"), + OFStandard::snprintf(imageFileName, sizeof(imageFileName), "%s%c%s.X.%s%s", opt_outputDirectory.c_str(), PATH_SEPARATOR, + dcmSOPClassUIDToModality(req->AffectedSOPClassUID, "UNKNOWN"), buf, opt_fileNameExtension.c_str()); } else if (opt_timeNames) @@ -2038,7 +2051,7 @@ static OFCondition storeSCP( if (timeNameCounter == -1) { // timeNameCounter not set -> last written filename has to be without "serial number" - sprintf(cmpFileName, "%04u%02u%02u%02u%02u%02u%03u.%s%s", + OFStandard::snprintf(cmpFileName, sizeof(cmpFileName), "%04u%02u%02u%02u%02u%02u%03u.%s%s", dateTime.getDate().getYear(), dateTime.getDate().getMonth(), dateTime.getDate().getDay(), dateTime.getTime().getHour(), dateTime.getTime().getMinute(), dateTime.getTime().getIntSecond(), dateTime.getTime().getMilliSecond(), dcmSOPClassUIDToModality(req->AffectedSOPClassUID, "UNKNOWN"), opt_fileNameExtension.c_str()); @@ -2046,7 +2059,7 @@ static OFCondition storeSCP( else { // counter was active before, so generate filename with "serial number" for comparison - sprintf(cmpFileName, "%04u%02u%02u%02u%02u%02u%03u_%04u.%s%s", // millisecond version + OFStandard::snprintf(cmpFileName, sizeof(cmpFileName), "%04u%02u%02u%02u%02u%02u%03u_%04u.%s%s", // millisecond version dateTime.getDate().getYear(), dateTime.getDate().getMonth(), dateTime.getDate().getDay(), dateTime.getTime().getHour(), dateTime.getTime().getMinute(), dateTime.getTime().getIntSecond(), dateTime.getTime().getMilliSecond(), timeNameCounter, dcmSOPClassUIDToModality(req->AffectedSOPClassUID, "UNKNOWN"), opt_fileNameExtension.c_str()); @@ -2056,7 +2069,7 @@ static OFCondition storeSCP( // if this is not the first run and the prospective filename is equal to the last written filename // generate one with a serial number (incremented by 1) timeNameCounter++; - sprintf(imageFileName, "%s%c%04u%02u%02u%02u%02u%02u%03u_%04u.%s%s", opt_outputDirectory.c_str(), PATH_SEPARATOR, // millisecond version + OFStandard::snprintf(imageFileName, sizeof(imageFileName), "%s%c%04u%02u%02u%02u%02u%02u%03u_%04u.%s%s", opt_outputDirectory.c_str(), PATH_SEPARATOR, // millisecond version dateTime.getDate().getYear(), dateTime.getDate().getMonth(), dateTime.getDate().getDay(), dateTime.getTime().getHour(), dateTime.getTime().getMinute(), dateTime.getTime().getIntSecond(), dateTime.getTime().getMilliSecond(), timeNameCounter, dcmSOPClassUIDToModality(req->AffectedSOPClassUID, "UNKNOWN"), opt_fileNameExtension.c_str()); @@ -2064,7 +2077,7 @@ static OFCondition storeSCP( else { // first run or filenames are different: create filename without serial number - sprintf(imageFileName, "%s%c%04u%02u%02u%02u%02u%02u%03u.%s%s", opt_outputDirectory.c_str(), PATH_SEPARATOR, // millisecond version + OFStandard::snprintf(imageFileName, sizeof(imageFileName), "%s%c%04u%02u%02u%02u%02u%02u%03u.%s%s", opt_outputDirectory.c_str(), PATH_SEPARATOR, // millisecond version dateTime.getDate().getYear(), dateTime.getDate().getMonth(), dateTime.getDate().getDay(), dateTime.getTime().getHour(), dateTime.getTime().getMinute(),dateTime.getTime().getIntSecond(), dateTime.getTime().getMilliSecond(), dcmSOPClassUIDToModality(req->AffectedSOPClassUID, "UNKNOWN"), opt_fileNameExtension.c_str()); @@ -2077,7 +2090,7 @@ static OFCondition storeSCP( // Use the SOP instance UID as found in the C-STORE request message as part of the filename OFString uid(OFSTRING_GUARD(req->AffectedSOPInstanceUID)); OFStandard::sanitizeFilename(uid); - sprintf(imageFileName, "%s%c%s.%s%s", opt_outputDirectory.c_str(), PATH_SEPARATOR, dcmSOPClassUIDToModality(req->AffectedSOPClassUID, "UNKNOWN"), + OFStandard::snprintf(imageFileName, sizeof(imageFileName), "%s%c%s.%s%s", opt_outputDirectory.c_str(), PATH_SEPARATOR, dcmSOPClassUIDToModality(req->AffectedSOPClassUID, "UNKNOWN"), uid.c_str(), opt_fileNameExtension.c_str()); } } @@ -2133,14 +2146,18 @@ static OFCondition storeSCP( if (!opt_ignore) { if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) - OFStandard::deleteFile(imageFileName); + { + OFStandard::deleteFile(imageFileName); + } } } #ifdef _WIN32 else if (opt_ignore) { if (strcmp(imageFileName, NULL_DEVICE_NAME) != 0) - OFStandard::deleteFile(imageFileName); // delete the temporary file + { + OFStandard::deleteFile(imageFileName); // delete the temporary file + } } #endif @@ -2193,6 +2210,33 @@ static void executeEndOfStudyEvents() lastStudySubdirectoryPathAndName.clear(); } +/* replace all characters that might be interpreted by the shell with underscores + */ +static void sanitizeAETitle(OFString& aet) +{ + static const char sanitized_aetitle_charset[] = + { + ' ', '_', '_', '_', '_', '_', '_', '_', '_', '_', '_', '_', '_', '-', '.', '_', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', '_', '_', '_', '_', '_', + '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', + 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '_', '_', '_', '_', '_', + '_', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', + 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '_', '_', '_', '_', '_' + }; + + // the aet string starts and ends with quotation marks. We ignore these. + size_t len = aet.length(); + if (len < 3) return; + + char c; + --len; + for (size_t i=1; i < len; ++i) + { + c = aet[i]; + if (c != 0 && (c < 32 || c >= 127)) c = '_'; else c = sanitized_aetitle_charset[c-32]; + aet[i] = c; + } +} static void executeOnReception() /* @@ -2209,6 +2253,7 @@ static void executeOnReception() */ { OFString cmd = opt_execOnReception; + OFString s; // in case a file was actually written if( !opt_ignore ) @@ -2224,10 +2269,22 @@ static void executeOnReception() } // perform substitution for placeholder #a - cmd = replaceChars( cmd, OFString(CALLING_AETITLE_PLACEHOLDER), callingAETitle ); + s = callingAETitle; + sanitizeAETitle(s); + if (s != callingAETitle) + { + OFLOG_WARN(storescpLogger, "Sanitized unusual characters in calling aetitle, converted from " << callingAETitle << " to " << s << "."); + } + cmd = replaceChars( cmd, OFString(CALLING_AETITLE_PLACEHOLDER), s ); // perform substitution for placeholder #c - cmd = replaceChars( cmd, OFString(CALLED_AETITLE_PLACEHOLDER), calledAETitle ); + s = calledAETitle; + sanitizeAETitle(s); + if (s != calledAETitle) + { + OFLOG_WARN(storescpLogger, "Sanitized unusual characters in called aetitle, converted from " << calledAETitle << " to " << s << "."); + } + cmd = replaceChars( cmd, OFString(CALLED_AETITLE_PLACEHOLDER), s ); // perform substitution for placeholder #r cmd = replaceChars( cmd, OFString(CALLING_PRESENTATION_ADDRESS_PLACEHOLDER), callingPresentationAddress ); @@ -2291,7 +2348,7 @@ static void renameOnEndOfStudy() { OFStandard::strlcpy( modalityId, (*first).c_str(), 3 ); } - sprintf( newFileName, "%s%06d", modalityId, counter ); + OFStandard::snprintf(newFileName, sizeof(newFileName), "%s%06d", modalityId, counter ); // create two strings containing path and file name for // the current filename and the future filename @@ -2332,15 +2389,20 @@ static void executeOnEndOfStudy() */ { OFString cmd = opt_execOnEndOfStudy; + OFString s; // perform substitution for placeholder #p; #p will be substituted by lastStudySubdirectoryPathAndName cmd = replaceChars( cmd, OFString(PATH_PLACEHOLDER), lastStudySubdirectoryPathAndName ); // perform substitution for placeholder #a - cmd = replaceChars( cmd, OFString(CALLING_AETITLE_PLACEHOLDER), callingAETitle ); + s = callingAETitle; + sanitizeAETitle(s); + cmd = replaceChars( cmd, OFString(CALLING_AETITLE_PLACEHOLDER), s ); // perform substitution for placeholder #c - cmd = replaceChars( cmd, OFString(CALLED_AETITLE_PLACEHOLDER), calledAETitle ); + s = calledAETitle; + sanitizeAETitle(s); + cmd = replaceChars( cmd, OFString(CALLED_AETITLE_PLACEHOLDER), s ); // perform substitution for placeholder #r cmd = replaceChars( cmd, OFString(CALLING_PRESENTATION_ADDRESS_PLACEHOLDER), callingPresentationAddress ); @@ -2438,8 +2500,6 @@ static void executeCommand( const OFString &cmd ) #ifdef HAVE_WAITPID static void cleanChildren(pid_t pid, OFBool synch) -#elif defined(HAVE_WAIT3) -static void cleanChildren(pid_t /* pid */, OFBool synch) #else static void cleanChildren(pid_t /* pid */, OFBool /* synch */) #endif @@ -2450,26 +2510,11 @@ static void cleanChildren(pid_t /* pid */, OFBool /* synch */) { #ifdef HAVE_WAITPID int stat_loc; -#elif defined(HAVE_WAIT3) - struct rusage rusage; -#if defined(__NeXT__) - /* some systems need a union wait as argument to wait3 */ - union wait status; -#else - int status; -#endif -#endif - -#if defined(HAVE_WAITPID) || defined(HAVE_WAIT3) int child = 1; int options = synch ? 0 : WNOHANG; while (child > 0) { -#ifdef HAVE_WAITPID child = OFstatic_cast(int, waitpid(pid, &stat_loc, options)); -#elif defined(HAVE_WAIT3) - child = wait3(&status, options, &rusage); -#endif if (child < 0) { if (errno != ECHILD) diff --git a/dcmnet/apps/storescu.cc b/dcmnet/apps/storescu.cc index 4c351ff3..1a3c9a07 100644 --- a/dcmnet/apps/storescu.cc +++ b/dcmnet/apps/storescu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2023, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -217,6 +217,10 @@ int main(int argc, char *argv[]) cmd.addOption("--no-rename", "-rn", "do not rename processed files (default)"); cmd.addOption("--rename", "+rn", "append .done/.bad to processed files"); cmd.addGroup("network options:"); + cmd.addSubGroup("IP protocol version:"); + cmd.addOption("--ipv4", "-i4", "use IPv4 only (default)"); + cmd.addOption("--ipv6", "-i6", "use IPv6 only"); + cmd.addOption("--ip-auto", "-i0", "use DNS lookup to determine IP protocol"); cmd.addSubGroup("application entity titles:"); cmd.addOption("--aetitle", "-aet", 1, "[a]etitle: string", "set my calling AE title (default: " APPLICATIONTITLE ")"); cmd.addOption("--call", "-aec", 1, "[a]etitle: string", "set called AE title of peer (default: " PEERAPPLICATIONTITLE ")"); @@ -243,7 +247,7 @@ int main(int argc, char *argv[]) cmd.addOption("--propose-mpeg4-2-3d", "-x3", "propose MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)"); cmd.addOption("--propose-mpeg4-2-st", "-xo", "propose MPEG4 AVC/H.264 Stereo / Level 4.2 TS"); cmd.addOption("--propose-hevc", "-x4", "propose HEVC/H.265 Main Profile / Level 5.1 TS"); - cmd.addOption("--propose-hevc10", "-x5", "propose HEVC/H.265 Main 10 Profile / Level 5.1 TS"); + cmd.addOption("--propose-hevc10", "-x5", "propose HEVC/H.265 Main 10 Profile / L5.1 TS"); cmd.addOption("--propose-rle", "-xr", "propose RLE lossless TS\nand all uncompressed transfer syntaxes"); #ifdef WITH_ZLIB cmd.addOption("--propose-deflated", "-xd", "propose deflated expl. VR little endian TS\nand all uncompressed transfer syntaxes"); @@ -332,6 +336,14 @@ int main(int argc, char *argv[]) tlsOptions.printSupportedCiphersuites(app, COUT); return 0; } + + // check if the command line contains the --list-profiles option + if (tlsOptions.listOfProfilesRequested(cmd)) + { + tlsOptions.printSupportedTLSProfiles(app, COUT); + return 0; + } + } /* command line parameters */ @@ -721,9 +733,16 @@ int main(int argc, char *argv[]) /* structure. The default values to be set here are "STORESCU" and "ANY-SCP". */ ASC_setAPTitles(params, opt_ourTitle, opt_peerTitle, NULL); + // set the IP protocol version + cmd.beginOptionBlock(); + if (cmd.findOption("--ipv4")) ASC_setProtocolFamily(params, ASC_AF_INET); + if (cmd.findOption("--ipv6")) ASC_setProtocolFamily(params, ASC_AF_INET6); + if (cmd.findOption("--ip-auto")) ASC_setProtocolFamily(params, ASC_AF_UNSPEC); + cmd.endOptionBlock(); + /* Figure out the presentation addresses and copy the */ /* corresponding values into the association parameters.*/ - sprintf(peerHost, "%s:%d", opt_peer, OFstatic_cast(int, opt_port)); + OFStandard::snprintf(peerHost, sizeof(peerHost), "%s:%d", opt_peer, OFstatic_cast(int, opt_port)); ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost); /* Configure User Identity Negotiation*/ @@ -741,7 +760,7 @@ int main(int argc, char *argv[]) const unsigned char *c = OFreinterpret_cast(const unsigned char *, opt_profileName); while (*c) { - if (!isspace(*c)) sprofile += OFstatic_cast(char, toupper(*c)); + if (!OFStandard::isspace(*c)) sprofile += OFstatic_cast(char, toupper(*c)); ++c; } @@ -1111,7 +1130,7 @@ static OFString intToString(int i) { char numbuf[32]; - sprintf(numbuf, "%d", i); + OFStandard::snprintf(numbuf, sizeof(numbuf), "%d", i); return numbuf; } @@ -1138,6 +1157,12 @@ updateStringAttributeValue(DcmItem *dataset, const DcmTagKey &key, OFString &val return OFFalse; } + if (! stack.top()->isElement()) + { + OFLOG_ERROR(storescuLogger, "updateStringAttributeValue: not a DcmElement: " << tag.getTagName() << " " << key); + return OFFalse; + } + DcmElement *elem = OFstatic_cast(DcmElement *, stack.top()); DcmVR vr(elem->ident()); @@ -1327,11 +1352,11 @@ storeSCU(T_ASC_Association *assoc, const char *fname) /* figure out which of the accepted presentation contexts should be used */ DcmXfer filexfer(dcmff.getDataset()->getOriginalXfer()); - /* special case: if the file uses an unencapsulated transfer syntax (uncompressed - * or deflated explicit VR) and we prefer deflated explicit VR, then try - * to find a presentation context for deflated explicit VR first. + /* special case: if the file uses a transfer syntax with native format + * (uncompressed or deflated explicit VR) and we prefer deflated explicit VR, + * then try to find a presentation context for deflated explicit VR first. */ - if (filexfer.isNotEncapsulated() && + if (filexfer.usesNativeFormat() && opt_networkTransferSyntax == EXS_DeflatedLittleEndianExplicit) { filexfer = EXS_DeflatedLittleEndianExplicit; diff --git a/dcmnet/apps/termscu.cc b/dcmnet/apps/termscu.cc index c0b00bf6..a91b3c18 100644 --- a/dcmnet/apps/termscu.cc +++ b/dcmnet/apps/termscu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2005-2022, OFFIS e.V. + * Copyright (C) 2005-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,7 @@ #include "dcmtk/dcmdata/dcdict.h" #include "dcmtk/dcmnet/assoc.h" #include "dcmtk/dcmnet/dimse.h" +#include "dcmtk/ofstd/ofstd.h" #ifdef WITH_ZLIB #include @@ -85,6 +86,10 @@ int main( int argc, char *argv[] ) OFLog::addOptions(cmd); cmd.addGroup("network options:"); + cmd.addSubGroup("IP protocol version:"); + cmd.addOption("--ipv4", "-i4", "use IPv4 only (default)"); + cmd.addOption("--ipv6", "-i6", "use IPv6 only"); + cmd.addOption("--ip-auto", "-i0", "use DNS lookup to determine IP protocol"); cmd.addSubGroup("application entity titles:"); OFString opt1 = "set my calling AE title (default: "; opt1 += APPLICATIONTITLE; @@ -96,14 +101,14 @@ int main( int argc, char *argv[] ) cmd.addOption("--call", "-aec", 1, "[a]etitle: string", opt2.c_str()); cmd.addSubGroup("other network options:"); OFString opt3 = "set max receive pdu to n bytes (default: "; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_DEFAULTMAXPDU)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_DEFAULTMAXPDU)); opt3 += tempstr; opt3 += ")"; OFString opt4 = "[n]umber of bytes: integer ("; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_MINIMUMPDUSIZE)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_MINIMUMPDUSIZE)); opt4 += tempstr; opt4 += ".."; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_MAXIMUMPDUSIZE)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_MAXIMUMPDUSIZE)); opt4 += tempstr; opt4 += ")"; cmd.addOption("--max-pdu", "-pdu", 1, opt4.c_str(), opt3.c_str()); @@ -169,6 +174,13 @@ int main( int argc, char *argv[] ) // set this application's title and the called application's title in the params structure ASC_setAPTitles( params, opt_ourTitle, opt_peerTitle, NULL ); + // set the IP protocol version + cmd.beginOptionBlock(); + if (cmd.findOption("--ipv4")) ASC_setProtocolFamily(params, ASC_AF_INET); + if (cmd.findOption("--ipv6")) ASC_setProtocolFamily(params, ASC_AF_INET6); + if (cmd.findOption("--ip-auto")) ASC_setProtocolFamily(params, ASC_AF_UNSPEC); + cmd.endOptionBlock(); + // set the transport layer type (type of network connection) in the params structure cond = ASC_setTransportLayerType( params, OFFalse ); if( cond.bad() ) @@ -179,7 +191,7 @@ int main( int argc, char *argv[] ) // figure out the presentation addresses and copy the // corresponding values into the association parameters. - sprintf( peerHost, "%s:%d", opt_peer, OFstatic_cast(int, opt_port)); + OFStandard::snprintf(peerHost, sizeof(peerHost), "%s:%d", opt_peer, OFstatic_cast(int, opt_port)); ASC_setPresentationAddresses( params, OFStandard::getHostName().c_str(), peerHost ); // set the presentation context which will be negotiated diff --git a/dcmnet/docs/CMakeLists.txt b/dcmnet/docs/CMakeLists.txt index 9fc0932a..176ffbb0 100644 --- a/dcmnet/docs/CMakeLists.txt +++ b/dcmnet/docs/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES asconfig.txt testing.txt DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}" COMPONENT doc) +install(FILES asconfig.txt testing.txt DESTINATION "${CMAKE_INSTALL_DOCDIR}" COMPONENT doc) diff --git a/dcmnet/docs/dcmrecv.man b/dcmnet/docs/dcmrecv.man index dbec498e..037553b4 100644 --- a/dcmnet/docs/dcmrecv.man +++ b/dcmnet/docs/dcmrecv.man @@ -139,6 +139,9 @@ certification authority: security profile: + +ph --list-profiles + list supported TLS profiles and exit + +pg --profile-8996 BCP 195 RFC 8996 TLS Profile (default) @@ -172,7 +175,7 @@ security profile: ciphersuite: +cc --list-ciphers - show list of supported TLS ciphersuites and exit + list supported TLS ciphersuites and exit +cs --cipher [c]iphersuite name: string add ciphersuite to list of negotiated suites @@ -477,6 +480,6 @@ It is an error if no data dictionary can be loaded. \section dcmrecv_copyright COPYRIGHT -Copyright (C) 2013-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2013-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmnet/docs/dcmsend.man b/dcmnet/docs/dcmsend.man index ea54af0a..b98db6ef 100644 --- a/dcmnet/docs/dcmsend.man +++ b/dcmnet/docs/dcmsend.man @@ -135,6 +135,17 @@ other processing options: \subsection dcmsend_network_options network options \verbatim +IP protocol version: + + -i4 --ipv4 + use IPv4 only (default) + + -i6 --ipv6 + use IPv6 only + + -i0 --ip-auto + use DNS lookup to determine IP protocol + application entity titles: -aet --aetitle [a]etitle: string @@ -228,7 +239,7 @@ Please note, however, that "unsuccessful store" does not mean that the DIMSE status of the C-STORE response indicates an error. It means that the C-STORE request could not be sent to the storage SCP. -If more than 128 presentation contexts are needed, which is the maximum number +If more than 128 Presentation Contexts are needed, which is the maximum number allowed according to the DICOM standard, a new association is started after the previous one has been completed. In cases where this behavior is unwanted, it can be disabled using option \e --single-association. In addition, whether @@ -267,20 +278,20 @@ UID of the DICOM file in order to make sure that only valid SOP instances are sent. With option \e --no-uid-checks this check can be disabled. The \b dcmsend application also supports all Transfer Syntaxes that are defined -in the DICOM standard. Private transfer syntaxes can only be used if the UID +in the DICOM standard. Private Transfer Syntaxes can only be used if the UID check is disabled with option \e --no-uid-checks. Please note, however, that -only a limited number of transfer syntaxes are supported for converting them to -the default transfer syntax (Implicit VR Little Endian). With option -\e --list-decoders the transfer syntaxes supported natively or by decoders are +only a limited number of Transfer Syntaxes are supported for converting them to +the DICOM Default Transfer Syntax (Implicit VR Little Endian). With option +\e --list-decoders the Transfer Syntaxes supported natively or by decoders are listed. The output typically looks like the following: \verbatim -Transfer syntaxes supported natively: +Transfer Syntaxes supported natively: - Little Endian Implicit - Little Endian Explicit - Big Endian Explicit -Transfer syntaxes supported by decoders: +Transfer Syntaxes supported by decoders: - Deflated Explicit VR Little Endian - JPEG Baseline - JPEG Extended, Process 2+4 @@ -294,18 +305,18 @@ Transfer syntaxes supported by decoders: \endverbatim Since \b dcmsend tries to be as simple as possible for the user, by default -presentation contexts might be proposed to the SCP that are strictly speaking +Presentation Contexts might be proposed to the SCP that are strictly speaking "illegal". This is because, according to the DICOM standard, the SCU always -has to propose the default transfer syntax in at least one presentation context -associated with each abstract syntax (i.e. SOP class). This requirement is -waived if the SCU only has access to the SOP instance in lossy compressed form -or if the decompressed pixel data would be too large to be encoded. With +has to propose the DICOM Default Transfer Syntax in at least one Presentation +Context associated with each abstract syntax (i.e. SOP class). This requirement +is waived if the SCU only has access to the SOP instance in lossy compressed +form or if the decompressed pixel data would be too large to be encoded. With option \e --no-illegal-proposal the strict DICOM-conformant behavior can be -enforced, i.e. no possibly illegal presentation context will be proposed but +enforced, i.e. no possibly illegal Presentation Context will be proposed but the corresponding SOP instance will be rejected (if needed). Please note, however, that the size of the decompressed pixel data is not checked. -The default transfer syntax for "Lossless JPEG Compression", "Lossy JPEG +The default Transfer Syntax for "Lossless JPEG Compression", "Lossy JPEG Compression" and so on are not always proposed as also required by the DICOM standard. The same limitation applies to other compression schemes. See DICOM PS 3.5 section 10 for details. @@ -409,6 +420,6 @@ It is an error if no data dictionary can be loaded. \section dcmsend_copyright COPYRIGHT -Copyright (C) 2011-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2011-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmnet/docs/echoscu.man b/dcmnet/docs/echoscu.man index 547bb5b7..0886cd1b 100644 --- a/dcmnet/docs/echoscu.man +++ b/dcmnet/docs/echoscu.man @@ -59,6 +59,17 @@ port tcp/ip port number of peer \subsection echoscu_network_options network options \verbatim +IP protocol version: + + -i4 --ipv4 + use IPv4 only (default) + + -i6 --ipv6 + use IPv6 only + + -i0 --ip-auto + use DNS lookup to determine IP protocol + application entity titles: -aet --aetitle [a]etitle: string @@ -69,7 +80,7 @@ application entity titles: association negotiation debugging: - -pts --propose-ts [n]umber: integer (1..45) + -pts --propose-ts [n]umber: integer (1..52) propose n transfer syntaxes -ppc --propose-pc [n]umber: integer (1..128) @@ -151,6 +162,9 @@ certification authority: security profile: + +ph --list-profiles + list supported TLS profiles and exit + +pg --profile-8996 BCP 195 RFC 8996 TLS Profile (default) @@ -184,7 +198,7 @@ security profile: ciphersuite: +cc --list-ciphers - show list of supported TLS ciphersuites and exit + list supported TLS ciphersuites and exit +cs --cipher [c]iphersuite name: string add ciphersuite to list of negotiated suites @@ -296,6 +310,9 @@ FragmentableMPEG4BDcompatibleHighProfileLevel4_1Tr. 1.2.840.10008.1.2.4.103.1 FragmentableMPEG4HighProfileLevel4_2_For2DVideoTr.S 1.2.840.10008.1.2.4.104.1 FragmentableMPEG4HighProfileLevel4_2_For3DVideoTr.S 1.2.840.10008.1.2.4.105.1 FragmentableMPEG4StereoHighProfileLevel4_2TransferS 1.2.840.10008.1.2.4.106.1 +HighThroughputJPEG2000ImageCompressionLossless.Tr.S 1.2.840.10008.1.2.4.201 +HighThroughputJPEG2000RPCLImageCompressionLoss.Tr.S 1.2.840.10008.1.2.4.202 +HighThroughputJPEG2000ImageCompressionTransferSynt. 1.2.840.10008.1.2.4.203 \endverbatim \section echoscu_logging LOGGING @@ -388,6 +405,6 @@ It is an error if no data dictionary can be loaded. \section echoscu_copyright COPYRIGHT -Copyright (C) 1994-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1994-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmnet/docs/findscu.man b/dcmnet/docs/findscu.man index f3d7d112..321df261 100644 --- a/dcmnet/docs/findscu.man +++ b/dcmnet/docs/findscu.man @@ -81,6 +81,17 @@ query information model: -O --psonly use patient/study only information model +IP protocol version: + + -i4 --ipv4 + use IPv4 only (default) + + -i6 --ipv6 + use IPv6 only + + -i0 --ip-auto + use DNS lookup to determine IP protocol + application entity titles: -aet --aetitle [a]etitle: string @@ -202,6 +213,9 @@ certification authority: security profile: + +ph --list-profiles + list supported TLS profiles and exit + +pg --profile-8996 BCP 195 RFC 8996 TLS Profile (default) @@ -235,7 +249,7 @@ security profile: ciphersuite: +cc --list-ciphers - show list of supported TLS ciphersuites and exit + list supported TLS ciphersuites and exit +cs --cipher [c]iphersuite name: string add ciphersuite to list of negotiated suites @@ -494,6 +508,6 @@ replace any built-in tables. \section findscu_copyright COPYRIGHT -Copyright (C) 1994-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1994-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmnet/docs/getscu.man b/dcmnet/docs/getscu.man index 2b5aabbc..c7ef7ae5 100644 --- a/dcmnet/docs/getscu.man +++ b/dcmnet/docs/getscu.man @@ -83,6 +83,17 @@ query information model: -O --psonly use patient/study only information model +IP protocol version: + + -i4 --ipv4 + use IPv4 only (default) + + -i6 --ipv6 + use IPv6 only + + -i0 --ip-auto + use DNS lookup to determine IP protocol + application entity titles: -aet --aetitle [a]etitle: string @@ -145,10 +156,10 @@ preferred storage transfer syntaxes (incoming associations): prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS +x4 --prefer-hevc - prefer HEVC H.265 Main Profile / Level 5.1 TS + prefer HEVC/H.265 Main Profile / Level 5.1 TS +x5 --prefer-hevc10 - prefer HEVC H.265 Main 10 Profile / Level 5.1 TS + prefer HEVC/H.265 Main 10 Profile / Level 5.1 TS +xr --prefer-rle prefer RLE lossless TS @@ -199,6 +210,127 @@ other network options: abort association instead of releasing it \endverbatim +\subsection getscu_tls_options transport layer security (TLS) options +\verbatim +transport protocol stack: + + -tls --disable-tls + use normal TCP/IP connection (default) + + +tls --enable-tls [p]rivate key file, [c]ertificate file: string + use authenticated secure TLS connection + + +tla --anonymous-tls + use secure TLS connection without certificate + +private key password (only with --enable-tls): + + +ps --std-passwd + prompt user to type password on stdin (default) + + +pw --use-passwd [p]assword: string + use specified password + + -pw --null-passwd + use empty string as password + +key and certificate file format: + + -pem --pem-keys + read keys and certificates as PEM file (default) + + -der --der-keys + read keys and certificates as DER file + +certification authority: + + +cf --add-cert-file [f]ilename: string + add certificate file to list of certificates + + +cd --add-cert-dir [d]irectory: string + add certificates in d to list of certificates + + +crl --add-crl-file [f]ilename: string + add certificate revocation list file + (implies --enable-crl-vfy) + + +crv --enable-crl-vfy + enable leaf CRL verification + + +cra --enable-crl-all + enable full chain CRL verification + +security profile: + + +ph --list-profiles + list supported TLS profiles and exit + + +pg --profile-8996 + BCP 195 RFC 8996 TLS Profile (default) + + +pm --profile-8996-mod + Modified BCP 195 RFC 8996 TLS Profile + + # only available if underlying TLS library supports + # all TLS features required for this profile + + +py --profile-bcp195-nd + Non-downgrading BCP 195 TLS Profile (retired) + + +px --profile-bcp195 + BCP 195 TLS Profile (retired) + + +pz --profile-bcp195-ex + Extended BCP 195 TLS Profile (retired) + + +pb --profile-basic + Basic TLS Secure Transport Connection Profile (retired) + + # only available if underlying TLS library supports 3DES + + +pa --profile-aes + AES TLS Secure Transport Connection Profile (retired) + + +pn --profile-null + Authenticated unencrypted communication + (retired, was used in IHE ATNA) + +ciphersuite: + + +cc --list-ciphers + list supported TLS ciphersuites and exit + + +cs --cipher [c]iphersuite name: string + add ciphersuite to list of negotiated suites + +server name indication: + + --no-sni + do not use SNI (default) + + --request-sni [s]erver name: string + request server name s + +pseudo random generator: + + +rs --seed [f]ilename: string + seed random generator with contents of f + + +ws --write-seed + write back modified seed (only with --seed) + + +wf --write-seed-file [f]ilename: string (only with --seed) + write modified seed to file f + +peer authentication: + + -rc --require-peer-cert + verify peer certificate, fail if absent (default) + + -ic --ignore-peer-cert + don't verify peer certificate +\endverbatim + \subsection getscu_output_options output options \verbatim general: @@ -551,6 +683,6 @@ It is an error if no data dictionary can be loaded. \section getscu_copyright COPYRIGHT -Copyright (C) 2011-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2011-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmnet/docs/movescu.man b/dcmnet/docs/movescu.man index 7e63f772..7ff1be4d 100644 --- a/dcmnet/docs/movescu.man +++ b/dcmnet/docs/movescu.man @@ -148,10 +148,10 @@ preferred network transfer syntaxes (incoming associations): prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS +x4 --prefer-hevc - prefer HEVC H.265 Main Profile / Level 5.1 TS + prefer HEVC/H.265 Main Profile / Level 5.1 TS +x5 --prefer-hevc10 - prefer HEVC H.265 Main 10 Profile / Level 5.1 TS + prefer HEVC/H.265 Main Profile / Level 5.1 TS +xr --prefer-rle prefer RLE lossless TS @@ -515,6 +515,8 @@ DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66. SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4 SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5 TractographyResultsStorage 1.2.840.10008.5.1.4.1.1.66.6 +LabelMapSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.7 +HeightMapSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.8 RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67 SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1 SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2 @@ -536,6 +538,8 @@ OphthalmicOpticalCoherenceTomogr.EnFaceImageStorage 1.2.840.10008.5.1.4.1.1.77. OphthalmicOpticalCoh.Tomogr.BscanVolumeAnalysisStor. 1.2.840.10008.5.1.4.1.1.77.1.5.8 VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6 DermoscopicPhotographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.7 +ConfocalMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.8 +ConfocalMicroscopyTiledPyramidalImageStorage 1.2.840.10008.5.1.4.1.1.77.1.9 RETIRED_VLMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.77.2 LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1 AutorefractionMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.2 @@ -572,6 +576,7 @@ PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88. PlannedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.74 PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75 EnhancedXRayRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.76 +WaveformAnnotationSRStorage 1.2.840.10008.5.1.4.1.1.88.77 ContentAssessmentResultsStorage 1.2.840.10008.5.1.4.1.1.90.1 MicroscopyBulkSimpleAnnotationsStorage 1.2.840.10008.5.1.4.1.1.91.1 EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1 @@ -620,6 +625,8 @@ DICOS_3DAITStorage 1.2.840.10008.5.1.4.1.1.501 DICOS_QuadrupoleResonanceStorage 1.2.840.10008.5.1.4.1.1.501.6 DICONDE_EddyCurrentImageStorage 1.2.840.10008.5.1.4.1.1.601.1 DICONDE_EddyCurrentMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.601.2 +DICONDE_ThermographyImageStorage 1.2.840.10008.5.1.4.1.1.601.3 +DICONDE_ThermographyMultiFrameImageStorage 1.2.840.10008.5.1.4.1.1.601.4 DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1 RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7 RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10 @@ -645,6 +652,7 @@ be changed with the \e --prefer options (see above). Using option \verbatim LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +EncapsulatedUncompressedExplicitVRLittleEndianTr.S. 1.2.840.10008.1.2.1.98 DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 @@ -655,14 +663,27 @@ JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81 JPEG2000LosslessOnlyTransferSyntax 1.2.840.10008.1.2.4.90 JPEG2000TransferSyntax 1.2.840.10008.1.2.4.91 MPEG2MainProfileAtMainLevelTransferSyntax 1.2.840.10008.1.2.4.100 +FragmentableMPEG2MainProfile/MainLevelTransferSyntax 1.2.840.10008.1.2.4.100.1 MPEG2MainProfileAtHighLevelTransferSyntax 1.2.840.10008.1.2.4.101 +FragmentableMPEG2MainProfil/tHighLevelTransferSyntax 1.2.840.10008.1.2.4.101.1 MPEG4HighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.102 +FragmentableMPEG4HighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.102.1 MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.103 +FragmentableMPEG4BDcompatibleHighProfileLevel4_1T.S. 1.2.840.10008.1.2.4.103.1 MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104 +FragmentableMPEG4HighProfileLevel4_2_For2DVideoTr.S. 1.2.840.10008.1.2.4.104.1 MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105 +FragmentableMPEG4HighProfileLevel4_2_For3DVideoTr.S. 1.2.840.10008.1.2.4.105.1 MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106 +FragmentableMPEG4StereoHighProfileLevel4_2TransferS. 1.2.840.10008.1.2.4.106.1 HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107 HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108 +JPEGXLLosslesTransferSyntax 1.2.840.10008.1.2.4.110 +JPEGXLJPEGRecompressionTransferSyntax 1.2.840.10008.1.2.4.111 +JPEGXLTransferSyntax 1.2.840.10008.1.2.4.112 +HighThroughputJPEG2000ImageCompressionLossless.Tr.S. 1.2.840.10008.1.2.4.201 +HighThroughputJPEG2000RPCLImageCompressionLoss.Tr.S. 1.2.840.10008.1.2.4.202 +HighThroughputJPEG2000ImageCompressionTransferSynta. 1.2.840.10008.1.2.4.203 RLELosslessTransferSyntax 1.2.840.10008.1.2.5 \endverbatim @@ -792,6 +813,6 @@ It is an error if no data dictionary can be loaded. \section movescu_copyright COPYRIGHT -Copyright (C) 1994-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1994-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmnet/docs/storescp.man b/dcmnet/docs/storescp.man index 7106ed2c..fb09d07d 100644 --- a/dcmnet/docs/storescp.man +++ b/dcmnet/docs/storescp.man @@ -130,10 +130,10 @@ preferred network transfer syntaxes (not with --config-file): prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS +x4 --prefer-hevc - prefer HEVC H.265 Main Profile / Level 5.1 TS + prefer HEVC/H.265 Main Profile / Level 5.1 TS +x5 --prefer-hevc10 - prefer HEVC H.265 Main 10 Profile / Level 5.1 TS + prefer HEVC/H.265 Main Profile / Level 5.1 TS +xr --prefer-rle prefer RLE lossless TS @@ -259,6 +259,9 @@ certification authority: security profile: + +ph --list-profiles + list supported TLS profiles and exit + +pg --profile-8996 BCP 195 RFC 8996 TLS Profile (default) @@ -292,7 +295,7 @@ security profile: ciphersuite: +cc --list-ciphers - show list of supported TLS ciphersuites and exit + list supported TLS ciphersuites and exit +cs --cipher [c]iphersuite name: string add ciphersuite to list of negotiated suites @@ -521,7 +524,7 @@ Set) and Latin-1 (Specific Character Set valued "ISO_IR 100") are supported. If another character set is found and the patient name contains non-ASCII characters, a warning is printed and the transformation is performed as if Latin-1 character set would be set in the file. This may lead to unreadable -or unexpected patient name directories and behaviour. Thus, it is advisable +or unexpected patient name directories and behavior. Thus, it is advisable to use \e --sort-on-patientname only if Latin-1 or ASCII patient names are expected to be received. @@ -573,8 +576,13 @@ The specified command line is executed as a separate process, so that the execution of \b storescp will not be held back. This behavior can be influenced with the \e --exec-sync option. -Option \e --exec-on-eostudy allows one to execute a certain command line when all -DICOM objects that belong to one study have been received by \b storescp. +Note that the application entity titles ('\#a' and '\#c') will be 'sanitized' +to avoid undesirable behavior when the parameters are passed to the shell. +Unusual characters will be mapped to the '_' character. A warning is printed +to the logger in this case. + +Option \e --exec-on-eostudy allows one to execute a certain command line when +all DICOM objects that belong to one study have been received by \b storescp. The same placeholders as with \e --exec-on-reception may be used, except for '\#f', which is not supported. A study is considered complete by \b storescp when an object belonging to a different study is received or the timeout @@ -712,6 +720,8 @@ DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66. SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4 SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5 TractographyResultsStorage 1.2.840.10008.5.1.4.1.1.66.6 +LabelMapSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.7 +HeightMapSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.8 RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67 SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1 SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2 @@ -733,6 +743,8 @@ OphthalmicOpticalCoherenceTomogr.EnFaceImageStorage 1.2.840.10008.5.1.4.1.1.77. OphthalmicOpticalCoh.Tomogr.BscanVolumeAnalysisStor. 1.2.840.10008.5.1.4.1.1.77.1.5.8 VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6 DermoscopicPhotographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.7 +ConfocalMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.8 +ConfocalMicroscopyTiledPyramidalImageStorage 1.2.840.10008.5.1.4.1.1.77.1.9 RETIRED_VLMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.77.2 LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1 AutorefractionMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.2 @@ -769,6 +781,7 @@ PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88. PlannedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.74 PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75 EnhancedXRayRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.76 +WaveformAnnotationSRStorage 1.2.840.10008.5.1.4.1.1.88.77 ContentAssessmentResultsStorage 1.2.840.10008.5.1.4.1.1.90.1 MicroscopyBulkSimpleAnnotationsStorage 1.2.840.10008.5.1.4.1.1.91.1 EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1 @@ -817,6 +830,8 @@ DICOS_3DAITStorage 1.2.840.10008.5.1.4.1.1.501 DICOS_QuadrupoleResonanceStorage 1.2.840.10008.5.1.4.1.1.501.6 DICONDE_EddyCurrentImageStorage 1.2.840.10008.5.1.4.1.1.601.1 DICONDE_EddyCurrentMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.601.2 +DICONDE_ThermographyImageStorage 1.2.840.10008.5.1.4.1.1.601.3 +DICONDE_ThermographyMultiFrameImageStorage 1.2.840.10008.5.1.4.1.1.601.4 DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1 RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7 RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10 @@ -842,7 +857,8 @@ option \e --accept-all any of the following transfer syntaxes is supported: \verbatim LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 +EncapsulatedUncompressedExplicitVRLittleEndianTr.S. 1.2.840.10008.1.2.1.98 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 @@ -867,10 +883,18 @@ MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106 FragmentableMPEG4StereoHighProfileLevel4_2TransferS. 1.2.840.10008.1.2.4.106.1 HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107 HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108 +JPEGXLLosslesTransferSyntax 1.2.840.10008.1.2.4.110 +JPEGXLJPEGRecompressionTransferSyntax 1.2.840.10008.1.2.4.111 +JPEGXLTransferSyntax 1.2.840.10008.1.2.4.112 +HighThroughputJPEG2000ImageCompressionLossless.Tr.S. 1.2.840.10008.1.2.4.201 +HighThroughputJPEG2000RPCLImageCompressionLoss.Tr.S. 1.2.840.10008.1.2.4.202 +HighThroughputJPEG2000ImageCompressionTransferSynta. 1.2.840.10008.1.2.4.203 RLELosslessTransferSyntax 1.2.840.10008.1.2.5 \endverbatim -Additional Storage SOP Classes and Transfer Syntaxes can be used with the +(*) if compiled with zlib support enabled (see \e --version output) + +Additional Storage SOP Classes and transfer syntaxes can be used with the so-called "association negotiation profiles" (see below). This could be both Private Storage SOP Classes and Standard Storage SOP Classes that do not fit into the PATIENT-STUDY-SERIES-INSTANCE information model. @@ -989,6 +1013,6 @@ It is an error if no data dictionary can be loaded. \section storescp_copyright COPYRIGHT -Copyright (C) 1996-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1996-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmnet/docs/storescu.man b/dcmnet/docs/storescu.man index 288cc773..7f0fbefe 100644 --- a/dcmnet/docs/storescu.man +++ b/dcmnet/docs/storescu.man @@ -101,6 +101,17 @@ input files: \subsection storescu_network_options network options \verbatim +IP protocol version: + + -i4 --ipv4 + use IPv4 only (default) + + -i6 --ipv6 + use IPv6 only + + -i0 --ip-auto + use DNS lookup to determine IP protocol + application entity titles: -aet --aetitle [a]etitle: string @@ -179,10 +190,10 @@ proposed transmission transfer syntaxes (not with --config-file): propose MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS only -x4 --propose-hevc - propose HEVC H.265 Main Profile / Level 5.1 TS only + propose HEVC/H.265 Main Profile / Level 5.1 TS only -x5 --propose-hevc10 - propose HEVC H.265 Main 10 Profile / Level 5.1 TS only + propose HEVC/H.265 Main Profile / Level 5.1 TS only -xr --propose-rle propose RLE lossless TS @@ -341,6 +352,9 @@ certification authority: security profile: + +ph --list-profiles + list supported TLS profiles and exit + +pg --profile-8996 BCP 195 RFC 8996 TLS Profile (default) @@ -374,7 +388,7 @@ security profile: ciphersuite: +cc --list-ciphers - show list of supported TLS ciphersuites and exit + list supported TLS ciphersuites and exit +cs --cipher [c]iphersuite name: string add ciphersuite to list of negotiated suites @@ -504,7 +518,7 @@ following transfer syntaxes are supported: \verbatim LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 @@ -525,7 +539,9 @@ HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108 RLELosslessTransferSyntax 1.2.840.10008.1.2.5 \endverbatim -Additional Storage SOP Classes and Transfer Syntaxes can be used with the +(*) if compiled with zlib support enabled (see \e --version output) + +Additional Storage SOP Classes and transfer syntaxes can be used with the so-called "association negotiation profiles" (see below). The \b storescu application does not support extended negotiation by default. @@ -622,6 +638,6 @@ It is an error if no data dictionary can be loaded. \section storescu_copyright COPYRIGHT -Copyright (C) 1996-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1996-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmnet/docs/termscu.man b/dcmnet/docs/termscu.man index 5c3e4d72..09a16a6d 100644 --- a/dcmnet/docs/termscu.man +++ b/dcmnet/docs/termscu.man @@ -60,6 +60,17 @@ port tcp/ip port number of peer \subsection termscu_network_options network options \verbatim +IP protocol version: + + -i4 --ipv4 + use IPv4 only (default) + + -i6 --ipv6 + use IPv6 only + + -i0 --ip-auto + use DNS lookup to determine IP protocol + application entity titles: -aet --aetitle [a]etitle: string @@ -143,6 +154,6 @@ It is an error if no data dictionary can be loaded. \section termscu_copyright COPYRIGHT -Copyright (C) 2005-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2005-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmnet/etc/CMakeLists.txt b/dcmnet/etc/CMakeLists.txt index 342add45..ec35aa97 100644 --- a/dcmnet/etc/CMakeLists.txt +++ b/dcmnet/etc/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES storescp.cfg storescu.cfg DESTINATION "${CMAKE_INSTALL_FULL_SYSCONFDIR}" COMPONENT etc) +install(FILES storescp.cfg storescu.cfg DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}" COMPONENT etc) diff --git a/dcmnet/etc/storescp.cfg b/dcmnet/etc/storescp.cfg index 31f3125d..7265661f 100644 --- a/dcmnet/etc/storescp.cfg +++ b/dcmnet/etc/storescp.cfg @@ -1,5 +1,5 @@ # -# Copyright (C) 2003-2023, OFFIS e.V. +# Copyright (C) 2003-2024, OFFIS e.V. # All rights reserved. See COPYRIGHT file for details. # # This software and supporting documentation were developed by @@ -31,12 +31,29 @@ TransferSyntax1 = LocalEndianExplicit TransferSyntax2 = OppositeEndianExplicit TransferSyntax3 = LittleEndianImplicit +[UncompressedEncapsulated] +TransferSyntax1 = EncapsulatedUncompressedLittleEndianExplicit +TransferSyntax2 = LittleEndianExplicit +TransferSyntax3 = LittleEndianImplicit +# +# The retired "Big Endian Explicit" transfer syntax is not accepted. +# + [UncompressedOrZlib] TransferSyntax1 = DeflatedLittleEndianExplicit TransferSyntax2 = LocalEndianExplicit TransferSyntax3 = OppositeEndianExplicit TransferSyntax4 = LittleEndianImplicit +[UncompressedEncapsulatedOrZlib] +TransferSyntax1 = DeflatedLittleEndianExplicit +TransferSyntax2 = EncapsulatedUncompressedLittleEndianExplicit +TransferSyntax3 = LittleEndianExplicit +TransferSyntax4 = LittleEndianImplicit +# +# The retired "Big Endian Explicit" transfer syntax is not accepted. +# + [AnyTransferSyntax] TransferSyntax1 = JPEGBaseline TransferSyntax2 = JPEGExtended:Process2+4 @@ -79,10 +96,17 @@ TransferSyntax38 = FragmentableMPEG4HighProfile/Level4.2For3DVideo TransferSyntax39 = FragmentableMPEG4StereoHighProfile/Level4.2 TransferSyntax40 = HEVCMainProfile/Level5.1 TransferSyntax41 = HEVCMain10Profile/Level5.1 -TransferSyntax42 = DeflatedLittleEndianExplicit -TransferSyntax43 = LocalEndianExplicit -TransferSyntax44 = OppositeEndianExplicit -TransferSyntax45 = LittleEndianImplicit +TransferSyntax42 = HighThroughputJPEG2000ImageCompressionLosslessOnly +TransferSyntax43 = HighThroughputJPEG2000withRPCLOptionsImageCompressionLosslessOnly +TransferSyntax44 = HighThroughputJPEG2000ImageCompression +TransferSyntax45 = JPEGXLLossless +TransferSyntax46 = JPEGXLJPEGRecompression +TransferSyntax47 = JPEGXL +TransferSyntax48 = DeflatedLittleEndianExplicit +TransferSyntax49 = EncapsulatedUncompressedLittleEndianExplicit +TransferSyntax50 = LocalEndianExplicit +TransferSyntax51 = OppositeEndianExplicit +TransferSyntax52 = LittleEndianImplicit # ============================================================================ [[PresentationContexts]] @@ -102,221 +126,229 @@ PresentationContext3 = BreastProjectionXRayImageStorageForProcessing\AnyTransf PresentationContext4 = BreastTomosynthesisImageStorage\AnyTransferSyntax PresentationContext5 = CTImageStorage\AnyTransferSyntax PresentationContext6 = ComputedRadiographyImageStorage\AnyTransferSyntax -PresentationContext7 = CornealTopographyMapStorage\AnyTransferSyntax -PresentationContext8 = DermoscopicPhotographyImageStorage\AnyTransferSyntax -PresentationContext9 = DigitalIntraOralXRayImageStorageForPresentation\AnyTransferSyntax -PresentationContext10 = DigitalIntraOralXRayImageStorageForProcessing\AnyTransferSyntax -PresentationContext11 = DigitalMammographyXRayImageStorageForPresentation\AnyTransferSyntax -PresentationContext12 = DigitalMammographyXRayImageStorageForProcessing\AnyTransferSyntax -PresentationContext13 = DigitalXRayImageStorageForPresentation\AnyTransferSyntax -PresentationContext14 = DigitalXRayImageStorageForProcessing\AnyTransferSyntax -PresentationContext15 = EnhancedContinuousRTImageStorage\AnyTransferSyntax -PresentationContext16 = EnhancedCTImageStorage\AnyTransferSyntax -PresentationContext17 = EnhancedMRColorImageStorage\AnyTransferSyntax -PresentationContext18 = EnhancedMRImageStorage\AnyTransferSyntax -PresentationContext19 = EnhancedPETImageStorage\AnyTransferSyntax -PresentationContext20 = EnhancedRTImageStorage\AnyTransferSyntax -PresentationContext21 = EnhancedUSVolumeStorage\AnyTransferSyntax -PresentationContext22 = EnhancedXAImageStorage\AnyTransferSyntax -PresentationContext23 = EnhancedXRFImageStorage\AnyTransferSyntax -PresentationContext24 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\AnyTransferSyntax -PresentationContext25 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\AnyTransferSyntax -PresentationContext26 = LegacyConvertedEnhancedCTImageStorage\AnyTransferSyntax -PresentationContext27 = LegacyConvertedEnhancedMRImageStorage\AnyTransferSyntax -PresentationContext28 = LegacyConvertedEnhancedPETImageStorage\AnyTransferSyntax -PresentationContext29 = MRImageStorage\AnyTransferSyntax -PresentationContext30 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext31 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext32 = MultiframeSingleBitSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext33 = MultiframeTrueColorSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext34 = NuclearMedicineImageStorage\AnyTransferSyntax -PresentationContext35 = OphthalmicOpticalCoherenceTomographyEnFaceImageStorage\AnyTransferSyntax -PresentationContext36 = OphthalmicPhotography16BitImageStorage\AnyTransferSyntax -PresentationContext37 = OphthalmicPhotography8BitImageStorage\AnyTransferSyntax -PresentationContext38 = OphthalmicThicknessMapStorage\AnyTransferSyntax -PresentationContext39 = OphthalmicTomographyImageStorage\AnyTransferSyntax -PresentationContext40 = PhotoacousticImageStorage\AnyTransferSyntax -PresentationContext41 = PositronEmissionTomographyImageStorage\AnyTransferSyntax -PresentationContext42 = RTImageStorage\AnyTransferSyntax -PresentationContext43 = SecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext44 = UltrasoundImageStorage\AnyTransferSyntax -PresentationContext45 = UltrasoundMultiframeImageStorage\AnyTransferSyntax -PresentationContext46 = VLEndoscopicImageStorage\AnyTransferSyntax -PresentationContext47 = VLMicroscopicImageStorage\AnyTransferSyntax -PresentationContext48 = VLPhotographicImageStorage\AnyTransferSyntax -PresentationContext49 = VLSlideCoordinatesMicroscopicImageStorage\AnyTransferSyntax -PresentationContext50 = VLWholeSlideMicroscopyImageStorage\AnyTransferSyntax -PresentationContext51 = VideoEndoscopicImageStorage\AnyTransferSyntax -PresentationContext52 = VideoMicroscopicImageStorage\AnyTransferSyntax -PresentationContext53 = VideoPhotographicImageStorage\AnyTransferSyntax -PresentationContext54 = WideFieldOphthalmicPhotography3DCoordinatesImageStorage\AnyTransferSyntax -PresentationContext55 = WideFieldOphthalmicPhotographyStereographicProjectionImageStorage\AnyTransferSyntax -PresentationContext56 = XRay3DAngiographicImageStorage\AnyTransferSyntax -PresentationContext57 = XRay3DCraniofacialImageStorage\AnyTransferSyntax -PresentationContext58 = XRayAngiographicImageStorage\AnyTransferSyntax -PresentationContext59 = XRayRadiofluoroscopicImageStorage\AnyTransferSyntax +PresentationContext7 = ConfocalMicroscopyImageStorage\AnyTransferSyntax +PresentationContext8 = ConfocalMicroscopyTiledPyramidalImageStorage\AnyTransferSyntax +PresentationContext9 = CornealTopographyMapStorage\AnyTransferSyntax +PresentationContext10 = DermoscopicPhotographyImageStorage\AnyTransferSyntax +PresentationContext11 = DigitalIntraOralXRayImageStorageForPresentation\AnyTransferSyntax +PresentationContext12 = DigitalIntraOralXRayImageStorageForProcessing\AnyTransferSyntax +PresentationContext13 = DigitalMammographyXRayImageStorageForPresentation\AnyTransferSyntax +PresentationContext14 = DigitalMammographyXRayImageStorageForProcessing\AnyTransferSyntax +PresentationContext15 = DigitalXRayImageStorageForPresentation\AnyTransferSyntax +PresentationContext16 = DigitalXRayImageStorageForProcessing\AnyTransferSyntax +PresentationContext17 = EnhancedContinuousRTImageStorage\AnyTransferSyntax +PresentationContext18 = EnhancedCTImageStorage\AnyTransferSyntax +PresentationContext19 = EnhancedMRColorImageStorage\AnyTransferSyntax +PresentationContext20 = EnhancedMRImageStorage\AnyTransferSyntax +PresentationContext21 = EnhancedPETImageStorage\AnyTransferSyntax +PresentationContext22 = EnhancedRTImageStorage\AnyTransferSyntax +PresentationContext23 = EnhancedUSVolumeStorage\AnyTransferSyntax +PresentationContext24 = EnhancedXAImageStorage\AnyTransferSyntax +PresentationContext25 = EnhancedXRFImageStorage\AnyTransferSyntax +PresentationContext26 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\AnyTransferSyntax +PresentationContext27 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\AnyTransferSyntax +PresentationContext28 = LegacyConvertedEnhancedCTImageStorage\AnyTransferSyntax +PresentationContext29 = LegacyConvertedEnhancedMRImageStorage\AnyTransferSyntax +PresentationContext30 = LegacyConvertedEnhancedPETImageStorage\AnyTransferSyntax +PresentationContext31 = MRImageStorage\AnyTransferSyntax +PresentationContext32 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext33 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext34 = MultiframeSingleBitSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext35 = MultiframeTrueColorSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext36 = NuclearMedicineImageStorage\AnyTransferSyntax +PresentationContext37 = OphthalmicOpticalCoherenceTomographyEnFaceImageStorage\AnyTransferSyntax +PresentationContext38 = OphthalmicPhotography16BitImageStorage\AnyTransferSyntax +PresentationContext39 = OphthalmicPhotography8BitImageStorage\AnyTransferSyntax +PresentationContext40 = OphthalmicThicknessMapStorage\AnyTransferSyntax +PresentationContext41 = OphthalmicTomographyImageStorage\AnyTransferSyntax +PresentationContext42 = PhotoacousticImageStorage\AnyTransferSyntax +PresentationContext43 = PositronEmissionTomographyImageStorage\AnyTransferSyntax +PresentationContext44 = RTImageStorage\AnyTransferSyntax +PresentationContext45 = SecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext46 = UltrasoundImageStorage\AnyTransferSyntax +PresentationContext47 = UltrasoundMultiframeImageStorage\AnyTransferSyntax +PresentationContext48 = VLEndoscopicImageStorage\AnyTransferSyntax +PresentationContext49 = VLMicroscopicImageStorage\AnyTransferSyntax +PresentationContext50 = VLPhotographicImageStorage\AnyTransferSyntax +PresentationContext51 = VLSlideCoordinatesMicroscopicImageStorage\AnyTransferSyntax +PresentationContext52 = VLWholeSlideMicroscopyImageStorage\AnyTransferSyntax +PresentationContext53 = VideoEndoscopicImageStorage\AnyTransferSyntax +PresentationContext54 = VideoMicroscopicImageStorage\AnyTransferSyntax +PresentationContext55 = VideoPhotographicImageStorage\AnyTransferSyntax +PresentationContext56 = WideFieldOphthalmicPhotography3DCoordinatesImageStorage\AnyTransferSyntax +PresentationContext57 = WideFieldOphthalmicPhotographyStereographicProjectionImageStorage\AnyTransferSyntax +PresentationContext58 = XRay3DAngiographicImageStorage\AnyTransferSyntax +PresentationContext59 = XRay3DCraniofacialImageStorage\AnyTransferSyntax +PresentationContext60 = XRayAngiographicImageStorage\AnyTransferSyntax +PresentationContext61 = XRayRadiofluoroscopicImageStorage\AnyTransferSyntax # # retired image SOP classes # -PresentationContext60 = RETIRED_HardcopyColorImageStorage\AnyTransferSyntax -PresentationContext61 = RETIRED_HardcopyGrayscaleImageStorage\AnyTransferSyntax -PresentationContext62 = RETIRED_NuclearMedicineImageStorage\AnyTransferSyntax -PresentationContext63 = RETIRED_UltrasoundImageStorage\AnyTransferSyntax -PresentationContext64 = RETIRED_UltrasoundMultiframeImageStorage\AnyTransferSyntax -PresentationContext65 = RETIRED_VLImageStorage\AnyTransferSyntax -PresentationContext66 = RETIRED_VLMultiframeImageStorage\AnyTransferSyntax -PresentationContext67 = RETIRED_XRayAngiographicBiPlaneImageStorage\AnyTransferSyntax +PresentationContext62 = RETIRED_HardcopyColorImageStorage\AnyTransferSyntax +PresentationContext63 = RETIRED_HardcopyGrayscaleImageStorage\AnyTransferSyntax +PresentationContext64 = RETIRED_NuclearMedicineImageStorage\AnyTransferSyntax +PresentationContext65 = RETIRED_UltrasoundImageStorage\AnyTransferSyntax +PresentationContext66 = RETIRED_UltrasoundMultiframeImageStorage\AnyTransferSyntax +PresentationContext67 = RETIRED_VLImageStorage\AnyTransferSyntax +PresentationContext68 = RETIRED_VLMultiframeImageStorage\AnyTransferSyntax +PresentationContext69 = RETIRED_XRayAngiographicBiPlaneImageStorage\AnyTransferSyntax # # the following presentation contexts are for non-image SOP classes -# (including some that do not fit into the PATIENT-STUDY-SERIES-INSTANCE model) -# -PresentationContext68 = AcquisitionContextSRStorage\UncompressedOrZlib -PresentationContext69 = AdvancedBlendingPresentationStateStorage\UncompressedOrZlib -PresentationContext70 = AmbulatoryECGWaveformStorage\UncompressedOrZlib -PresentationContext71 = ArterialPulseWaveformStorage\UncompressedOrZlib -PresentationContext72 = AutorefractionMeasurementsStorage\UncompressedOrZlib -PresentationContext73 = BasicStructuredDisplayStorage\UncompressedOrZlib -PresentationContext74 = BasicTextSRStorage\UncompressedOrZlib -PresentationContext75 = BasicVoiceAudioWaveformStorage\UncompressedOrZlib -PresentationContext76 = BlendingSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext77 = BodyPositionWaveformStorage\UncompressedOrZlib -PresentationContext78 = CArmPhotonElectronRadiationRecordStorage\UncompressedOrZlib -PresentationContext79 = CArmPhotonElectronRadiationStorage\UncompressedOrZlib -PresentationContext80 = CTDefinedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext81 = CTPerformedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext82 = CardiacElectrophysiologyWaveformStorage\UncompressedOrZlib -PresentationContext83 = ChestCADSRStorage\UncompressedOrZlib -PresentationContext84 = ColonCADSRStorage\UncompressedOrZlib -PresentationContext85 = ColorPaletteStorage\UncompressedOrZlib -PresentationContext86 = ColorSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext87 = CompositingPlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext88 = Comprehensive3DSRStorage\UncompressedOrZlib -PresentationContext89 = ComprehensiveSRStorage\UncompressedOrZlib -PresentationContext90 = ContentAssessmentResultsStorage\UncompressedOrZlib -PresentationContext91 = DeformableSpatialRegistrationStorage\UncompressedOrZlib -PresentationContext92 = ElectromyogramWaveformStorage\UncompressedOrZlib -PresentationContext93 = ElectrooculogramWaveformStorage\UncompressedOrZlib -PresentationContext94 = EncapsulatedCDAStorage\UncompressedOrZlib -PresentationContext95 = EncapsulatedMTLStorage\UncompressedOrZlib -PresentationContext96 = EncapsulatedOBJStorage\UncompressedOrZlib -PresentationContext97 = EncapsulatedPDFStorage\UncompressedOrZlib -PresentationContext98 = EncapsulatedSTLStorage\UncompressedOrZlib -PresentationContext99 = EnhancedSRStorage\UncompressedOrZlib -PresentationContext100 = EnhancedXRayRadiationDoseSRStorage\UncompressedOrZlib -PresentationContext101 = ExtensibleSRStorage\UncompressedOrZlib -PresentationContext102 = General32BitECGWaveformStorage\UncompressedOrZlib -PresentationContext103 = GeneralAudioWaveformStorage\UncompressedOrZlib -PresentationContext104 = GeneralECGWaveformStorage\UncompressedOrZlib -PresentationContext105 = GenericImplantTemplateStorage\UncompressedOrZlib -PresentationContext106 = GrayscalePlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext107 = GrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext108 = HangingProtocolStorage\UncompressedOrZlib -PresentationContext109 = HemodynamicWaveformStorage\UncompressedOrZlib -PresentationContext110 = ImplantAssemblyTemplateStorage\UncompressedOrZlib -PresentationContext111 = ImplantTemplateGroupStorage\UncompressedOrZlib -PresentationContext112 = ImplantationPlanSRStorage\UncompressedOrZlib -PresentationContext113 = IntraocularLensCalculationsStorage\UncompressedOrZlib -PresentationContext114 = InventoryStorage\UncompressedOrZlib -PresentationContext115 = KeratometryMeasurementsStorage\UncompressedOrZlib -PresentationContext116 = KeyObjectSelectionDocumentStorage\UncompressedOrZlib -PresentationContext117 = LensometryMeasurementsStorage\UncompressedOrZlib -PresentationContext118 = MRSpectroscopyStorage\UncompressedOrZlib -PresentationContext119 = MacularGridThicknessAndVolumeReportStorage\UncompressedOrZlib -PresentationContext120 = MammographyCADSRStorage\UncompressedOrZlib -PresentationContext121 = MicroscopyBulkSimpleAnnotationsStorage\UncompressedOrZlib -PresentationContext122 = MultichannelRespiratoryWaveformStorage\UncompressedOrZlib -PresentationContext123 = MultipleVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext124 = OphthalmicAxialMeasurementsStorage\UncompressedOrZlib -PresentationContext125 = OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage\UncompressedOrZlib -PresentationContext126 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\UncompressedOrZlib -PresentationContext127 = ParametricMapStorage\UncompressedOrZlib -PresentationContext128 = PatientRadiationDoseSRStorage\UncompressedOrZlib -PresentationContext129 = PerformedImagingAgentAdministrationSRStorage\UncompressedOrZlib -PresentationContext130 = PlannedImagingAgentAdministrationSRStorage\UncompressedOrZlib -PresentationContext131 = ProcedureLogStorage\UncompressedOrZlib -PresentationContext132 = ProtocolApprovalStorage\UncompressedOrZlib -PresentationContext133 = PseudoColorSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext134 = RTBeamsDeliveryInstructionStorage\UncompressedOrZlib -PresentationContext135 = RTBeamsTreatmentRecordStorage\UncompressedOrZlib -PresentationContext136 = RTBrachyApplicationSetupDeliveryInstructionStorage\UncompressedOrZlib -PresentationContext137 = RTBrachyTreatmentRecordStorage\UncompressedOrZlib -PresentationContext138 = RTDoseStorage\UncompressedOrZlib -PresentationContext139 = RTIonBeamsTreatmentRecordStorage\UncompressedOrZlib -PresentationContext140 = RTIonPlanStorage\UncompressedOrZlib -PresentationContext141 = RTPatientPositionAcquisitionInstructionStorage\UncompressedOrZlib -PresentationContext142 = RTPhysicianIntentStorage\UncompressedOrZlib -PresentationContext143 = RTPlanStorage\UncompressedOrZlib -PresentationContext144 = RTRadiationRecordSetStorage\UncompressedOrZlib -PresentationContext145 = RTRadiationSalvageRecordStorage\UncompressedOrZlib -PresentationContext146 = RTRadiationSetDeliveryInstructionStorage\UncompressedOrZlib -PresentationContext147 = RTRadiationSetStorage\UncompressedOrZlib -PresentationContext148 = RTSegmentAnnotationStorage\UncompressedOrZlib -PresentationContext149 = RTStructureSetStorage\UncompressedOrZlib -PresentationContext150 = RTTreatmentPreparationStorage\UncompressedOrZlib -PresentationContext151 = RTTreatmentSummaryRecordStorage\UncompressedOrZlib -PresentationContext152 = RadiopharmaceuticalRadiationDoseSRStorage\UncompressedOrZlib -PresentationContext153 = RawDataStorage\UncompressedOrZlib -PresentationContext154 = RealWorldValueMappingStorage\UncompressedOrZlib -PresentationContext155 = RespiratoryWaveformStorage\UncompressedOrZlib -PresentationContext156 = RoboticArmRadiationStorage\UncompressedOrZlib -PresentationContext157 = RoboticRadiationRecordStorage\UncompressedOrZlib -PresentationContext158 = RoutineScalpElectroencephalogramWaveformStorage\UncompressedOrZlib -PresentationContext159 = SegmentationStorage\UncompressedOrZlib -PresentationContext160 = SegmentedVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext161 = SimplifiedAdultEchoSRStorage\UncompressedOrZlib -PresentationContext162 = SleepElectroencephalogramWaveformStorage\UncompressedOrZlib -PresentationContext163 = SpatialFiducialsStorage\UncompressedOrZlib -PresentationContext164 = SpatialRegistrationStorage\UncompressedOrZlib -PresentationContext165 = SpectaclePrescriptionReportStorage\UncompressedOrZlib -PresentationContext166 = StereometricRelationshipStorage\UncompressedOrZlib -PresentationContext167 = SubjectiveRefractionMeasurementsStorage\UncompressedOrZlib -PresentationContext168 = SurfaceScanMeshStorage\UncompressedOrZlib -PresentationContext169 = SurfaceScanPointCloudStorage\UncompressedOrZlib -PresentationContext170 = SurfaceSegmentationStorage\UncompressedOrZlib -PresentationContext171 = TomotherapeuticRadiationRecordStorage\UncompressedOrZlib -PresentationContext172 = TomotherapeuticRadiationStorage\UncompressedOrZlib -PresentationContext173 = TractographyResultsStorage\UncompressedOrZlib -PresentationContext174 = TwelveLeadECGWaveformStorage\UncompressedOrZlib -PresentationContext175 = VariableModalityLUTSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext176 = VisualAcuityMeasurementsStorage\UncompressedOrZlib -PresentationContext177 = VolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext178 = XADefinedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext179 = XAPerformedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext180 = XAXRFGrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext181 = XRayRadiationDoseSRStorage\UncompressedOrZlib +# (including segmentation and some SOP classes that do not fit into +# the PATIENT-STUDY-SERIES-INSTANCE model) +# +PresentationContext70 = AcquisitionContextSRStorage\UncompressedOrZlib +PresentationContext71 = AdvancedBlendingPresentationStateStorage\UncompressedOrZlib +PresentationContext72 = AmbulatoryECGWaveformStorage\UncompressedOrZlib +PresentationContext73 = ArterialPulseWaveformStorage\UncompressedOrZlib +PresentationContext74 = AutorefractionMeasurementsStorage\UncompressedOrZlib +PresentationContext75 = BasicStructuredDisplayStorage\UncompressedOrZlib +PresentationContext76 = BasicTextSRStorage\UncompressedOrZlib +PresentationContext77 = BasicVoiceAudioWaveformStorage\UncompressedOrZlib +PresentationContext78 = BlendingSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext79 = BodyPositionWaveformStorage\UncompressedOrZlib +PresentationContext80 = CArmPhotonElectronRadiationRecordStorage\UncompressedOrZlib +PresentationContext81 = CArmPhotonElectronRadiationStorage\UncompressedOrZlib +PresentationContext82 = CTDefinedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext83 = CTPerformedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext84 = CardiacElectrophysiologyWaveformStorage\UncompressedOrZlib +PresentationContext85 = ChestCADSRStorage\UncompressedOrZlib +PresentationContext86 = ColonCADSRStorage\UncompressedOrZlib +PresentationContext87 = ColorPaletteStorage\UncompressedOrZlib +PresentationContext88 = ColorSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext89 = CompositingPlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext90 = Comprehensive3DSRStorage\UncompressedOrZlib +PresentationContext91 = ComprehensiveSRStorage\UncompressedOrZlib +PresentationContext92 = ContentAssessmentResultsStorage\UncompressedOrZlib +PresentationContext93 = DeformableSpatialRegistrationStorage\UncompressedOrZlib +PresentationContext94 = ElectromyogramWaveformStorage\UncompressedOrZlib +PresentationContext95 = ElectrooculogramWaveformStorage\UncompressedOrZlib +PresentationContext96 = EncapsulatedCDAStorage\UncompressedOrZlib +PresentationContext97 = EncapsulatedMTLStorage\UncompressedOrZlib +PresentationContext98 = EncapsulatedOBJStorage\UncompressedOrZlib +PresentationContext99 = EncapsulatedPDFStorage\UncompressedOrZlib +PresentationContext100 = EncapsulatedSTLStorage\UncompressedOrZlib +PresentationContext101 = EnhancedSRStorage\UncompressedOrZlib +PresentationContext102 = EnhancedXRayRadiationDoseSRStorage\UncompressedOrZlib +PresentationContext103 = ExtensibleSRStorage\UncompressedOrZlib +PresentationContext104 = General32BitECGWaveformStorage\UncompressedOrZlib +PresentationContext105 = GeneralAudioWaveformStorage\UncompressedOrZlib +PresentationContext106 = GeneralECGWaveformStorage\UncompressedOrZlib +PresentationContext107 = GenericImplantTemplateStorage\UncompressedOrZlib +PresentationContext108 = GrayscalePlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext109 = GrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext110 = HangingProtocolStorage\UncompressedOrZlib +PresentationContext111 = HeightMapSegmentationStorage\UncompressedOrZlib +PresentationContext112 = HemodynamicWaveformStorage\UncompressedOrZlib +PresentationContext113 = ImplantAssemblyTemplateStorage\UncompressedOrZlib +PresentationContext114 = ImplantTemplateGroupStorage\UncompressedOrZlib +PresentationContext115 = ImplantationPlanSRStorage\UncompressedOrZlib +PresentationContext116 = IntraocularLensCalculationsStorage\UncompressedOrZlib +PresentationContext117 = InventoryStorage\UncompressedOrZlib +PresentationContext118 = KeratometryMeasurementsStorage\UncompressedOrZlib +PresentationContext119 = KeyObjectSelectionDocumentStorage\UncompressedOrZlib +PresentationContext120 = LabelMapSegmentationStorage\UncompressedOrZlib +PresentationContext121 = LensometryMeasurementsStorage\UncompressedOrZlib +PresentationContext122 = MRSpectroscopyStorage\UncompressedOrZlib +PresentationContext123 = MacularGridThicknessAndVolumeReportStorage\UncompressedOrZlib +PresentationContext124 = MammographyCADSRStorage\UncompressedOrZlib +PresentationContext125 = MicroscopyBulkSimpleAnnotationsStorage\UncompressedOrZlib +PresentationContext126 = MultichannelRespiratoryWaveformStorage\UncompressedOrZlib +PresentationContext127 = MultipleVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext128 = OphthalmicAxialMeasurementsStorage\UncompressedOrZlib +PresentationContext129 = OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage\UncompressedOrZlib +PresentationContext130 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\UncompressedOrZlib +PresentationContext131 = ParametricMapStorage\UncompressedOrZlib +PresentationContext132 = PatientRadiationDoseSRStorage\UncompressedOrZlib +PresentationContext133 = PerformedImagingAgentAdministrationSRStorage\UncompressedOrZlib +PresentationContext134 = PlannedImagingAgentAdministrationSRStorage\UncompressedOrZlib +PresentationContext135 = ProcedureLogStorage\UncompressedOrZlib +PresentationContext136 = ProtocolApprovalStorage\UncompressedOrZlib +PresentationContext137 = PseudoColorSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext138 = RTBeamsDeliveryInstructionStorage\UncompressedOrZlib +PresentationContext139 = RTBeamsTreatmentRecordStorage\UncompressedOrZlib +PresentationContext140 = RTBrachyApplicationSetupDeliveryInstructionStorage\UncompressedOrZlib +PresentationContext141 = RTBrachyTreatmentRecordStorage\UncompressedOrZlib +PresentationContext142 = RTDoseStorage\UncompressedOrZlib +PresentationContext143 = RTIonBeamsTreatmentRecordStorage\UncompressedOrZlib +PresentationContext144 = RTIonPlanStorage\UncompressedOrZlib +PresentationContext145 = RTPatientPositionAcquisitionInstructionStorage\UncompressedOrZlib +PresentationContext146 = RTPhysicianIntentStorage\UncompressedOrZlib +PresentationContext147 = RTPlanStorage\UncompressedOrZlib +PresentationContext148 = RTRadiationRecordSetStorage\UncompressedOrZlib +PresentationContext149 = RTRadiationSalvageRecordStorage\UncompressedOrZlib +PresentationContext150 = RTRadiationSetDeliveryInstructionStorage\UncompressedOrZlib +PresentationContext151 = RTRadiationSetStorage\UncompressedOrZlib +PresentationContext152 = RTSegmentAnnotationStorage\UncompressedOrZlib +PresentationContext153 = RTStructureSetStorage\UncompressedOrZlib +PresentationContext154 = RTTreatmentPreparationStorage\UncompressedOrZlib +PresentationContext155 = RTTreatmentSummaryRecordStorage\UncompressedOrZlib +PresentationContext156 = RadiopharmaceuticalRadiationDoseSRStorage\UncompressedOrZlib +PresentationContext157 = RawDataStorage\UncompressedOrZlib +PresentationContext158 = RealWorldValueMappingStorage\UncompressedOrZlib +PresentationContext159 = RespiratoryWaveformStorage\UncompressedOrZlib +PresentationContext160 = RoboticArmRadiationStorage\UncompressedOrZlib +PresentationContext161 = RoboticRadiationRecordStorage\UncompressedOrZlib +PresentationContext162 = RoutineScalpElectroencephalogramWaveformStorage\UncompressedOrZlib +PresentationContext163 = SegmentationStorage\UncompressedOrZlib +PresentationContext164 = SegmentedVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext165 = SimplifiedAdultEchoSRStorage\UncompressedOrZlib +PresentationContext166 = SleepElectroencephalogramWaveformStorage\UncompressedOrZlib +PresentationContext167 = SpatialFiducialsStorage\UncompressedOrZlib +PresentationContext168 = SpatialRegistrationStorage\UncompressedOrZlib +PresentationContext169 = SpectaclePrescriptionReportStorage\UncompressedOrZlib +PresentationContext170 = StereometricRelationshipStorage\UncompressedOrZlib +PresentationContext171 = SubjectiveRefractionMeasurementsStorage\UncompressedOrZlib +PresentationContext172 = SurfaceScanMeshStorage\UncompressedOrZlib +PresentationContext173 = SurfaceScanPointCloudStorage\UncompressedOrZlib +PresentationContext174 = SurfaceSegmentationStorage\UncompressedOrZlib +PresentationContext175 = TomotherapeuticRadiationRecordStorage\UncompressedOrZlib +PresentationContext176 = TomotherapeuticRadiationStorage\UncompressedOrZlib +PresentationContext177 = TractographyResultsStorage\UncompressedOrZlib +PresentationContext178 = TwelveLeadECGWaveformStorage\UncompressedOrZlib +PresentationContext179 = VariableModalityLUTSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext180 = VisualAcuityMeasurementsStorage\UncompressedOrZlib +PresentationContext181 = VolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext182 = WaveformAnnotationSRStorage\UncompressedOrZlib +PresentationContext183 = XADefinedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext184 = XAPerformedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext185 = XAXRFGrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext186 = XRayRadiationDoseSRStorage\UncompressedOrZlib # # retired non-image SOP classes # -PresentationContext182 = RETIRED_StandaloneCurveStorage\UncompressedOrZlib -PresentationContext183 = RETIRED_StandaloneModalityLUTStorage\UncompressedOrZlib -PresentationContext184 = RETIRED_StandaloneOverlayStorage\UncompressedOrZlib -PresentationContext185 = RETIRED_StandalonePETCurveStorage\UncompressedOrZlib -PresentationContext186 = RETIRED_StandaloneVOILUTStorage\UncompressedOrZlib -PresentationContext187 = RETIRED_StoredPrintStorage\UncompressedOrZlib +PresentationContext187 = RETIRED_StandaloneCurveStorage\UncompressedOrZlib +PresentationContext188 = RETIRED_StandaloneModalityLUTStorage\UncompressedOrZlib +PresentationContext189 = RETIRED_StandaloneOverlayStorage\UncompressedOrZlib +PresentationContext190 = RETIRED_StandalonePETCurveStorage\UncompressedOrZlib +PresentationContext191 = RETIRED_StandaloneVOILUTStorage\UncompressedOrZlib +PresentationContext192 = RETIRED_StoredPrintStorage\UncompressedOrZlib # # draft non-image SOP classes # -PresentationContext188 = DRAFT_RTBeamsDeliveryInstructionStorage\UncompressedOrZlib -PresentationContext189 = DRAFT_SRAudioStorage\UncompressedOrZlib -PresentationContext190 = DRAFT_SRComprehensiveStorage\UncompressedOrZlib -PresentationContext191 = DRAFT_SRDetailStorage\UncompressedOrZlib -PresentationContext192 = DRAFT_SRTextStorage\UncompressedOrZlib -PresentationContext193 = DRAFT_WaveformStorage\UncompressedOrZlib +PresentationContext193 = DRAFT_RTBeamsDeliveryInstructionStorage\UncompressedOrZlib +PresentationContext194 = DRAFT_SRAudioStorage\UncompressedOrZlib +PresentationContext195 = DRAFT_SRComprehensiveStorage\UncompressedOrZlib +PresentationContext196 = DRAFT_SRDetailStorage\UncompressedOrZlib +PresentationContext197 = DRAFT_SRTextStorage\UncompressedOrZlib +PresentationContext198 = DRAFT_WaveformStorage\UncompressedOrZlib # # DICOS Storage # -PresentationContext194 = DICOS_CTImageStorage\AnyTransferSyntax -PresentationContext195 = DICOS_DigitalXRayImageStorageForPresentation\AnyTransferSyntax -PresentationContext196 = DICOS_DigitalXRayImageStorageForProcessing\AnyTransferSyntax -PresentationContext197 = DICOS_2DAITStorage\AnyTransferSyntax -PresentationContext198 = DICOS_3DAITStorage\AnyTransferSyntax -PresentationContext199 = DICOS_QuadrupoleResonanceStorage\UncompressedOrZlib -PresentationContext200 = DICOS_ThreatDetectionReportStorage\UncompressedOrZlib +PresentationContext199 = DICOS_CTImageStorage\AnyTransferSyntax +PresentationContext200 = DICOS_DigitalXRayImageStorageForPresentation\AnyTransferSyntax +PresentationContext201 = DICOS_DigitalXRayImageStorageForProcessing\AnyTransferSyntax +PresentationContext202 = DICOS_2DAITStorage\AnyTransferSyntax +PresentationContext203 = DICOS_3DAITStorage\AnyTransferSyntax +PresentationContext204 = DICOS_QuadrupoleResonanceStorage\UncompressedOrZlib +PresentationContext205 = DICOS_ThreatDetectionReportStorage\UncompressedOrZlib # # DICONDE Storage # -PresentationContext201 = DICONDE_EddyCurrentImageStorage\AnyTransferSyntax -PresentationContext202 = DICONDE_EddyCurrentMultiframeImageStorage\AnyTransferSyntax +PresentationContext206 = DICONDE_EddyCurrentImageStorage\AnyTransferSyntax +PresentationContext207 = DICONDE_EddyCurrentMultiframeImageStorage\AnyTransferSyntax +PresentationContext208 = DICONDE_ThermographyImageStorage\AnyTransferSyntax +PresentationContext209 = DICONDE_ThermographyMultiFrameImageStorage\AnyTransferSyntax # ---------------------------------------------------------------------------- @@ -338,177 +370,183 @@ PresentationContext3 = BreastProjectionXRayImageStorageForProcessing\AnyTransf PresentationContext4 = BreastTomosynthesisImageStorage\AnyTransferSyntax PresentationContext5 = CTImageStorage\AnyTransferSyntax PresentationContext6 = ComputedRadiographyImageStorage\AnyTransferSyntax -PresentationContext7 = CornealTopographyMapStorage\AnyTransferSyntax -PresentationContext8 = DermoscopicPhotographyImageStorage\AnyTransferSyntax -PresentationContext9 = DigitalIntraOralXRayImageStorageForPresentation\AnyTransferSyntax -PresentationContext10 = DigitalIntraOralXRayImageStorageForProcessing\AnyTransferSyntax -PresentationContext11 = DigitalMammographyXRayImageStorageForPresentation\AnyTransferSyntax -PresentationContext12 = DigitalMammographyXRayImageStorageForProcessing\AnyTransferSyntax -PresentationContext13 = DigitalXRayImageStorageForPresentation\AnyTransferSyntax -PresentationContext14 = DigitalXRayImageStorageForProcessing\AnyTransferSyntax -PresentationContext15 = EnhancedContinuousRTImageStorage\AnyTransferSyntax -PresentationContext16 = EnhancedCTImageStorage\AnyTransferSyntax -PresentationContext17 = EnhancedMRColorImageStorage\AnyTransferSyntax -PresentationContext18 = EnhancedMRImageStorage\AnyTransferSyntax -PresentationContext19 = EnhancedPETImageStorage\AnyTransferSyntax -PresentationContext20 = EnhancedRTImageStorage\AnyTransferSyntax -PresentationContext21 = EnhancedUSVolumeStorage\AnyTransferSyntax -PresentationContext22 = EnhancedXAImageStorage\AnyTransferSyntax -PresentationContext23 = EnhancedXRFImageStorage\AnyTransferSyntax -PresentationContext24 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\AnyTransferSyntax -PresentationContext25 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\AnyTransferSyntax -PresentationContext26 = LegacyConvertedEnhancedCTImageStorage\AnyTransferSyntax -PresentationContext27 = LegacyConvertedEnhancedMRImageStorage\AnyTransferSyntax -PresentationContext28 = LegacyConvertedEnhancedPETImageStorage\AnyTransferSyntax -PresentationContext29 = MRImageStorage\AnyTransferSyntax -PresentationContext30 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext31 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext32 = MultiframeSingleBitSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext33 = MultiframeTrueColorSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext34 = NuclearMedicineImageStorage\AnyTransferSyntax -PresentationContext35 = OphthalmicOpticalCoherenceTomographyEnFaceImageStorage\AnyTransferSyntax -PresentationContext36 = OphthalmicPhotography16BitImageStorage\AnyTransferSyntax -PresentationContext37 = OphthalmicPhotography8BitImageStorage\AnyTransferSyntax -PresentationContext38 = OphthalmicThicknessMapStorage\AnyTransferSyntax -PresentationContext39 = OphthalmicTomographyImageStorage\AnyTransferSyntax -PresentationContext40 = PhotoacousticImageStorage\AnyTransferSyntax -PresentationContext41 = PositronEmissionTomographyImageStorage\AnyTransferSyntax -PresentationContext42 = RTImageStorage\AnyTransferSyntax -PresentationContext43 = SecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext44 = UltrasoundImageStorage\AnyTransferSyntax -PresentationContext45 = UltrasoundMultiframeImageStorage\AnyTransferSyntax -PresentationContext46 = VLEndoscopicImageStorage\AnyTransferSyntax -PresentationContext47 = VLMicroscopicImageStorage\AnyTransferSyntax -PresentationContext48 = VLPhotographicImageStorage\AnyTransferSyntax -PresentationContext49 = VLSlideCoordinatesMicroscopicImageStorage\AnyTransferSyntax -PresentationContext50 = VLWholeSlideMicroscopyImageStorage\AnyTransferSyntax -PresentationContext51 = VideoEndoscopicImageStorage\AnyTransferSyntax -PresentationContext52 = VideoMicroscopicImageStorage\AnyTransferSyntax -PresentationContext53 = VideoPhotographicImageStorage\AnyTransferSyntax -PresentationContext54 = WideFieldOphthalmicPhotography3DCoordinatesImageStorage\AnyTransferSyntax -PresentationContext55 = WideFieldOphthalmicPhotographyStereographicProjectionImageStorage\AnyTransferSyntax -PresentationContext56 = XRay3DAngiographicImageStorage\AnyTransferSyntax -PresentationContext57 = XRay3DCraniofacialImageStorage\AnyTransferSyntax -PresentationContext58 = XRayAngiographicImageStorage\AnyTransferSyntax -PresentationContext59 = XRayRadiofluoroscopicImageStorage\AnyTransferSyntax +PresentationContext7 = ConfocalMicroscopyImageStorage\AnyTransferSyntax +PresentationContext8 = ConfocalMicroscopyTiledPyramidalImageStorage\AnyTransferSyntax +PresentationContext9 = CornealTopographyMapStorage\AnyTransferSyntax +PresentationContext10 = DermoscopicPhotographyImageStorage\AnyTransferSyntax +PresentationContext11 = DigitalIntraOralXRayImageStorageForPresentation\AnyTransferSyntax +PresentationContext12 = DigitalIntraOralXRayImageStorageForProcessing\AnyTransferSyntax +PresentationContext13 = DigitalMammographyXRayImageStorageForPresentation\AnyTransferSyntax +PresentationContext14 = DigitalMammographyXRayImageStorageForProcessing\AnyTransferSyntax +PresentationContext15 = DigitalXRayImageStorageForPresentation\AnyTransferSyntax +PresentationContext16 = DigitalXRayImageStorageForProcessing\AnyTransferSyntax +PresentationContext17 = EnhancedContinuousRTImageStorage\AnyTransferSyntax +PresentationContext18 = EnhancedCTImageStorage\AnyTransferSyntax +PresentationContext19 = EnhancedMRColorImageStorage\AnyTransferSyntax +PresentationContext20 = EnhancedMRImageStorage\AnyTransferSyntax +PresentationContext21 = EnhancedPETImageStorage\AnyTransferSyntax +PresentationContext22 = EnhancedRTImageStorage\AnyTransferSyntax +PresentationContext23 = EnhancedUSVolumeStorage\AnyTransferSyntax +PresentationContext24 = EnhancedXAImageStorage\AnyTransferSyntax +PresentationContext25 = EnhancedXRFImageStorage\AnyTransferSyntax +PresentationContext26 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\AnyTransferSyntax +PresentationContext27 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\AnyTransferSyntax +PresentationContext28 = LegacyConvertedEnhancedCTImageStorage\AnyTransferSyntax +PresentationContext29 = LegacyConvertedEnhancedMRImageStorage\AnyTransferSyntax +PresentationContext30 = LegacyConvertedEnhancedPETImageStorage\AnyTransferSyntax +PresentationContext31 = MRImageStorage\AnyTransferSyntax +PresentationContext32 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext33 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext34 = MultiframeSingleBitSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext35 = MultiframeTrueColorSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext36 = NuclearMedicineImageStorage\AnyTransferSyntax +PresentationContext37 = OphthalmicOpticalCoherenceTomographyEnFaceImageStorage\AnyTransferSyntax +PresentationContext38 = OphthalmicPhotography16BitImageStorage\AnyTransferSyntax +PresentationContext39 = OphthalmicPhotography8BitImageStorage\AnyTransferSyntax +PresentationContext40 = OphthalmicThicknessMapStorage\AnyTransferSyntax +PresentationContext41 = OphthalmicTomographyImageStorage\AnyTransferSyntax +PresentationContext42 = PhotoacousticImageStorage\AnyTransferSyntax +PresentationContext43 = PositronEmissionTomographyImageStorage\AnyTransferSyntax +PresentationContext44 = RTImageStorage\AnyTransferSyntax +PresentationContext45 = SecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext46 = UltrasoundImageStorage\AnyTransferSyntax +PresentationContext47 = UltrasoundMultiframeImageStorage\AnyTransferSyntax +PresentationContext48 = VLEndoscopicImageStorage\AnyTransferSyntax +PresentationContext49 = VLMicroscopicImageStorage\AnyTransferSyntax +PresentationContext50 = VLPhotographicImageStorage\AnyTransferSyntax +PresentationContext51 = VLSlideCoordinatesMicroscopicImageStorage\AnyTransferSyntax +PresentationContext52 = VLWholeSlideMicroscopyImageStorage\AnyTransferSyntax +PresentationContext53 = VideoEndoscopicImageStorage\AnyTransferSyntax +PresentationContext54 = VideoMicroscopicImageStorage\AnyTransferSyntax +PresentationContext55 = VideoPhotographicImageStorage\AnyTransferSyntax +PresentationContext56 = WideFieldOphthalmicPhotography3DCoordinatesImageStorage\AnyTransferSyntax +PresentationContext57 = WideFieldOphthalmicPhotographyStereographicProjectionImageStorage\AnyTransferSyntax +PresentationContext58 = XRay3DAngiographicImageStorage\AnyTransferSyntax +PresentationContext59 = XRay3DCraniofacialImageStorage\AnyTransferSyntax +PresentationContext60 = XRayAngiographicImageStorage\AnyTransferSyntax +PresentationContext61 = XRayRadiofluoroscopicImageStorage\AnyTransferSyntax # # the following presentation contexts are for non-image SOP classes -# (including some that do not fit into the PATIENT-STUDY-SERIES-INSTANCE model) -# -PresentationContext60 = AcquisitionContextSRStorage\UncompressedOrZlib -PresentationContext61 = AdvancedBlendingPresentationStateStorage\UncompressedOrZlib -PresentationContext62 = AmbulatoryECGWaveformStorage\UncompressedOrZlib -PresentationContext63 = ArterialPulseWaveformStorage\UncompressedOrZlib -PresentationContext64 = AutorefractionMeasurementsStorage\UncompressedOrZlib -PresentationContext65 = BasicStructuredDisplayStorage\UncompressedOrZlib -PresentationContext66 = BasicTextSRStorage\UncompressedOrZlib -PresentationContext67 = BasicVoiceAudioWaveformStorage\UncompressedOrZlib -PresentationContext68 = BlendingSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext69 = BodyPositionWaveformStorage\UncompressedOrZlib -PresentationContext70 = CArmPhotonElectronRadiationRecordStorage\UncompressedOrZlib -PresentationContext71 = CArmPhotonElectronRadiationStorage\UncompressedOrZlib -PresentationContext72 = CTDefinedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext73 = CTPerformedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext74 = CardiacElectrophysiologyWaveformStorage\UncompressedOrZlib -PresentationContext75 = ChestCADSRStorage\UncompressedOrZlib -PresentationContext76 = ColonCADSRStorage\UncompressedOrZlib -PresentationContext77 = ColorPaletteStorage\UncompressedOrZlib -PresentationContext78 = ColorSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext79 = CompositingPlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext80 = Comprehensive3DSRStorage\UncompressedOrZlib -PresentationContext81 = ComprehensiveSRStorage\UncompressedOrZlib -PresentationContext82 = ContentAssessmentResultsStorage\UncompressedOrZlib -PresentationContext83 = DeformableSpatialRegistrationStorage\UncompressedOrZlib -PresentationContext84 = ElectromyogramWaveformStorage\UncompressedOrZlib -PresentationContext85 = ElectrooculogramWaveformStorage\UncompressedOrZlib -PresentationContext86 = EncapsulatedCDAStorage\UncompressedOrZlib -PresentationContext87 = EncapsulatedMTLStorage\UncompressedOrZlib -PresentationContext88 = EncapsulatedOBJStorage\UncompressedOrZlib -PresentationContext89 = EncapsulatedPDFStorage\UncompressedOrZlib -PresentationContext90 = EncapsulatedSTLStorage\UncompressedOrZlib -PresentationContext91 = EnhancedSRStorage\UncompressedOrZlib -PresentationContext92 = EnhancedXRayRadiationDoseSRStorage\UncompressedOrZlib -PresentationContext93 = ExtensibleSRStorage\UncompressedOrZlib -PresentationContext94 = General32BitECGWaveformStorage\UncompressedOrZlib -PresentationContext95 = GeneralAudioWaveformStorage\UncompressedOrZlib -PresentationContext96 = GeneralECGWaveformStorage\UncompressedOrZlib -PresentationContext97 = GenericImplantTemplateStorage\UncompressedOrZlib -PresentationContext98 = GrayscalePlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext99 = GrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext100 = HangingProtocolStorage\UncompressedOrZlib -PresentationContext101 = HemodynamicWaveformStorage\UncompressedOrZlib -PresentationContext102 = ImplantAssemblyTemplateStorage\UncompressedOrZlib -PresentationContext103 = ImplantTemplateGroupStorage\UncompressedOrZlib -PresentationContext104 = ImplantationPlanSRStorage\UncompressedOrZlib -PresentationContext105 = IntraocularLensCalculationsStorage\UncompressedOrZlib -PresentationContext106 = InventoryStorage\UncompressedOrZlib -PresentationContext107 = KeratometryMeasurementsStorage\UncompressedOrZlib -PresentationContext108 = KeyObjectSelectionDocumentStorage\UncompressedOrZlib -PresentationContext109 = LensometryMeasurementsStorage\UncompressedOrZlib -PresentationContext110 = MRSpectroscopyStorage\UncompressedOrZlib -PresentationContext111 = MacularGridThicknessAndVolumeReportStorage\UncompressedOrZlib -PresentationContext112 = MammographyCADSRStorage\UncompressedOrZlib -PresentationContext113 = MicroscopyBulkSimpleAnnotationsStorage\UncompressedOrZlib -PresentationContext114 = MultichannelRespiratoryWaveformStorage\UncompressedOrZlib -PresentationContext115 = MultipleVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext116 = OphthalmicAxialMeasurementsStorage\UncompressedOrZlib -PresentationContext117 = OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage\UncompressedOrZlib -PresentationContext118 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\UncompressedOrZlib -PresentationContext119 = ParametricMapStorage\UncompressedOrZlib -PresentationContext120 = PatientRadiationDoseSRStorage\UncompressedOrZlib -PresentationContext121 = PerformedImagingAgentAdministrationSRStorage\UncompressedOrZlib -PresentationContext122 = PlannedImagingAgentAdministrationSRStorage\UncompressedOrZlib -PresentationContext123 = ProcedureLogStorage\UncompressedOrZlib -PresentationContext124 = ProtocolApprovalStorage\UncompressedOrZlib -PresentationContext125 = PseudoColorSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext126 = RTBeamsDeliveryInstructionStorage\UncompressedOrZlib -PresentationContext127 = RTBeamsTreatmentRecordStorage\UncompressedOrZlib -PresentationContext128 = RTBrachyApplicationSetupDeliveryInstructionStorage\UncompressedOrZlib -PresentationContext129 = RTBrachyTreatmentRecordStorage\UncompressedOrZlib -PresentationContext130 = RTDoseStorage\UncompressedOrZlib -PresentationContext131 = RTIonBeamsTreatmentRecordStorage\UncompressedOrZlib -PresentationContext132 = RTIonPlanStorage\UncompressedOrZlib -PresentationContext133 = RTPatientPositionAcquisitionInstructionStorage\UncompressedOrZlib -PresentationContext134 = RTPhysicianIntentStorage\UncompressedOrZlib -PresentationContext135 = RTPlanStorage\UncompressedOrZlib -PresentationContext136 = RTRadiationRecordSetStorage\UncompressedOrZlib -PresentationContext137 = RTRadiationSalvageRecordStorage\UncompressedOrZlib -PresentationContext138 = RTRadiationSetDeliveryInstructionStorage\UncompressedOrZlib -PresentationContext139 = RTRadiationSetStorage\UncompressedOrZlib -PresentationContext140 = RTSegmentAnnotationStorage\UncompressedOrZlib -PresentationContext141 = RTStructureSetStorage\UncompressedOrZlib -PresentationContext142 = RTTreatmentPreparationStorage\UncompressedOrZlib -PresentationContext143 = RTTreatmentSummaryRecordStorage\UncompressedOrZlib -PresentationContext144 = RadiopharmaceuticalRadiationDoseSRStorage\UncompressedOrZlib -PresentationContext145 = RawDataStorage\UncompressedOrZlib -PresentationContext146 = RealWorldValueMappingStorage\UncompressedOrZlib -PresentationContext147 = RespiratoryWaveformStorage\UncompressedOrZlib -PresentationContext148 = RoboticArmRadiationStorage\UncompressedOrZlib -PresentationContext149 = RoboticRadiationRecordStorage\UncompressedOrZlib -PresentationContext150 = RoutineScalpElectroencephalogramWaveformStorage\UncompressedOrZlib -PresentationContext151 = SegmentationStorage\UncompressedOrZlib -PresentationContext152 = SegmentedVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext153 = SimplifiedAdultEchoSRStorage\UncompressedOrZlib -PresentationContext154 = SleepElectroencephalogramWaveformStorage\UncompressedOrZlib -PresentationContext155 = SpatialFiducialsStorage\UncompressedOrZlib -PresentationContext156 = SpatialRegistrationStorage\UncompressedOrZlib -PresentationContext157 = SpectaclePrescriptionReportStorage\UncompressedOrZlib -PresentationContext158 = StereometricRelationshipStorage\UncompressedOrZlib -PresentationContext159 = SubjectiveRefractionMeasurementsStorage\UncompressedOrZlib -PresentationContext160 = SurfaceScanMeshStorage\UncompressedOrZlib -PresentationContext161 = SurfaceScanPointCloudStorage\UncompressedOrZlib -PresentationContext162 = SurfaceSegmentationStorage\UncompressedOrZlib -PresentationContext163 = TomotherapeuticRadiationRecordStorage\UncompressedOrZlib -PresentationContext164 = TomotherapeuticRadiationStorage\UncompressedOrZlib -PresentationContext165 = TractographyResultsStorage\UncompressedOrZlib -PresentationContext166 = TwelveLeadECGWaveformStorage\UncompressedOrZlib -PresentationContext167 = VariableModalityLUTSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext168 = VisualAcuityMeasurementsStorage\UncompressedOrZlib -PresentationContext169 = VolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext170 = XADefinedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext171 = XAPerformedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext172 = XAXRFGrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext173 = XRayRadiationDoseSRStorage\UncompressedOrZlib +# (including segmentation and some SOP classes that do not fit into +# the PATIENT-STUDY-SERIES-INSTANCE model) +# +PresentationContext62 = AcquisitionContextSRStorage\UncompressedOrZlib +PresentationContext63 = AdvancedBlendingPresentationStateStorage\UncompressedOrZlib +PresentationContext64 = AmbulatoryECGWaveformStorage\UncompressedOrZlib +PresentationContext65 = ArterialPulseWaveformStorage\UncompressedOrZlib +PresentationContext66 = AutorefractionMeasurementsStorage\UncompressedOrZlib +PresentationContext67 = BasicStructuredDisplayStorage\UncompressedOrZlib +PresentationContext68 = BasicTextSRStorage\UncompressedOrZlib +PresentationContext69 = BasicVoiceAudioWaveformStorage\UncompressedOrZlib +PresentationContext70 = BlendingSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext71 = BodyPositionWaveformStorage\UncompressedOrZlib +PresentationContext72 = CArmPhotonElectronRadiationRecordStorage\UncompressedOrZlib +PresentationContext73 = CArmPhotonElectronRadiationStorage\UncompressedOrZlib +PresentationContext74 = CTDefinedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext75 = CTPerformedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext76 = CardiacElectrophysiologyWaveformStorage\UncompressedOrZlib +PresentationContext77 = ChestCADSRStorage\UncompressedOrZlib +PresentationContext78 = ColonCADSRStorage\UncompressedOrZlib +PresentationContext79 = ColorPaletteStorage\UncompressedOrZlib +PresentationContext80 = ColorSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext81 = CompositingPlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext82 = Comprehensive3DSRStorage\UncompressedOrZlib +PresentationContext83 = ComprehensiveSRStorage\UncompressedOrZlib +PresentationContext84 = ContentAssessmentResultsStorage\UncompressedOrZlib +PresentationContext85 = DeformableSpatialRegistrationStorage\UncompressedOrZlib +PresentationContext86 = ElectromyogramWaveformStorage\UncompressedOrZlib +PresentationContext87 = ElectrooculogramWaveformStorage\UncompressedOrZlib +PresentationContext88 = EncapsulatedCDAStorage\UncompressedOrZlib +PresentationContext89 = EncapsulatedMTLStorage\UncompressedOrZlib +PresentationContext90 = EncapsulatedOBJStorage\UncompressedOrZlib +PresentationContext91 = EncapsulatedPDFStorage\UncompressedOrZlib +PresentationContext92 = EncapsulatedSTLStorage\UncompressedOrZlib +PresentationContext93 = EnhancedSRStorage\UncompressedOrZlib +PresentationContext94 = EnhancedXRayRadiationDoseSRStorage\UncompressedOrZlib +PresentationContext95 = ExtensibleSRStorage\UncompressedOrZlib +PresentationContext96 = General32BitECGWaveformStorage\UncompressedOrZlib +PresentationContext97 = GeneralAudioWaveformStorage\UncompressedOrZlib +PresentationContext98 = GeneralECGWaveformStorage\UncompressedOrZlib +PresentationContext99 = GenericImplantTemplateStorage\UncompressedOrZlib +PresentationContext100 = GrayscalePlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext101 = GrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext102 = HangingProtocolStorage\UncompressedOrZlib +PresentationContext103 = HeightMapSegmentationStorage\UncompressedOrZlib +PresentationContext104 = HemodynamicWaveformStorage\UncompressedOrZlib +PresentationContext105 = ImplantAssemblyTemplateStorage\UncompressedOrZlib +PresentationContext106 = ImplantTemplateGroupStorage\UncompressedOrZlib +PresentationContext107 = ImplantationPlanSRStorage\UncompressedOrZlib +PresentationContext108 = IntraocularLensCalculationsStorage\UncompressedOrZlib +PresentationContext109 = InventoryStorage\UncompressedOrZlib +PresentationContext110 = KeratometryMeasurementsStorage\UncompressedOrZlib +PresentationContext111 = KeyObjectSelectionDocumentStorage\UncompressedOrZlib +PresentationContext112 = LabelMapSegmentationStorage\UncompressedOrZlib +PresentationContext113 = LensometryMeasurementsStorage\UncompressedOrZlib +PresentationContext114 = MRSpectroscopyStorage\UncompressedOrZlib +PresentationContext115 = MacularGridThicknessAndVolumeReportStorage\UncompressedOrZlib +PresentationContext116 = MammographyCADSRStorage\UncompressedOrZlib +PresentationContext117 = MicroscopyBulkSimpleAnnotationsStorage\UncompressedOrZlib +PresentationContext118 = MultichannelRespiratoryWaveformStorage\UncompressedOrZlib +PresentationContext119 = MultipleVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext120 = OphthalmicAxialMeasurementsStorage\UncompressedOrZlib +PresentationContext121 = OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage\UncompressedOrZlib +PresentationContext122 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\UncompressedOrZlib +PresentationContext123 = ParametricMapStorage\UncompressedOrZlib +PresentationContext124 = PatientRadiationDoseSRStorage\UncompressedOrZlib +PresentationContext125 = PerformedImagingAgentAdministrationSRStorage\UncompressedOrZlib +PresentationContext126 = PlannedImagingAgentAdministrationSRStorage\UncompressedOrZlib +PresentationContext127 = ProcedureLogStorage\UncompressedOrZlib +PresentationContext128 = ProtocolApprovalStorage\UncompressedOrZlib +PresentationContext129 = PseudoColorSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext130 = RTBeamsDeliveryInstructionStorage\UncompressedOrZlib +PresentationContext131 = RTBeamsTreatmentRecordStorage\UncompressedOrZlib +PresentationContext132 = RTBrachyApplicationSetupDeliveryInstructionStorage\UncompressedOrZlib +PresentationContext133 = RTBrachyTreatmentRecordStorage\UncompressedOrZlib +PresentationContext134 = RTDoseStorage\UncompressedOrZlib +PresentationContext135 = RTIonBeamsTreatmentRecordStorage\UncompressedOrZlib +PresentationContext136 = RTIonPlanStorage\UncompressedOrZlib +PresentationContext137 = RTPatientPositionAcquisitionInstructionStorage\UncompressedOrZlib +PresentationContext138 = RTPhysicianIntentStorage\UncompressedOrZlib +PresentationContext139 = RTPlanStorage\UncompressedOrZlib +PresentationContext140 = RTRadiationRecordSetStorage\UncompressedOrZlib +PresentationContext141 = RTRadiationSalvageRecordStorage\UncompressedOrZlib +PresentationContext142 = RTRadiationSetDeliveryInstructionStorage\UncompressedOrZlib +PresentationContext143 = RTRadiationSetStorage\UncompressedOrZlib +PresentationContext144 = RTSegmentAnnotationStorage\UncompressedOrZlib +PresentationContext145 = RTStructureSetStorage\UncompressedOrZlib +PresentationContext146 = RTTreatmentPreparationStorage\UncompressedOrZlib +PresentationContext147 = RTTreatmentSummaryRecordStorage\UncompressedOrZlib +PresentationContext148 = RadiopharmaceuticalRadiationDoseSRStorage\UncompressedOrZlib +PresentationContext149 = RawDataStorage\UncompressedOrZlib +PresentationContext150 = RealWorldValueMappingStorage\UncompressedOrZlib +PresentationContext151 = RespiratoryWaveformStorage\UncompressedOrZlib +PresentationContext152 = RoboticArmRadiationStorage\UncompressedOrZlib +PresentationContext153 = RoboticRadiationRecordStorage\UncompressedOrZlib +PresentationContext154 = RoutineScalpElectroencephalogramWaveformStorage\UncompressedOrZlib +PresentationContext155 = SegmentationStorage\UncompressedOrZlib +PresentationContext156 = SegmentedVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext157 = SimplifiedAdultEchoSRStorage\UncompressedOrZlib +PresentationContext158 = SleepElectroencephalogramWaveformStorage\UncompressedOrZlib +PresentationContext159 = SpatialFiducialsStorage\UncompressedOrZlib +PresentationContext160 = SpatialRegistrationStorage\UncompressedOrZlib +PresentationContext161 = SpectaclePrescriptionReportStorage\UncompressedOrZlib +PresentationContext162 = StereometricRelationshipStorage\UncompressedOrZlib +PresentationContext163 = SubjectiveRefractionMeasurementsStorage\UncompressedOrZlib +PresentationContext164 = SurfaceScanMeshStorage\UncompressedOrZlib +PresentationContext165 = SurfaceScanPointCloudStorage\UncompressedOrZlib +PresentationContext166 = SurfaceSegmentationStorage\UncompressedOrZlib +PresentationContext167 = TomotherapeuticRadiationRecordStorage\UncompressedOrZlib +PresentationContext168 = TomotherapeuticRadiationStorage\UncompressedOrZlib +PresentationContext169 = TractographyResultsStorage\UncompressedOrZlib +PresentationContext170 = TwelveLeadECGWaveformStorage\UncompressedOrZlib +PresentationContext171 = VariableModalityLUTSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext172 = VisualAcuityMeasurementsStorage\UncompressedOrZlib +PresentationContext173 = VolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext174 = WaveformAnnotationSRStorage\UncompressedOrZlib +PresentationContext175 = XADefinedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext176 = XAPerformedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext177 = XAXRFGrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext178 = XRayRadiationDoseSRStorage\UncompressedOrZlib # ============================================================================ [[Profiles]] diff --git a/dcmnet/etc/storescu.cfg b/dcmnet/etc/storescu.cfg index c2034eaa..412ec319 100644 --- a/dcmnet/etc/storescu.cfg +++ b/dcmnet/etc/storescu.cfg @@ -1,5 +1,5 @@ # -# Copyright (C) 2003-2023, OFFIS e.V. +# Copyright (C) 2003-2024, OFFIS e.V. # All rights reserved. See COPYRIGHT file for details. # # This software and supporting documentation were developed by @@ -26,6 +26,14 @@ TransferSyntax1 = LittleEndianExplicit TransferSyntax2 = BigEndianExplicit TransferSyntax3 = LittleEndianImplicit +[UncompressedEncapsulated] +TransferSyntax1 = EncapsulatedUncompressedLittleEndianExplicit +TransferSyntax2 = LittleEndianExplicit +TransferSyntax3 = LittleEndianImplicit +# +# The retired "Big Endian Explicit" transfer syntax is not proposed. +# + [JPEGBaseline] TransferSyntax1 = JPEGBaseline @@ -70,6 +78,8 @@ TransferSyntax1 = MPEG4HighProfile/Level4.1 # - BigEndianExplicit # - LittleEndianImplicit # +# - EncapsulatedUncompressedLittleEndianExplicit +# # - DeflatedLittleEndianExplicit # # - JPEGBaseline @@ -97,6 +107,12 @@ TransferSyntax1 = MPEG4HighProfile/Level4.1 # - JPEG2000 # - JPEG2000MulticomponentLosslessOnly # - JPEG2000Multicomponent +# - HighThroughputJPEG2000ImageCompressionLosslessOnly +# - HighThroughputJPEG2000withRPCLOptionsImageCompressionLosslessOnly +# - HighThroughputJPEG2000ImageCompression +# - JPEGXLLossless +# - JPEGXLJPEGRecompression +# - JPEGXL # # - MPEG2MainProfile@MainLevel # - MPEG2MainProfile@HighLevel @@ -279,6 +295,8 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # - ColorPaletteStorage # - CompositingPlanarMPRVolumetricPresentationStateStorage # - Comprehensive3DSRStorage +# - ConfocalMicroscopyImageStorage +# - ConfocalMicroscopyTiledPyramidalImageStorage # - ContentAssessmentResultsStorage # - CornealTopographyMapStorage # - CTDefinedProcedureProtocolStorage @@ -302,6 +320,7 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # - GeneralAudioWaveformStorage # - GenericImplantTemplateStorage # - GrayscalePlanarMPRVolumetricPresentationStateStorage +# - HeightMapSegmentationStorage # - ImplantAssemblyTemplateStorage # - ImplantationPlanSRStorage # - ImplantTemplateGroupStorage @@ -310,6 +329,7 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # - IntravascularOpticalCoherenceTomographyImageStorageForProcessing # - InventoryStorage # - KeratometryMeasurementsStorage +# - LabelMapSegmentationStorage # - LegacyConvertedEnhancedCTImageStorage # - LegacyConvertedEnhancedMRImageStorage # - LegacyConvertedEnhancedPETImageStorage @@ -364,6 +384,7 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # - VisualAcuityMeasurementsStorage # - VLWholeSlideMicroscopyImageStorage # - VolumeRenderingVolumetricPresentationStateStorage +# - WaveformAnnotationSRStorage # - WideFieldOphthalmicPhotographyStereographicProjectionImageStorage # - WideFieldOphthalmicPhotography3DCoordinatesImageStorage # - XADefinedProcedureProtocolStorage @@ -396,6 +417,8 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # # - DICONDE_EddyCurrentImageStorage # - DICONDE_EddyCurrentMultiframeImageStorage +# - DICONDE_ThermographyImageStorage +# - DICONDE_ThermographyMultiFrameImageStorage # ============================================================================ [[Profiles]] diff --git a/dcmnet/include/dcmtk/dcmnet/assoc.h b/dcmnet/include/dcmtk/dcmnet/assoc.h index 28e54946..b77d6741 100644 --- a/dcmnet/include/dcmtk/dcmnet/assoc.h +++ b/dcmnet/include/dcmtk/dcmnet/assoc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -130,9 +130,9 @@ enum T_ASC_NetworkRole struct DCMTK_DCMNET_EXPORT T_ASC_Network { - T_ASC_NetworkRole role; + T_ASC_NetworkRole role; int acceptorPort; - DUL_NETWORKKEY *network; + DUL_NETWORKKEY *network; }; @@ -143,22 +143,23 @@ struct DCMTK_DCMNET_EXPORT T_ASC_Network /* not defined anywhere (I think) but a hard limitation for now. - * DICOM (1998) defines 22 transfer syntaxes, this upper limit - * should allow for sufficiently many private transfer syntaxes. + * DICOM (2024) defines more than 50 transfer syntaxes for network + * communication, so this upper limit should allow for sufficiently + * many private transfer syntaxes. */ -#define DICOM_MAXTRANSFERSYNTAXES 50 +#define DICOM_MAXTRANSFERSYNTAXES 128 typedef DUL_PRESENTATIONCONTEXTID T_ASC_PresentationContextID; enum T_ASC_P_ResultReason { /* Part 8, pp 45. */ - ASC_P_ACCEPTANCE = 0, - ASC_P_USERREJECTION = 1, - ASC_P_NOREASON = 2, - ASC_P_ABSTRACTSYNTAXNOTSUPPORTED = 3, - ASC_P_TRANSFERSYNTAXESNOTSUPPORTED = 4, - ASC_P_NOTYETNEGOTIATED = 255 + ASC_P_ACCEPTANCE = 0, + ASC_P_USERREJECTION = 1, + ASC_P_NOREASON = 2, + ASC_P_ABSTRACTSYNTAXNOTSUPPORTED = 3, + ASC_P_TRANSFERSYNTAXESNOTSUPPORTED = 4, + ASC_P_NOTYETNEGOTIATED = 255 }; enum T_ASC_SC_ROLE @@ -173,19 +174,19 @@ enum T_ASC_SC_ROLE struct DCMTK_DCMNET_EXPORT T_ASC_PresentationContext { T_ASC_PresentationContextID presentationContextID; - DIC_UI abstractSyntax; - unsigned char transferSyntaxCount; - DIC_UI proposedTransferSyntaxes[DICOM_MAXTRANSFERSYNTAXES]; - DIC_UI acceptedTransferSyntax; - T_ASC_P_ResultReason resultReason; - T_ASC_SC_ROLE proposedRole; - T_ASC_SC_ROLE acceptedRole; + DIC_UI abstractSyntax; + unsigned char transferSyntaxCount; + DIC_UI proposedTransferSyntaxes[DICOM_MAXTRANSFERSYNTAXES]; + DIC_UI acceptedTransferSyntax; + T_ASC_P_ResultReason resultReason; + T_ASC_SC_ROLE proposedRole; + T_ASC_SC_ROLE acceptedRole; }; enum T_ASC_RejectParametersResult { - ASC_RESULT_REJECTEDPERMANENT = 1, - ASC_RESULT_REJECTEDTRANSIENT = 2 + ASC_RESULT_REJECTEDPERMANENT = 1, + ASC_RESULT_REJECTEDTRANSIENT = 2 }; enum T_ASC_RejectParametersSource @@ -234,7 +235,6 @@ struct DCMTK_DCMNET_EXPORT T_ASC_Parameters long ourMaxPDUReceiveSize; /* we say what we can receive */ long theirMaxPDUReceiveSize; /* they say what we can send */ - }; /* @@ -323,6 +323,12 @@ ASC_setTransportLayerType( T_ASC_Parameters * params, OFBool useSecureLayer); +/* set IP protocol family */ +DCMTK_DCMNET_EXPORT OFCondition +ASC_setProtocolFamily( + T_ASC_Parameters * params, + T_ASC_ProtocolFamily protocolFamily); + /* * Copies the provided Application Titles in the association parameters. */ @@ -727,6 +733,13 @@ ASC_closeTransportConnection(T_ASC_Association * association); DCMTK_DCMNET_EXPORT OFCondition ASC_destroyAssociation(T_ASC_Association ** association); +/** this function sets a flag in the association that the current process + * is the parent process after a fork() operation and that the association + * will be handled by the child process. In the case of TLS connections, + * this prevents the destructor from calling SSL_shutdown(). + */ +DCMTK_DCMNET_EXPORT void ASC_setParentProcessMode(T_ASC_Association *association); + /// @deprecated Please use OFString& ASC_printRejectParameters(OFString&, T_ASC_RejectParameters*) instead. OFdeprecated DCMTK_DCMNET_EXPORT void ASC_printRejectParameters( diff --git a/dcmnet/include/dcmtk/dcmnet/dcmtrans.h b/dcmnet/include/dcmtk/dcmnet/dcmtrans.h index 26534ec7..67ecbbe3 100644 --- a/dcmnet/include/dcmtk/dcmnet/dcmtrans.h +++ b/dcmnet/include/dcmtk/dcmnet/dcmtrans.h @@ -162,6 +162,18 @@ public: */ virtual OFString& dumpConnectionParameters(OFString& str) = 0; + /** this method must be called by the parent process after a fork() + * if the TLS connection is handled by the child process. This + * will prevent the destructor in the parent process from calling + * SSL_shutdown(). + */ + virtual void setParentProcessMode(); + + /** check if the connection has been set to parent process mode + * by a prior call to setParentProcessMode(). + */ + virtual OFBool isParentProcessMode() const; + /** prints the characteristics of the current connection * on the given output stream. * @param out output stream @@ -243,6 +255,14 @@ private: /// the socket file descriptor/handle used by the transport connection. DcmNativeSocketType theSocket; + + /** a flag that must be set in the parent process after a fork() + * if the TLS connection is handled by the child process. This + * will prevent the destructor in the parent process from calling + * SSL_shutdown(). + */ + OFBool isForkedParent; + }; @@ -319,12 +339,12 @@ public: */ virtual unsigned long getPeerCertificateLength(); - /* copies the peer certificate of a secure connection into a buffer - * specified by the caller. If the buffer is too small to hold the - * certificate, nothing is copied and zero is returned. - * @param buf buffer into which the certificate is written - * @param bufLen size of the buffer in bytes - * @return number of bytes written, always less or equal bufLen. + /** copies the peer certificate of a secure connection into a buffer + * specified by the caller. If the buffer is too small to hold the + * certificate, nothing is copied and zero is returned. + * @param buf buffer into which the certificate is written + * @param bufLen size of the buffer in bytes + * @return number of bytes written, always less or equal bufLen. */ virtual unsigned long getPeerCertificate(void *buf, unsigned long bufLen); diff --git a/dcmnet/include/dcmtk/dcmnet/dcompat.h b/dcmnet/include/dcmtk/dcmnet/dcompat.h index c0ff6bf6..c083c16a 100644 --- a/dcmnet/include/dcmtk/dcmnet/dcompat.h +++ b/dcmnet/include/dcmtk/dcmnet/dcompat.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -173,122 +173,6 @@ DCMTK_DCMNET_EXPORT int dcmtk_flock(int fd, int operation); #endif /* !HAVE_FLOCK */ #endif -#ifndef HAVE_PROTOTYPE_GETHOSTNAME -#ifdef HAVE_GETHOSTNAME -/* gethostname is in the libraries but we have no prototype */ -BEGIN_EXTERN_C -DCMTK_DCMNET_EXPORT int gethostname(char* name, int namelen); -END_EXTERN_C -#else -#ifndef __MINGW32__ -/* define gethostname ourselves (except on MinGW, where this is defined - in a Windows specific header -*/ -DCMTK_DCMNET_EXPORT int gethostname(char* name, int namelen); -#endif -#endif -#endif - -#ifndef HAVE_PROTOTYPE_GETSOCKOPT -#ifdef HAVE_GETSOCKOPT -/* it is in the libraries but we have no prototype */ -BEGIN_EXTERN_C -DCMTK_DCMNET_EXPORT int getsockopt(int s, int level, int optname, char *optval, int *optlen); -END_EXTERN_C -#else -/* don't know how to emulate */ -#endif -#endif - -#ifndef HAVE_PROTOTYPE_SETSOCKOPT -#ifdef HAVE_SETSOCKOPT -/* it is in the libraries but we have no prototype */ -BEGIN_EXTERN_C -DCMTK_DCMNET_EXPORT int setsockopt(int s, int level, int optname, const char *optval, int optlen); -END_EXTERN_C -#else -/* don't know how to emulate */ -#endif -#endif - -#ifndef HAVE_PROTOTYPE_LISTEN -#ifdef HAVE_LISTEN -/* it is in the libraries but we have no prototype */ -BEGIN_EXTERN_C -DCMTK_DCMNET_EXPORT int listen(int s, int backlog); -END_EXTERN_C -#else -/* don't know how to emulate */ -#endif -#endif - -#ifndef HAVE_PROTOTYPE_SOCKET -#ifdef HAVE_SOCKET -/* it is in the libraries but we have no prototype */ -BEGIN_EXTERN_C -DCMTK_DCMNET_EXPORT int socket(int domain, int type, int protocol); -END_EXTERN_C -#else -/* don't know how to emulate */ -#endif -#endif - -#ifndef HAVE_PROTOTYPE_CONNECT -#ifdef HAVE_CONNECT -/* it is in the libraries but we have no prototype */ -BEGIN_EXTERN_C -DCMTK_DCMNET_EXPORT int connect(int s, struct sockaddr *name, int namelen); -END_EXTERN_C -#else -/* don't know how to emulate */ -#endif -#endif - -#ifndef HAVE_PROTOTYPE_SELECT -#ifdef HAVE_SELECT -/* it is in the libraries but we have no prototype */ -BEGIN_EXTERN_C -DCMTK_DCMNET_EXPORT int select(int nfds, fd_set *readfds, fd_set *writefds, - fd_set *exceptfds, struct timeval *timeout); -END_EXTERN_C -#else -/* don't know how to emulate */ -#endif -#endif - -#ifndef HAVE_PROTOTYPE_BIND -#ifdef HAVE_BIND -/* it is in the libraries but we have no prototype */ -BEGIN_EXTERN_C -DCMTK_DCMNET_EXPORT int bind(int s, const struct sockaddr *name, int namelen); -END_EXTERN_C -#else -/* don't know how to emulate */ -#endif -#endif - -#ifndef HAVE_PROTOTYPE_ACCEPT -#ifdef HAVE_ACCEPT -/* it is in the libraries but we have no prototype */ -BEGIN_EXTERN_C -DCMTK_DCMNET_EXPORT int accept(int s, struct sockaddr *addr, int *addrlen); -END_EXTERN_C -#else -/* don't know how to emulate */ -#endif -#endif - -#ifndef HAVE_PROTOTYPE_GETSOCKNAME -#ifdef HAVE_GETSOCKNAME -/* it is in the libraries but we have no prototype */ -BEGIN_EXTERN_C -DCMTK_DCMNET_EXPORT int getsockname(int s, struct sockaddr *name, int *namelen); -END_EXTERN_C -#else -/* don't know how to emulate */ -#endif -#endif - #ifndef HAVE_PROTOTYPE_WAITPID #ifdef HAVE_WAITPID /* it is in the libraries but we have no prototype */ @@ -300,17 +184,6 @@ END_EXTERN_C #endif #endif -#ifndef HAVE_PROTOTYPE_WAIT3 -#ifdef HAVE_WAIT3 -/* it is in the libraries but we have no prototype */ -BEGIN_EXTERN_C -DCMTK_DCMNET_EXPORT int wait3(int *statusp, int options, struct rusage *rusage); -END_EXTERN_C -#else -/* don't know how to emulate */ -#endif -#endif - #ifndef HAVE_ACCESS #ifndef R_OK diff --git a/dcmnet/include/dcmtk/dcmnet/dfindscu.h b/dcmnet/include/dcmtk/dcmnet/dfindscu.h index ce85c983..9d56613a 100644 --- a/dcmnet/include/dcmtk/dcmnet/dfindscu.h +++ b/dcmnet/include/dcmtk/dcmnet/dfindscu.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2019, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -284,6 +284,7 @@ public: * If NULL, the current directory is used. * @param extractFilename filename used to store the response datasets when extractResponses is * set to FEM_singleXMLFile. + * @param protocolVersion IP protocol version to be used * @return EC_Normal if successful, an error code otherwise. */ OFCondition performQuery( @@ -305,7 +306,8 @@ public: DcmFindSCUCallback *callback = NULL, OFList *fileNameList = NULL, const char *outputDirectory = NULL, - const char *extractFilename = NULL); + const char *extractFilename = NULL, + T_ASC_ProtocolFamily protocolVersion = ASC_AF_Default); /** static helper function that writes the content of the given dataset * into a DICOM file (using the DICOM file format with metaheader). diff --git a/dcmnet/include/dcmtk/dcmnet/dimse.h b/dcmnet/include/dcmtk/dcmnet/dimse.h index 87567780..35ce7f59 100644 --- a/dcmnet/include/dcmtk/dcmnet/dimse.h +++ b/dcmnet/include/dcmtk/dcmnet/dimse.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -238,7 +238,8 @@ extern DCMTK_DCMNET_EXPORT OFGlobal dcmMaxOutgoingPDUSize; /* default 2^ #define STATUS_N_Success 0x0000 #define STATUS_N_Refused_NotAuthorized 0x0124 #define STATUS_N_Cancel 0xfe00 -#define STATUS_N_AttributeListError 0x0107 +#define STATUS_N_AttributeListError 0x0107 // deprecated, will be removed in a future version +#define STATUS_N_AttributeListWarning 0x0107 #define STATUS_N_SOPClassNotSupported 0x0122 #define STATUS_N_ClassInstanceConflict 0x0119 #define STATUS_N_DuplicateSOPInstance 0x0111 diff --git a/dcmnet/include/dcmtk/dcmnet/dstorscu.h b/dcmnet/include/dcmtk/dcmnet/dstorscu.h index 0aa10662..5af5ccf4 100644 --- a/dcmnet/include/dcmtk/dcmnet/dstorscu.h +++ b/dcmnet/include/dcmtk/dcmnet/dstorscu.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2018, OFFIS e.V. + * Copyright (C) 2011-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -53,6 +53,9 @@ * SOP class. This is not (yet) implemented since the re-encoding of compressed * datasets is not supported. Nevertheless, depending on the options used, the default * transfer syntax for the uncompressed case is always proposed (if possible). + * \li Also the handling of the encapsulated uncompressed transfer syntax is still rather + * limited, mainly because transcoding to the other uncompressed transfer syntaxes, + * which use native format, is not yet implemented by "dcmdata". */ class DCMTK_DCMNET_EXPORT DcmStorageSCU : public DcmSCU diff --git a/dcmnet/include/dcmtk/dcmnet/dul.h b/dcmnet/include/dcmtk/dcmnet/dul.h index 01080671..745c4998 100644 --- a/dcmnet/include/dcmtk/dcmnet/dul.h +++ b/dcmnet/include/dcmtk/dcmnet/dul.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -176,6 +176,15 @@ public: virtual void callback(unsigned long mode) = 0; }; +enum T_ASC_ProtocolFamily +{ + ASC_AF_Default, + ASC_AF_INET, + ASC_AF_INET6, + ASC_AF_UNSPEC +}; + + typedef struct { char applicationContextName[DUL_LEN_NAME + 1]; char callingAPTitle[DUL_LEN_TITLE + 1]; @@ -203,6 +212,7 @@ typedef struct { OFBool useSecureLayer; Sint32 tcpConnectTimeout; + T_ASC_ProtocolFamily protocol_family; } DUL_ASSOCIATESERVICEPARAMETERS; /** Enum describing the possible role settings for role negotiation sub items. @@ -406,7 +416,7 @@ typedef enum { */ #define DUL_DULCOMPAT 2768240730UL -#define DUL_DIMSECOMPAT 1114095UL +#define DUL_DIMSECOMPAT 1245184UL #define DUL_MAXPDUCOMPAT 4278190335UL /* Define the function prototypes for this facility. @@ -566,6 +576,12 @@ DCMTK_DCMNET_EXPORT OFCondition DUL_readSocketHandleAsForkedChild(); */ DCMTK_DCMNET_EXPORT void DUL_requestForkOnTransportConnectionReceipt(int argc, char *argv[]); +/** this function sets a flag in the association that the current process + * is the parent process after a fork() operation and that the association + * will be handled by the child process. In the case of TLS connections, + * this prevents the destructor from calling SSL_shutdown(). + */ +DCMTK_DCMNET_EXPORT void DUL_setParentProcessMode(DUL_ASSOCIATIONKEY *callerAssociation); /// @deprecated Use OFString& DUL_DumpParams(OFString&, DUL_ASSOCIATESERVICEPARAMETERS) instead. OFdeprecated DCMTK_DCMNET_EXPORT void DUL_DumpParams(DUL_ASSOCIATESERVICEPARAMETERS * params); diff --git a/dcmnet/include/dcmtk/dcmnet/scu.h b/dcmnet/include/dcmtk/dcmnet/scu.h index 5237dfdc..73c48dcf 100644 --- a/dcmnet/include/dcmtk/dcmnet/scu.h +++ b/dcmnet/include/dcmtk/dcmnet/scu.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2008-2023, OFFIS e.V. + * Copyright (C) 2008-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -661,6 +661,11 @@ public: */ void setPeerAETitle(const OFString& peerAETitle); + /** Set the IP protocol version + * @param protocolVersion [in] The IP protocol version used by the SCP + */ + void setProtocolVersion(T_ASC_ProtocolFamily protocolVersion); + /** Set SCP's port number to connect to for association negotiation * @param peerPort [in] The SCP's port number */ @@ -822,13 +827,21 @@ public: OFBool getProgressNotificationMode() const; /** Returns whether SCU is configured to create a TLS connection with the SCP - * @return OFFalse for this class but may be overridden by derived classes + * @return OFTrue if TLS mode has been enabled, OFFalse otherwise */ - OFBool getTLSEnabled() const; + virtual OFBool getTLSEnabled() const; /** Deletes internal networking structures from memory */ void freeNetwork(); + /** Tells DcmSCU to use a secure TLS connection described by the given TLS layer. + * The DcmSCU instance does not take ownership of the TLS layer object, i.e. + * it is the caller's responsibility to delete it after its use has ended. + * @param tlayer [in] The TLS transport layer including all TLS parameters + * @return EC_Normal if given transport layer is ok, an error code otherwise + */ + OFCondition useSecureConnection(DcmTransportLayer* tlayer); + protected: /** Sends a DIMSE command and possibly also a dataset from a data object via network to * another DICOM application @@ -861,12 +874,6 @@ protected: OFString& sopInstanceUID, E_TransferSyntax& transferSyntax); - /** Tells DcmSCU to use a secure TLS connection described by the given TLS layer - * @param tlayer [in] The TLS transport layer including all TLS parameters - * @return EC_Normal if given transport layer is ok, an error code otherwise - */ - OFCondition useSecureConnection(DcmTransportLayer* tlayer); - /** Receive DIMSE command (excluding dataset!) over the currently open association * @param presID [out] Contains in the end the ID of the presentation context * which was specified in the DIMSE command received @@ -1120,6 +1127,12 @@ private: /// Progress notification mode (default: enabled) OFBool m_progressNotificationMode; + + /// Flag indicating whether secure mode has been enabled (default: disabled) + OFBool m_secureConnectionEnabled; + + /// IP protocol version to be used + T_ASC_ProtocolFamily m_protocolVersion; }; #endif // SCU_H diff --git a/dcmnet/libsrc/CMakeLists.txt b/dcmnet/libsrc/CMakeLists.txt index 3d184a04..09f6c0d7 100644 --- a/dcmnet/libsrc/CMakeLists.txt +++ b/dcmnet/libsrc/CMakeLists.txt @@ -47,6 +47,6 @@ DCMTK_ADD_LIBRARY(dcmnet DCMTK_TARGET_LINK_MODULES(dcmnet ofstd oflog dcmdata) DCMTK_TARGET_LINK_LIBRARIES(dcmnet ${WRAP_LIBS}) -if (TARGET dcmnet) +if(TARGET dcmnet) set_property(TARGET dcmnet PROPERTY OUTPUT_NAME "dcmnet${DCMTK_TLS_LIBRARY_POSTFIX}") endif() diff --git a/dcmnet/libsrc/Makefile.dep b/dcmnet/libsrc/Makefile.dep index b6c41c7c..b1eb323f 100644 --- a/dcmnet/libsrc/Makefile.dep +++ b/dcmnet/libsrc/Makefile.dep @@ -55,7 +55,6 @@ assoc.o: assoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -87,7 +86,12 @@ cond.o: cond.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../include/dcmtk/dcmnet/dndefine.h + ../include/dcmtk/dcmnet/dndefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h dcasccff.o: dcasccff.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/dcasccff.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ @@ -96,8 +100,8 @@ dcasccff.o: dcasccff.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -147,7 +151,10 @@ dcasccff.o: dcasccff.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \ ../include/dcmtk/dcmnet/dccfprmp.h \ ../../ofstd/include/dcmtk/ofstd/ofconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstack.h + ../../ofstd/include/dcmtk/ofstd/ofstack.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h dcasccfg.o: dcasccfg.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/dcasccfg.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ @@ -156,8 +163,8 @@ dcasccfg.o: dcasccfg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -213,9 +220,9 @@ dccfenmp.o: dccfenmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -236,8 +243,8 @@ dccfpcmp.o: dccfpcmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ @@ -280,9 +287,9 @@ dccfrsmp.o: dccfrsmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -336,9 +343,9 @@ dccftsmp.o: dccftsmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -391,7 +398,8 @@ dccfuidh.o: dccfuidh.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h dcmlayer.o: dcmlayer.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/dcmlayer.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -399,8 +407,8 @@ dcmlayer.o: dcmlayer.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ @@ -422,8 +430,8 @@ dcmtrans.o: dcmtrans.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -470,7 +478,6 @@ dcmtrans.o: dcmtrans.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -538,7 +545,6 @@ dcompat.o: dcompat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmnet/diutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ @@ -566,8 +572,8 @@ dcuserid.o: dcuserid.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -611,7 +617,9 @@ dcuserid.o: dcuserid.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/dulstruc.h \ - ../include/dcmtk/dcmnet/lst.h + ../include/dcmtk/dcmnet/lst.h ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h dfindscu.o: dfindscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/dfindscu.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ @@ -620,8 +628,8 @@ dfindscu.o: dfindscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -657,10 +665,10 @@ dfindscu.o: dfindscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/dicom.h \ ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -673,7 +681,6 @@ dfindscu.o: dfindscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ @@ -749,7 +756,6 @@ dimcancl.o: dimcancl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -774,8 +780,8 @@ dimcmd.o: dimcmd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -785,7 +791,6 @@ dimcmd.o: dimcmd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -819,6 +824,7 @@ dimcmd.o: dimcmd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -830,7 +836,6 @@ dimcmd.o: dimcmd.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \ ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \ @@ -891,7 +896,6 @@ dimdump.o: dimdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -961,7 +965,6 @@ dimecho.o: dimecho.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1031,7 +1034,6 @@ dimfind.o: dimfind.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1101,7 +1103,6 @@ dimget.o: dimget.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1172,7 +1173,6 @@ dimmove.o: dimmove.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1242,7 +1242,6 @@ dimse.o: dimse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1334,7 +1333,6 @@ dimstore.o: dimstore.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1360,8 +1358,8 @@ diutil.o: diutil.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1369,7 +1367,6 @@ diutil.o: diutil.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \ ../include/dcmtk/dcmnet/cond.h \ @@ -1436,8 +1433,8 @@ dstorscp.o: dstorscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h ../include/dcmtk/dcmnet/scp.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h ../include/dcmtk/dcmnet/scp.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1477,12 +1474,12 @@ dstorscp.o: dstorscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1549,9 +1546,8 @@ dstorscp.o: dstorscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ + ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ + ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ @@ -1610,13 +1606,13 @@ dstorscu.o: dstorscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -1686,7 +1682,6 @@ dstorscu.o: dstorscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dndefine.h \ ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../include/dcmtk/dcmnet/dcompat.h ../include/dcmtk/dcmnet/lst.h \ @@ -1750,7 +1745,6 @@ dul.o: dul.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1765,9 +1759,10 @@ dul.o: dul.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/lst.h \ ../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \ ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \ - ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dulstruc.h \ - dulpriv.h dulfsm.h ../include/dcmtk/dcmnet/dcmtrans.h \ - ../include/dcmtk/dcmnet/dcmlayer.h + ../include/dcmtk/dcmnet/assoc.h \ + ../../ofstd/include/dcmtk/ofstd/ofsockad.h \ + ../include/dcmtk/dcmnet/dulstruc.h dulpriv.h dulfsm.h \ + ../include/dcmtk/dcmnet/dcmtrans.h ../include/dcmtk/dcmnet/dcmlayer.h dulconst.o: dulconst.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ @@ -1822,7 +1817,6 @@ dulconst.o: dulconst.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1897,7 +1891,6 @@ dulextra.o: dulextra.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -1970,7 +1963,6 @@ dulfsm.o: dulfsm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -2000,7 +1992,6 @@ dulparse.o: dulparse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ @@ -2061,8 +2052,8 @@ dulpres.o: dulpres.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2071,7 +2062,6 @@ dulpres.o: dulpres.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ @@ -2130,8 +2120,8 @@ helpers.o: helpers.cc ../include/dcmtk/dcmnet/helpers.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2183,8 +2173,8 @@ lst.o: lst.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2199,9 +2189,9 @@ scp.o: scp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2237,15 +2227,14 @@ scp.o: scp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ + ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ + ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ @@ -2337,8 +2326,8 @@ scpcfg.o: scpcfg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2392,7 +2381,6 @@ scpcfg.o: scpcfg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -2412,8 +2400,8 @@ scppool.o: scppool.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmnet/scpthrd.h ../include/dcmtk/dcmnet/scp.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -2453,12 +2441,12 @@ scppool.o: scppool.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2525,9 +2513,8 @@ scppool.o: scppool.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ + ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ + ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ @@ -2558,9 +2545,9 @@ scpthrd.o: scpthrd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -2590,12 +2577,12 @@ scpthrd.o: scpthrd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2662,9 +2649,8 @@ scpthrd.o: scpthrd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ + ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ + ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ @@ -2683,9 +2669,9 @@ scu.o: scu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2721,17 +2707,16 @@ scu.o: scu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \ ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ diff --git a/dcmnet/libsrc/assoc.cc b/dcmnet/libsrc/assoc.cc index 5558bca7..e86b42a6 100644 --- a/dcmnet/libsrc/assoc.cc +++ b/dcmnet/libsrc/assoc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2023, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -336,6 +336,7 @@ ASC_createAssociationParameters(T_ASC_Parameters ** params, (*params)->DULparams.useSecureLayer = OFFalse; (*params)->DULparams.tcpConnectTimeout = tcpConnectTimeout; + (*params)->DULparams.protocol_family = ASC_AF_Default; return EC_Normal; } @@ -657,7 +658,7 @@ ASC_addPresentationContext( if ((presentationContextID % 2) == 0) { char buf[256]; - sprintf(buf, "ASC Bad presentation context ID: %d", presentationContextID); + OFStandard::snprintf(buf, sizeof(buf), "ASC Bad presentation context ID: %d", presentationContextID); return makeDcmnetCondition(ASCC_BADPRESENTATIONCONTEXTID, OF_error, buf); } /* see if a presentation context with this id already exists in list */ @@ -667,7 +668,7 @@ ASC_addPresentationContext( if (pc) { char buf[256]; - sprintf(buf, "ASC Duplicate presentation context ID: %d", presentationContextID); + OFStandard::snprintf(buf, sizeof(buf), "ASC Duplicate presentation context ID: %d", presentationContextID); return makeDcmnetCondition(ASCC_DUPLICATEPRESENTATIONCONTEXTID, OF_error, buf); } @@ -778,14 +779,14 @@ ASC_getPresentationContext(T_ASC_Parameters * params, if (params->DULparams.requestedPresentationContext == NULL) { char buf[256]; - sprintf(buf, "ASC Bad presentation context position: %d", listPosition); + OFStandard::snprintf(buf, sizeof(buf), "ASC Bad presentation context position: %d", listPosition); return makeDcmnetCondition(ASCC_BADPRESENTATIONCONTEXTPOSITION, OF_error, buf); } l = &(params->DULparams.requestedPresentationContext); if (*l == NULL) { char buf[256]; - sprintf(buf, "ASC Bad presentation context position: %d", listPosition); + OFStandard::snprintf(buf, sizeof(buf), "ASC Bad presentation context position: %d", listPosition); return makeDcmnetCondition(ASCC_BADPRESENTATIONCONTEXTPOSITION, OF_error, buf); } pc = (DUL_PRESENTATIONCONTEXT*) LST_Head(l); @@ -799,7 +800,7 @@ ASC_getPresentationContext(T_ASC_Parameters * params, if (pc == NULL) { char buf[256]; - sprintf(buf, "ASC Bad presentation context position: %d", listPosition); + OFStandard::snprintf(buf, sizeof(buf), "ASC Bad presentation context position: %d", listPosition); return makeDcmnetCondition(ASCC_BADPRESENTATIONCONTEXTPOSITION, OF_error, buf); } @@ -1703,13 +1704,9 @@ ASC_associationWaiting(T_ASC_Network * network, int timeout) { s, POLLIN, 0 } }; nfound = poll(pfd, 1, t.tv_sec*1000+(t.tv_usec/1000)); -#else -#ifdef HAVE_INTP_SELECT - nfound = select(OFstatic_cast(int, s + 1), (int *)(&fdset), NULL, NULL, &t); #else // the typecast is safe because Windows ignores the first select() parameter anyway nfound = select(OFstatic_cast(int, s + 1), &fdset, NULL, NULL, &t); -#endif /* HAVE_INTP_SELECT */ #endif /* DCMTK_HAVE_POLL */ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) { @@ -1952,12 +1949,14 @@ ASC_requestAssociation(T_ASC_Network * network, */ params->theirMaxPDUReceiveSize = params->DULparams.peerMaxPDU; +#ifdef DCMTK_ENABLE_OUTDATED_DCMTK_WORKAROUND if (!((params->theirMaxPDUReceiveSize & DUL_MAXPDUCOMPAT) ^ DUL_DULCOMPAT)) { /* activate compatibility with DCMTK releases prior to 3.0 */ DUL_activateCompatibilityMode((*assoc)->DULassociation, dcmEnableBackwardCompatibility.get() | DUL_DULCOMPAT | DUL_DIMSECOMPAT); if (params->modeCallback) params->modeCallback->callback(params->theirMaxPDUReceiveSize); } +#endif /* create a sendPDVBuffer */ sendLen = params->theirMaxPDUReceiveSize; @@ -2020,10 +2019,13 @@ ASC_acknowledgeAssociation( if (associatePDU && associatePDUlength) retrieveRawPDU = 1; assoc->params->DULparams.maxPDU = assoc->params->ourMaxPDUReceiveSize; + +#ifdef DCMTK_ENABLE_OUTDATED_DCMTK_WORKAROUND if (!((assoc->params->theirMaxPDUReceiveSize & DUL_MAXPDUCOMPAT) ^ DUL_DULCOMPAT)) { assoc->params->DULparams.maxPDU = dcmEnableBackwardCompatibility.get() | DUL_DULCOMPAT | DUL_DIMSECOMPAT; } +#endif OFStandard::strlcpy(assoc->params->DULparams.calledImplementationClassUID, assoc->params->ourImplementationClassUID, sizeof(assoc->params->DULparams.calledImplementationClassUID)); @@ -2192,6 +2194,16 @@ ASC_setTransportLayerType( return EC_Normal; } +OFCondition +ASC_setProtocolFamily( + T_ASC_Parameters * params, + T_ASC_ProtocolFamily protocolFamily) +{ + if (params == NULL) return ASC_NULLKEY; + params->DULparams.protocol_family = protocolFamily; + return EC_Normal; +} + OFCondition ASC_setTransportLayer(T_ASC_Network *network, DcmTransportLayer *newLayer, int takeoverOwnership) { @@ -2274,3 +2286,8 @@ destroyDULParamPresentationContextList(LST_HEAD ** lst) } LST_Destroy(lst); } + +void ASC_setParentProcessMode(T_ASC_Association *association) +{ + if (association) DUL_setParentProcessMode(association->DULassociation); +} diff --git a/dcmnet/libsrc/cond.cc b/dcmnet/libsrc/cond.cc index 850f3d72..3590d0db 100644 --- a/dcmnet/libsrc/cond.cc +++ b/dcmnet/libsrc/cond.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,6 +22,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmnet/cond.h" #include "dcmtk/ofstd/ofstream.h" +#include "dcmtk/ofstd/ofstd.h" // #define INCLUDE_CSTDIO // #include "dcmtk/ofstd/ofstdinc.h" @@ -97,7 +98,7 @@ makeOFConditionConst(NET_EC_AssociatePDUTooLarge, OFM_dcmnet, 1079, O OFString& DimseCondition::dump(OFString& str, OFCondition cond) { char buf[16]; - sprintf(buf,"%04x:%04x ", cond.module(), cond.code()); + OFStandard::snprintf(buf, sizeof(buf), "%04x:%04x ", cond.module(), cond.code()); str = buf; str += cond.text(); return str; @@ -122,7 +123,7 @@ OFCondition DimseCondition::push( /* declare variable outside the block structure of the OFSTRINGSTREAM_xxx macros */ OFCondition cond; char buf[16]; - sprintf(buf,"%04x:%04x ", subCondition.module(), subCondition.code()); + OFStandard::snprintf(buf, sizeof(buf), "%04x:%04x ", subCondition.module(), subCondition.code()); os << aText << OFendl << buf << subCondition.text() << OFStringStream_ends; OFSTRINGSTREAM_GETSTR(os, c) cond = makeOFCondition(aModule, aCode, aStatus, c); diff --git a/dcmnet/libsrc/dcasccff.cc b/dcmnet/libsrc/dcasccff.cc index 658a2512..cda35645 100644 --- a/dcmnet/libsrc/dcasccff.cc +++ b/dcmnet/libsrc/dcasccff.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2022, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -25,6 +25,7 @@ #include "dcmtk/dcmnet/dcasccfg.h" /* for class DcmAssociationConfiguration */ #include "dcmtk/dcmdata/dcerror.h" /* for EC_IllegalCall */ #include "dcmtk/ofstd/ofconfig.h" /* for class OFConfigFile */ +#include "dcmtk/ofstd/ofstd.h" /* config file keys for the association configuration */ @@ -111,7 +112,7 @@ OFCondition DcmAssociationConfigurationFile::parseTransferSyntaxes( found = OFTrue; while (found) { - sprintf(buf, "%s%u", L0_TRANSFERSYNTAX_X, ++counter); + OFStandard::snprintf(buf, sizeof(buf), "%s%u", L0_TRANSFERSYNTAX_X, ++counter); value = config.get_entry(buf); if (value) { @@ -160,7 +161,7 @@ OFCondition DcmAssociationConfigurationFile::parsePresentationContexts( found = OFTrue; while (found) { - sprintf(buf, "%s%u", L0_PRESENTATIONCONTEXT_X, ++counter); + OFStandard::snprintf(buf, sizeof(buf), "%s%u", L0_PRESENTATIONCONTEXT_X, ++counter); value = config.get_entry(buf); if (value) { @@ -182,7 +183,7 @@ OFCondition DcmAssociationConfigurationFile::parsePresentationContexts( while (++i < len) { c = abstractSyntaxUID.at(i); - if (! isspace(c)) transferSyntaxKey += (char) (toupper(c)); + if (! OFStandard::isspace(c)) transferSyntaxKey += (char) (toupper(c)); } // finally cut abstract syntax name @@ -230,7 +231,7 @@ OFCondition DcmAssociationConfigurationFile::parseRoleSelectionItems( found = OFTrue; while (found) { - sprintf(buf, "%s%u", L0_ROLE_X, ++counter); + OFStandard::snprintf(buf, sizeof(buf), "%s%u", L0_ROLE_X, ++counter); value = config.get_entry(buf); if (value) { @@ -323,7 +324,7 @@ OFCondition DcmAssociationConfigurationFile::parseExtendedNegotiationItems( found = OFTrue; while (found) { - sprintf(buf, "%s%u", L0_EXTENDEDNEGOTIATION_X, ++counter); + OFStandard::snprintf(buf, sizeof(buf), "%s%u", L0_EXTENDEDNEGOTIATION_X, ++counter); value = config.get_entry(buf); if (value) { @@ -442,7 +443,7 @@ OFCondition DcmAssociationConfigurationFile::parseProfiles( scontext.clear(); while (*c) { - if (! isspace(TO_UCHAR(*c))) scontext += (char) (toupper(TO_UCHAR(*c))); + if (! OFStandard::isspace(*c)) scontext += (char) (toupper(TO_UCHAR(*c))); ++c; } context = scontext.c_str(); @@ -454,7 +455,7 @@ OFCondition DcmAssociationConfigurationFile::parseProfiles( srole.clear(); while (*c) { - if (! isspace(TO_UCHAR(*c))) srole += (char) (toupper(TO_UCHAR(*c))); + if (! OFStandard::isspace(*c)) srole += (char) (toupper(TO_UCHAR(*c))); ++c; } role = srole.c_str(); @@ -467,7 +468,7 @@ OFCondition DcmAssociationConfigurationFile::parseProfiles( sextneg.clear(); while (*c) { - if (! isspace(TO_UCHAR(*c))) sextneg += (char) (toupper(TO_UCHAR(*c))); + if (! OFStandard::isspace(*c)) sextneg += (char) (toupper(TO_UCHAR(*c))); ++c; } extneg = sextneg.c_str(); diff --git a/dcmnet/libsrc/dccfuidh.cc b/dcmnet/libsrc/dccfuidh.cc index 51156a03..913ed0ab 100644 --- a/dcmnet/libsrc/dccfuidh.cc +++ b/dcmnet/libsrc/dccfuidh.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -25,6 +25,7 @@ #include "dcmtk/dcmdata/dcuid.h" /* for dcmFindUIDFromName() */ #include "dcmtk/dcmdata/dcxfer.h" /* for gLocalByteOrder */ +#include #define SymbolicUID_LocalEndianExplicit "LocalEndianExplicit" #define SymbolicUID_OppositeEndianExplicit "OppositeEndianExplicit" diff --git a/dcmnet/libsrc/dcmtrans.cc b/dcmnet/libsrc/dcmtrans.cc index a29121a2..15e3ed99 100644 --- a/dcmnet/libsrc/dcmtrans.cc +++ b/dcmnet/libsrc/dcmtrans.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -65,6 +65,7 @@ OFGlobal dcmSocketReceiveTimeout(60); DcmTransportConnection::DcmTransportConnection(DcmNativeSocketType openSocket) : theSocket(openSocket) +, isForkedParent(OFFalse) { if (theSocket >= 0) { @@ -248,12 +249,8 @@ OFBool DcmTransportConnection::fastSelectReadableAssociation(DcmTransportConnect #ifdef DCMTK_HAVE_POLL int nfound = poll(&pfd[0], pfd.size(), t.tv_sec*1000+(t.tv_usec/1000)); #else /* DCMTK_HAVE_POLL */ -#ifdef HAVE_INTP_SELECT - int nfound = select(OFstatic_cast(int, maxsocketfd + 1), (int *)(&fdset), NULL, NULL, &t); -#else /* HAVE_INTP_SELECT */ // This is safe because on Win32 the first parameter of select() is ignored anyway int nfound = select(OFstatic_cast(int, maxsocketfd + 1), &fdset, NULL, NULL, &t); -#endif /* HAVE_INTP_SELECT */ #endif /* DCMTK_HAVE_POLL */ if (nfound == 0) return OFFalse; // a regular timeout @@ -311,6 +308,16 @@ void DcmTransportConnection::dumpConnectionParameters(STD_NAMESPACE ostream& out out << dumpConnectionParameters(str) << OFendl; } +void DcmTransportConnection::setParentProcessMode() +{ + isForkedParent = OFTrue; +} + +OFBool DcmTransportConnection::isParentProcessMode() const +{ + return isForkedParent; +} + /* ================================================ */ DcmTCPConnection::DcmTCPConnection(DcmNativeSocketType openSocket) @@ -418,13 +425,9 @@ OFBool DcmTCPConnection::networkDataAvailable(int timeout) { getSocket(), POLLIN, 0 } }; nfound = poll(pfd, 1, t.tv_sec*1000+(t.tv_usec/1000)); -#else -#ifdef HAVE_INTP_SELECT - nfound = select(OFstatic_cast(int, getSocket() + 1), (int *)(&fdset), NULL, NULL, &t); #else // This is safe because on Win32 the first parameter of select() is ignored anyway nfound = select(OFstatic_cast(int, getSocket() + 1), &fdset, NULL, NULL, &t); -#endif /* HAVE_INTP_SELECT */ #endif /* DCMTK_HAVE_POLL */ if (nfound < 0) diff --git a/dcmnet/libsrc/dcompat.cc b/dcmnet/libsrc/dcompat.cc index 6dc4dc6b..0c939956 100644 --- a/dcmnet/libsrc/dcompat.cc +++ b/dcmnet/libsrc/dcompat.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -88,18 +88,6 @@ #include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmnet/diutil.h" -#ifdef HAVE_UNIX_H -#if defined(macintosh) && defined (HAVE_WINSOCK_H) -/* unix.h defines timeval incompatible with winsock.h */ -#define timeval _UNWANTED_timeval -#endif -#include /* for unlink() under Metrowerks C++ (Macintosh) */ -#undef timeval -#endif -#ifdef HAVE_FCNTL_H -#include -#endif - BEGIN_EXTERN_C #ifdef HAVE_SYS_TYPES_H #include @@ -107,9 +95,6 @@ BEGIN_EXTERN_C #ifdef HAVE_SYS_STAT_H #include #endif -#ifdef HAVE_STAT_H -#include -#endif #ifdef HAVE_SYS_UTSNAME_H #include #endif @@ -129,18 +114,7 @@ char dcompat_functionDefinedOnlyToStopLinkerMoaning; #ifndef HAVE_FLOCK -#ifdef macintosh - -// MacOS seems not to support file locking -int dcmtk_flock(int fd, int operation) -{ - DCMNET_WARN("Unsupported flock(fd[" << fd << "],operation[0x" - << hex << operation << "])"); - return 0; -} - -#else /* macintosh */ #ifdef _WIN32 #ifndef USE__LOCKING @@ -287,29 +261,8 @@ int dcmtk_flock(int fd, int operation) } #endif /* _WIN32 */ -#endif /* macintosh */ -#endif /* HAVE_FLOCK */ -#ifndef HAVE_GETHOSTNAME -/* -** Use the SYSV uname function (if we have it) -*/ -#ifdef HAVE_UNAME -int gethostname(char* name, int namelen) -{ - struct utsname uts; - int rc; - - memset(&uts, 0, sizeof(uts)); - rc = utsname(&uts); - if (rc >= 0) { - strncpy(name, uts.nodename, namelen); - rc = 0; - } - return rc; -} -#endif /* HAVE_UNAME */ -#endif /* ! HAVE_GETHOSTNAME */ +#endif /* HAVE_FLOCK */ #ifndef HAVE_ACCESS @@ -338,9 +291,5 @@ int access(const char* path, int /* amode */) DCMTK_DCMNET_EXPORT void dcmtk_plockerr(const char *s) { -#if !defined(HAVE_FLOCK) && defined(macintosh) - DCMNET_ERROR(s << ": flock not implemented"); -#else DCMNET_ERROR(s << ": " << OFStandard::getLastSystemErrorCode().message()); -#endif } diff --git a/dcmnet/libsrc/dcuserid.cc b/dcmnet/libsrc/dcuserid.cc index f1530fe7..67384b73 100644 --- a/dcmnet/libsrc/dcuserid.cc +++ b/dcmnet/libsrc/dcuserid.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1997-2021, OFFIS e.V. + * Copyright (C) 1997-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,6 +24,7 @@ #include "dcmtk/dcmnet/dcuserid.h" #include "dcmtk/dcmnet/dul.h" #include "dcmtk/dcmnet/dulstruc.h" +#include "dcmtk/ofstd/ofstd.h" /* ************************************************************************* */ /* Implementation of class UserIdentityNegotiationSubItem */ @@ -241,7 +242,7 @@ OFCondition UserIdentityNegotiationSubItemRQ::parseFromBuffer(unsigned char *rea if (availData < 10) { char buffer[256]; - sprintf(buffer, "DUL user identity rq length %ld. Need at least 10 bytes", availData); + OFStandard::snprintf(buffer, sizeof(buffer), "DUL user identity rq length %ld. Need at least 10 bytes", availData); return makeDcmnetCondition(DULC_ILLEGALPDULENGTH, OF_error, buffer); } @@ -257,7 +258,7 @@ OFCondition UserIdentityNegotiationSubItemRQ::parseFromBuffer(unsigned char *rea if (availData - 4 < itemLength) { char buffer[256]; - sprintf(buffer, "DUL illegal user identify rq length %ld. Info claims to be %hd bytes.", + OFStandard::snprintf(buffer, sizeof(buffer), "DUL illegal user identify rq length %ld. Info claims to be %hd bytes.", availData, itemLength); return makeDcmnetCondition(DULC_ILLEGALPDULENGTH, OF_error, buffer); } @@ -286,7 +287,7 @@ OFCondition UserIdentityNegotiationSubItemRQ::parseFromBuffer(unsigned char *rea if (itemLength - 4 - 2 < m_primFieldLength) { char buffer[256]; - sprintf(buffer, "DUL illegal user identify rq length %ld. Info claims to be %hd bytes. " + OFStandard::snprintf(buffer, sizeof(buffer), "DUL illegal user identify rq length %ld. Info claims to be %hd bytes. " "Primary field has %hd bytes.", availData, itemLength, m_primFieldLength); return makeDcmnetCondition(DULC_ILLEGALPDULENGTH, OF_error, buffer); } @@ -307,7 +308,7 @@ OFCondition UserIdentityNegotiationSubItemRQ::parseFromBuffer(unsigned char *rea if (itemLength - 6 - m_primFieldLength < m_secFieldLength) { char buffer[256]; - sprintf(buffer, "DUL illegal user identify rq length %ld. Info claims to be %hd bytes. " + OFStandard::snprintf(buffer, sizeof(buffer), "DUL illegal user identify rq length %ld. Info claims to be %hd bytes. " "Primary field has %hd bytes. Secondary field has %hd bytes.", availData, itemLength, m_primFieldLength, m_secFieldLength); return makeDcmnetCondition(DULC_ILLEGALPDULENGTH, OF_error, buffer); @@ -530,7 +531,7 @@ OFCondition UserIdentityNegotiationSubItemAC::stream(unsigned char *targetBuffer if (OFstatic_cast(unsigned long, m_rspLength) + 2 > (unsigned long)65535 /* for response length field */) { char errbuf[500]; - sprintf(errbuf, "Length of User Identity response (%lu bytes) exceeds upper limit of 65535 bytes", (unsigned long)m_rspLength + 2); + OFStandard::snprintf(errbuf, sizeof(errbuf), "Length of User Identity response (%lu bytes) exceeds upper limit of 65535 bytes", (unsigned long)m_rspLength + 2); return makeDcmnetCondition(ASCC_CODINGERROR, OF_error, errbuf); } // compute total length of item when streamed @@ -561,7 +562,7 @@ OFCondition UserIdentityNegotiationSubItemAC::parseFromBuffer(unsigned char *rea if (availData < 6) { char buffer[256]; - sprintf(buffer, "DUL illegal user identify ac length %ld. Need at least 6 bytes for" + OFStandard::snprintf(buffer, sizeof(buffer), "DUL illegal user identify ac length %ld. Need at least 6 bytes for" " user identify ac", availData); return makeDcmnetCondition(DULC_ILLEGALPDULENGTH, OF_error, buffer); } @@ -580,7 +581,7 @@ OFCondition UserIdentityNegotiationSubItemAC::parseFromBuffer(unsigned char *rea if (availData - 4 < itemLength || itemLength < 2 || itemLength - 2 < m_rspLength) { char buffer[256]; - sprintf(buffer, "DUL illegal user identify ac length %ld. Info claims to be %hd bytes. " + OFStandard::snprintf(buffer, sizeof(buffer), "DUL illegal user identify ac length %ld. Info claims to be %hd bytes. " "Response claims to be %hd bytes.", availData, itemLength, m_rspLength); return makeDcmnetCondition(DULC_ILLEGALPDULENGTH, OF_error, buffer); } diff --git a/dcmnet/libsrc/dfindscu.cc b/dcmnet/libsrc/dfindscu.cc index f5ca5414..c0a505c9 100644 --- a/dcmnet/libsrc/dfindscu.cc +++ b/dcmnet/libsrc/dfindscu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -31,6 +31,7 @@ #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/ofstd/ofconapp.h" #include "dcmtk/ofstd/ofstream.h" +#include "dcmtk/ofstd/ofstd.h" /* ---------------- static functions ---------------- */ @@ -125,7 +126,7 @@ void DcmFindSCUDefaultCallback::callback( { OFString outputFilename; char rspIdsFileName[32]; - sprintf(rspIdsFileName, "rsp%04d.dcm", responseCount); + OFStandard::snprintf(rspIdsFileName, sizeof(rspIdsFileName), "rsp%04d.dcm", responseCount); OFStandard::combineDirAndFilename(outputFilename, outputDirectory_, rspIdsFileName, OFTrue /*allowEmptyDirName*/); DCMNET_INFO("Writing response dataset to file: " << outputFilename); DcmFindSCU::writeToFile(outputFilename.c_str(), responseIdentifiers); @@ -135,7 +136,7 @@ void DcmFindSCUDefaultCallback::callback( { OFString outputFilename; char rspIdsFileName[32]; - sprintf(rspIdsFileName, "rsp%04d.xml", responseCount); + OFStandard::snprintf(rspIdsFileName, sizeof(rspIdsFileName), "rsp%04d.xml", responseCount); OFStandard::combineDirAndFilename(outputFilename, outputDirectory_, rspIdsFileName, OFTrue /*allowEmptyDirName*/); DCMNET_INFO("Writing response dataset to file: " << outputFilename); DcmFindSCU::writeToXMLFile(outputFilename.c_str(), responseIdentifiers); @@ -248,7 +249,8 @@ OFCondition DcmFindSCU::performQuery( DcmFindSCUCallback *callback, OFList *fileNameList, const char *outputDirectory, - const char *extractFilename) + const char *extractFilename, + T_ASC_ProtocolFamily protocolVersion) { T_ASC_Association *assoc = NULL; T_ASC_Parameters *params = NULL; @@ -281,6 +283,9 @@ OFCondition DcmFindSCU::performQuery( /* structure. The default values to be set here are "FINDSCU" and "ANY-SCP". */ ASC_setAPTitles(params, ourTitle, peerTitle, NULL); + /* set the IP protocol version */ + ASC_setProtocolFamily(params, protocolVersion); + /* Set the transport layer type (type of network connection) in the params */ /* structure. The default is an insecure connection; where OpenSSL is */ /* available the user is able to request an encrypted,secure connection. */ @@ -294,7 +299,7 @@ OFCondition DcmFindSCU::performQuery( /* Figure out the presentation addresses and copy the */ /* corresponding values into the association parameters.*/ - sprintf(peerHost, "%s:%d", peer, OFstatic_cast(int, port)); + OFStandard::snprintf(peerHost, sizeof(peerHost), "%s:%d", peer, OFstatic_cast(int, port)); ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost); /* Set the presentation contexts which will be negotiated */ diff --git a/dcmnet/libsrc/dimcancl.cc b/dcmnet/libsrc/dimcancl.cc index 68ff8b8f..088394a1 100644 --- a/dcmnet/libsrc/dimcancl.cc +++ b/dcmnet/libsrc/dimcancl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -88,6 +88,7 @@ #include "dcmtk/dcmnet/diutil.h" #include "dcmtk/dcmnet/dimse.h" /* always include the module header */ #include "dcmtk/dcmnet/cond.h" +#include "dcmtk/ofstd/ofstd.h" OFCondition DIMSE_sendCancelRequest(T_ASC_Association * assoc, @@ -121,13 +122,13 @@ DIMSE_checkForCancelRQ(T_ASC_Association * assoc, if (msg.CommandField != DIMSE_C_CANCEL_RQ) { char buf1[256]; - sprintf(buf1, "DIMSE: Checking for C-CANCEL-RQ, Protocol Error: Cmd=0x%x", msg.CommandField); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Checking for C-CANCEL-RQ, Protocol Error: Cmd=0x%x", msg.CommandField); return makeDcmnetCondition(DIMSEC_UNEXPECTEDREQUEST, OF_error, buf1); } if (msg.msg.CCancelRQ.MessageIDBeingRespondedTo != msgId) { char buf2[256]; - sprintf(buf2, "DIMSE: Checking for C-CANCEL-RQ, Protocol Error: msgId=%d", msg.msg.CCancelRQ.MessageIDBeingRespondedTo); + OFStandard::snprintf(buf2, sizeof(buf2), "DIMSE: Checking for C-CANCEL-RQ, Protocol Error: msgId=%d", msg.msg.CCancelRQ.MessageIDBeingRespondedTo); return makeDcmnetCondition(DIMSEC_UNEXPECTEDREQUEST, OF_error, buf2); } } diff --git a/dcmnet/libsrc/dimcmd.cc b/dcmnet/libsrc/dimcmd.cc index 6dca3954..a0165510 100644 --- a/dcmnet/libsrc/dimcmd.cc +++ b/dcmnet/libsrc/dimcmd.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -122,7 +122,7 @@ buildErrorWithMsg(const char* msg, DcmTagKey t) { DcmTag tag(t); char buf[1024]; - sprintf(buf, "DIMSE: Command Build Failed: %s: Element: (%04x,%04x) %s", + OFStandard::snprintf(buf, sizeof(buf), "DIMSE: Command Build Failed: %s: Element: (%04x,%04x) %s", msg, t.getGroup(), t.getElement(), tag.getTagName()); return makeDcmnetCondition(DIMSEC_BUILDFAILED, OF_error, buf); } @@ -132,7 +132,7 @@ parseError(DcmTagKey t) { DcmTag tag(t); char buf[1024]; - sprintf(buf, "DIMSE: Command Parse Failed: Element: (%04x,%04x) %s", + OFStandard::snprintf(buf, sizeof(buf), "DIMSE: Command Parse Failed: Element: (%04x,%04x) %s", t.getGroup(), t.getElement(), tag.getTagName()); return makeDcmnetCondition(DIMSEC_PARSEFAILED, OF_error, buf); } @@ -142,7 +142,7 @@ parseErrorWithMsg(const char* msg, DcmTagKey t) { DcmTag tag(t); char buf[1024]; - sprintf(buf, "DIMSE: Command Parse Failed: %s: Element: (%04x,%04x) %s", msg, + OFStandard::snprintf(buf, sizeof(buf), "DIMSE: Command Parse Failed: %s: Element: (%04x,%04x) %s", msg, t.getGroup(), t.getElement(), tag.getTagName()); return makeDcmnetCondition(DIMSEC_PARSEFAILED, OF_error, buf); } @@ -191,36 +191,41 @@ addString(DcmDataset *obj, DcmTagKey t, char *s, OFBool keepPadding) static OFCondition getString(DcmDataset *obj, DcmTagKey t, char *s, int maxlen, OFBool *spacePadded) { - DcmElement *elem; + DcmElement *elem = NULL; DcmStack stack; OFCondition ec = EC_Normal; char* aString; ec = obj->search(t, stack); - elem = (DcmElement*)stack.top(); - if (ec == EC_Normal && elem != NULL) { + if (ec.good() && stack.top()->isElement()) + elem = (DcmElement*)stack.top(); + + if (elem != NULL) { if (elem->getLength() == 0) { s[0] = '\0'; } else if (elem->getLength() > (Uint32)maxlen) { return parseErrorWithMsg("dimcmd:getString: string too small", t); } else { ec = elem->getString(aString); - strncpy(s, aString, maxlen); - if (spacePadded) + if (ec.good()) { - /* before we remove leading and tailing spaces we want to know - * whether the string is actually space padded. Required to communicate - * with dumb peers which send space padded UIDs and fail if they - * receive correct UIDs back. - * - * This test can only detect space padded strings if - * dcmEnableAutomaticInputDataCorrection is false; otherwise the padding - * has already been removed by dcmdata at this stage. - */ - size_t s_len = strlen(s); - if ((s_len > 0)&&(s[s_len-1] == ' ')) *spacePadded = OFTrue; else *spacePadded = OFFalse; + strncpy(s, aString, maxlen); + if (spacePadded) + { + /* before we remove leading and tailing spaces we want to know + * whether the string is actually space padded. Required to communicate + * with dumb peers which send space padded UIDs and fail if they + * receive correct UIDs back. + * + * This test can only detect space padded strings if + * dcmEnableAutomaticInputDataCorrection is false; otherwise the padding + * has already been removed by dcmdata at this stage. + */ + size_t s_len = strlen(s); + if ((s_len > 0)&&(s[s_len-1] == ' ')) *spacePadded = OFTrue; else *spacePadded = OFFalse; + } + DU_stripLeadingAndTrailingSpaces(s); } - DU_stripLeadingAndTrailingSpaces(s); } } return (ec.good())? ec : DIMSE_PARSEFAILED; @@ -263,17 +268,19 @@ addUS(DcmDataset *obj, DcmTagKey t, Uint16 us) static OFCondition getUS(DcmDataset *obj, DcmTagKey t, Uint16 *us) { - DcmElement *elem; + DcmElement *elem = NULL; DcmStack stack; OFCondition ec = EC_Normal; ec = obj->search(t, stack); - elem = (DcmElement*)stack.top(); - if (ec == EC_Normal && elem != NULL) { + if (ec.good() && stack.top()->isElement()) + elem = (DcmElement*)stack.top(); + + if (elem != NULL) { ec = elem->getUint16(*us, 0); } - return (ec == EC_Normal)?(EC_Normal):(DIMSE_PARSEFAILED); + return (ec.good())?(EC_Normal):(DIMSE_PARSEFAILED); } static OFCondition @@ -314,17 +321,19 @@ addUL(DcmDataset *obj, DcmTagKey t, Uint32 ul) static OFCondition getUL(DcmDataset *obj, DcmTagKey t, Uint32 *ul) { - DcmElement *elem; + DcmElement *elem = NULL; DcmStack stack; OFCondition ec = EC_Normal; ec = obj->search(t, stack); - elem = (DcmElement*)stack.top(); - if (ec == EC_Normal && elem != NULL) { + if (ec.good() && stack.top()->isElement()) + elem = (DcmElement*)stack.top(); + + if (elem != NULL) { ec = elem->getUint32(*ul, 0); } - return (ec == EC_Normal)?(EC_Normal):(DIMSE_PARSEFAILED); + return (ec.good())?(EC_Normal):(DIMSE_PARSEFAILED); } #if 0 @@ -375,15 +384,17 @@ addAttributeList(DcmDataset *obj, DcmTagKey t, Uint16 *lst, int listCount) static OFCondition getAttributeList(DcmDataset *obj, DcmTagKey t, Uint16 **lst, int *listCount) { - DcmElement *elem; + DcmElement *elem = NULL; DcmStack stack; OFCondition ec = EC_Normal; Uint16 *aList = NULL; Uint32 nBytes = 0; ec = obj->search(t, stack); - elem = (DcmElement*)stack.top(); - if (ec == EC_Normal && elem != NULL) { + if (ec.good() && stack.top()->isElement()) + elem = (DcmElement*)stack.top(); + + if (elem) { nBytes = elem->getLength(); *listCount = (int)(nBytes / sizeof(Uint16)); if (*listCount > 0) { @@ -395,7 +406,7 @@ getAttributeList(DcmDataset *obj, DcmTagKey t, Uint16 **lst, int *listCount) } } - return (ec == EC_Normal)?(EC_Normal):(DIMSE_PARSEFAILED); + return (ec.good())?(EC_Normal):(DIMSE_PARSEFAILED); } /* @@ -1831,7 +1842,7 @@ DIMSE_buildCmdObject(T_DIMSE_Message *msg, DcmDataset **obj) default: { char buf[256]; - sprintf(buf, "DIMSE_buildCmdObject: Invalid Command Message: 0x%x", msg->CommandField); + OFStandard::snprintf(buf, sizeof(buf), "DIMSE_buildCmdObject: Invalid Command Message: 0x%x", msg->CommandField); cond = makeDcmnetCondition(DIMSEC_BADCOMMANDTYPE, OF_error, buf); } break; @@ -1952,7 +1963,7 @@ DIMSE_parseCmdObject(T_DIMSE_Message *msg, DcmDataset *obj) default: { char buf[256]; - sprintf(buf, "DIMSE_parseCmdObject: Invalid Command Message: 0x%x", msg->CommandField); + OFStandard::snprintf(buf, sizeof(buf), "DIMSE_parseCmdObject: Invalid Command Message: 0x%x", msg->CommandField); cond = makeDcmnetCondition(DIMSEC_BADCOMMANDTYPE, OF_error, buf); } break; diff --git a/dcmnet/libsrc/dimdump.cc b/dcmnet/libsrc/dimdump.cc index f13ec187..2853573e 100644 --- a/dcmnet/libsrc/dimdump.cc +++ b/dcmnet/libsrc/dimdump.cc @@ -97,8 +97,8 @@ static void DIMSE_printNStatusString(STD_NAMESPACE ostream& dumpStream, int stat case STATUS_N_Cancel: dumpStream << "Cancel"; break; - case STATUS_N_AttributeListError: - dumpStream << "Attribute list error"; + case STATUS_N_AttributeListWarning: + dumpStream << "Attribute list warning"; break; case STATUS_N_SOPClassNotSupported: dumpStream << "SOP Class not supported"; diff --git a/dcmnet/libsrc/dimecho.cc b/dcmnet/libsrc/dimecho.cc index cb5fe452..3abeeca1 100644 --- a/dcmnet/libsrc/dimecho.cc +++ b/dcmnet/libsrc/dimecho.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -85,6 +85,7 @@ #include "dcmtk/dcmnet/diutil.h" #include "dcmtk/dcmnet/dimse.h" /* always include the module header */ #include "dcmtk/dcmnet/cond.h" +#include "dcmtk/ofstd/ofstd.h" OFCondition @@ -108,7 +109,7 @@ DIMSE_echoUser( if (presID == 0) { char buf[1024]; - sprintf(buf, "DIMSE: No Presentation Context for: %s", sopClass); + OFStandard::snprintf(buf, sizeof(buf), "DIMSE: No Presentation Context for: %s", sopClass); return makeDcmnetCondition(DIMSEC_NOVALIDPRESENTATIONCONTEXTID, OF_error, buf); } @@ -131,14 +132,14 @@ DIMSE_echoUser( if (rsp.CommandField != DIMSE_C_ECHO_RSP) { char buf1[256]; - sprintf(buf1, "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)rsp.CommandField); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)rsp.CommandField); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf1); } if (rsp.msg.CEchoRSP.MessageIDBeingRespondedTo != msgId) { char buf1[256]; - sprintf(buf1, "DIMSE: Unexpected Response MsgId: %d (expected: %d)", rsp.msg.CEchoRSP.MessageIDBeingRespondedTo, msgId); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Unexpected Response MsgId: %d (expected: %d)", rsp.msg.CEchoRSP.MessageIDBeingRespondedTo, msgId); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf1); } diff --git a/dcmnet/libsrc/dimfind.cc b/dcmnet/libsrc/dimfind.cc index b9d49409..53ee40f2 100644 --- a/dcmnet/libsrc/dimfind.cc +++ b/dcmnet/libsrc/dimfind.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -88,6 +88,7 @@ #include "dcmtk/dcmnet/diutil.h" #include "dcmtk/dcmnet/dimse.h" /* always include the module header */ #include "dcmtk/dcmnet/cond.h" +#include "dcmtk/ofstd/ofstd.h" /* ** @@ -182,7 +183,7 @@ DIMSE_findUser( if (rsp.CommandField != DIMSE_C_FIND_RSP) { char buf1[256]; - sprintf(buf1, "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)rsp.CommandField); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)rsp.CommandField); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf1); } @@ -193,7 +194,7 @@ DIMSE_findUser( if (response->MessageIDBeingRespondedTo != msgId) { char buf2[256]; - sprintf(buf2, "DIMSE: Unexpected Response MsgId: %d (expected: %d)", response->MessageIDBeingRespondedTo, msgId); + OFStandard::snprintf(buf2, sizeof(buf2), "DIMSE: Unexpected Response MsgId: %d (expected: %d)", response->MessageIDBeingRespondedTo, msgId); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf2); } diff --git a/dcmnet/libsrc/dimget.cc b/dcmnet/libsrc/dimget.cc index fc370776..485293ed 100644 --- a/dcmnet/libsrc/dimget.cc +++ b/dcmnet/libsrc/dimget.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2022, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -31,6 +31,7 @@ #include "dcmtk/dcmnet/diutil.h" #include "dcmtk/dcmnet/dimse.h" /* always include the module header */ #include "dcmtk/dcmnet/cond.h" +#include "dcmtk/ofstd/ofstd.h" static int selectReadable(T_ASC_Association *assoc, @@ -161,7 +162,7 @@ DIMSE_getUser( if (rsp.CommandField != DIMSE_C_GET_RSP) { char buf1[256]; - sprintf(buf1, "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)rsp.CommandField); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)rsp.CommandField); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf1); } @@ -170,7 +171,7 @@ DIMSE_getUser( if (response->MessageIDBeingRespondedTo != msgId) { char buf2[256]; - sprintf(buf2, "DIMSE: Unexpected Response MsgId: %d (expected: %d)", response->MessageIDBeingRespondedTo, msgId); + OFStandard::snprintf(buf2, sizeof(buf2), "DIMSE: Unexpected Response MsgId: %d (expected: %d)", response->MessageIDBeingRespondedTo, msgId); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf2); } diff --git a/dcmnet/libsrc/dimmove.cc b/dcmnet/libsrc/dimmove.cc index 78136644..5a1b7684 100644 --- a/dcmnet/libsrc/dimmove.cc +++ b/dcmnet/libsrc/dimmove.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -89,6 +89,7 @@ #include "dcmtk/dcmnet/diutil.h" #include "dcmtk/dcmnet/dimse.h" /* always include the module header */ #include "dcmtk/dcmnet/cond.h" +#include "dcmtk/ofstd/ofstd.h" /* ** @@ -217,7 +218,7 @@ DIMSE_moveUser( } if (rsp.CommandField != DIMSE_C_MOVE_RSP) { char buf1[256]; - sprintf(buf1, "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)rsp.CommandField); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)rsp.CommandField); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf1); } @@ -225,7 +226,7 @@ DIMSE_moveUser( if (response->MessageIDBeingRespondedTo != msgId) { char buf2[256]; - sprintf(buf2, "DIMSE: Unexpected Response MsgId: %d (expected: %d)", response->MessageIDBeingRespondedTo, msgId); + OFStandard::snprintf(buf2, sizeof(buf2), "DIMSE: Unexpected Response MsgId: %d (expected: %d)", response->MessageIDBeingRespondedTo, msgId); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf2); } diff --git a/dcmnet/libsrc/dimse.cc b/dcmnet/libsrc/dimse.cc index cabbeb46..70ed62aa 100644 --- a/dcmnet/libsrc/dimse.cc +++ b/dcmnet/libsrc/dimse.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -80,14 +80,6 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#ifdef HAVE_UNIX_H -#if defined(macintosh) && defined (HAVE_WINSOCK_H) -/* unix.h defines timeval incompatible with winsock.h */ -#define timeval _UNWANTED_timeval -#endif -#include /* for unlink() under Metrowerks C++ (Macintosh) */ -#undef timeval -#endif #ifdef HAVE_FCNTL_H #include #endif @@ -110,7 +102,7 @@ #include "dcmtk/dcmdata/dcdicent.h" /* for class DcmDictEntry, needed for MSVC5 */ #include "dcmtk/dcmdata/dcwcache.h" /* for class DcmWriteCache */ #include "dcmtk/dcmdata/dcvrui.h" /* for class DcmUniqueIdentifier */ - +#include "dcmtk/ofstd/ofstd.h" /* * Global variables, mutex protected @@ -181,13 +173,13 @@ static void saveDimseFragment( char filename[2048]; if (isCommand) { - sprintf(filename, "dimse-cmd-%s-%04lu.dcm", transmission, g_dimse_commandCounter); + OFStandard::snprintf(filename, sizeof(filename), "dimse-cmd-%s-%04lu.dcm", transmission, g_dimse_commandCounter); } else { if (g_dimse_dataCounter < 2) { - sprintf(filename, "dimse-dat-%s-%04lu.dcm", transmission, g_dimse_commandCounter); + OFStandard::snprintf(filename, sizeof(filename), "dimse-dat-%s-%04lu.dcm", transmission, g_dimse_commandCounter); } else { - sprintf(filename, "dimse-dat-%s-%04lu-%02lu.dcm", transmission, g_dimse_commandCounter, g_dimse_dataCounter); + OFStandard::snprintf(filename, sizeof(filename), "dimse-dat-%s-%04lu-%02lu.dcm", transmission, g_dimse_commandCounter, g_dimse_dataCounter); } } @@ -323,6 +315,7 @@ getTransferSyntax( case EXS_LittleEndianImplicit: case EXS_LittleEndianExplicit: case EXS_BigEndianExplicit: + case EXS_EncapsulatedUncompressedLittleEndianExplicit: case EXS_JPEGProcess1: case EXS_JPEGProcess2_4: case EXS_JPEGProcess3_5: @@ -342,6 +335,9 @@ getTransferSyntax( case EXS_JPEGProcess29: case EXS_JPEGProcess14SV1: case EXS_RLELossless: +#ifdef WITH_ZLIB + case EXS_DeflatedLittleEndianExplicit: +#endif case EXS_JPEGLSLossless: case EXS_JPEGLSLossy: case EXS_JPEG2000LosslessOnly: @@ -357,16 +353,26 @@ getTransferSyntax( case EXS_MPEG4StereoHighProfileLevel4_2: case EXS_HEVCMainProfileLevel5_1: case EXS_HEVCMain10ProfileLevel5_1: -#ifdef WITH_ZLIB - case EXS_DeflatedLittleEndianExplicit: -#endif + case EXS_FragmentableMPEG2MainProfileMainLevel: + case EXS_FragmentableMPEG2MainProfileHighLevel: + case EXS_FragmentableMPEG4HighProfileLevel4_1: + case EXS_FragmentableMPEG4BDcompatibleHighProfileLevel4_1: + case EXS_FragmentableMPEG4HighProfileLevel4_2_For2DVideo: + case EXS_FragmentableMPEG4HighProfileLevel4_2_For3DVideo: + case EXS_FragmentableMPEG4StereoHighProfileLevel4_2: + case EXS_HighThroughputJPEG2000LosslessOnly: + case EXS_HighThroughputJPEG2000withRPCLOptionsLosslessOnly: + case EXS_HighThroughputJPEG2000: + case EXS_JPEGXLLossless: + case EXS_JPEGXLJPEGRecompression: + case EXS_JPEGXL: /* OK, these can be supported */ break; default: /* all other transfer syntaxes are not supported; hence, set the error indicator variable */ { char buf[256]; - sprintf(buf, "DIMSE Unsupported transfer syntax: %s", ts); + OFStandard::snprintf(buf, sizeof(buf), "DIMSE Unsupported transfer syntax: %s", ts); OFCondition subCond = makeDcmnetCondition(DIMSEC_UNSUPPORTEDTRANSFERSYNTAX, OF_error, buf); cond = makeDcmnetSubCondition(DIMSEC_RECEIVEFAILED, OF_error, "DIMSE Failed to receive message", subCond); } @@ -1141,7 +1147,7 @@ DIMSE_receiveCommand( { delete cmdSet; char buf1[256]; - sprintf(buf1, "DIMSE: Different PresIDs inside Command Set: %d != %d", pid, pdv.presentationContextID); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Different PresIDs inside Command Set: %d != %d", pid, pdv.presentationContextID); OFCondition subCond = makeDcmnetCondition(DIMSEC_INVALIDPRESENTATIONCONTEXTID, OF_error, buf1); return makeDcmnetSubCondition(DIMSEC_RECEIVEFAILED, OF_error, "DIMSE Failed to receive message", subCond); } @@ -1153,7 +1159,7 @@ DIMSE_receiveCommand( { /* This should NEVER happen. See Part 7, Annex F. */ char buf2[256]; - sprintf(buf2, "DIMSE: Odd Fragment Length: %lu", pdv.fragmentLength); + OFStandard::snprintf(buf2, sizeof(buf2), "DIMSE: Odd Fragment Length: %lu", pdv.fragmentLength); cond = makeDcmnetCondition(DIMSEC_RECEIVEFAILED, OF_error, buf2); break; } @@ -1443,7 +1449,7 @@ DIMSE_receiveDataSetInFile( else if (pdv.presentationContextID != pid) { char buf1[256]; - sprintf(buf1, "DIMSE: Different PresIDs inside data set: %d != %d", pid, pdv.presentationContextID); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Different PresIDs inside data set: %d != %d", pid, pdv.presentationContextID); OFCondition subCond = makeDcmnetCondition(DIMSEC_INVALIDPRESENTATIONCONTEXTID, OF_error, buf1); cond = makeDcmnetSubCondition(DIMSEC_RECEIVEFAILED, OF_error, "DIMSE Failed to receive message", subCond); last = OFTrue; // terminate loop @@ -1456,7 +1462,7 @@ DIMSE_receiveDataSetInFile( { /* This should NEVER happen. See Part 7, Annex F. */ char buf2[256]; - sprintf(buf2, "DIMSE: Odd Fragment Length: %lu", pdv.fragmentLength); + OFStandard::snprintf(buf2, sizeof(buf2), "DIMSE: Odd Fragment Length: %lu", pdv.fragmentLength); cond = makeDcmnetCondition(DIMSEC_RECEIVEFAILED, OF_error, buf2); last = OFTrue; // terminate loop } @@ -1598,7 +1604,7 @@ DIMSE_receiveDataSetInMemory( else if (pdv.presentationContextID != pid) { char buf1[256]; - sprintf(buf1, "DIMSE: Different PresIDs inside data set: %d != %d", pid, pdv.presentationContextID); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Different PresIDs inside data set: %d != %d", pid, pdv.presentationContextID); OFCondition subCond = makeDcmnetCondition(DIMSEC_INVALIDPRESENTATIONCONTEXTID, OF_error, buf1); cond = makeDcmnetSubCondition(DIMSEC_RECEIVEFAILED, OF_error, "DIMSE Failed to receive message", subCond); last = OFTrue; @@ -1613,7 +1619,7 @@ DIMSE_receiveDataSetInMemory( if ((pdv.fragmentLength % 2) != 0) { char buf2[256]; - sprintf(buf2, "DIMSE: Odd Fragment Length: %lu", pdv.fragmentLength); + OFStandard::snprintf(buf2, sizeof(buf2), "DIMSE: Odd Fragment Length: %lu", pdv.fragmentLength); cond = makeDcmnetCondition(DIMSEC_RECEIVEFAILED, OF_error, buf2); last = OFTrue; } diff --git a/dcmnet/libsrc/dimstore.cc b/dcmnet/libsrc/dimstore.cc index 24fc4dce..6976616d 100644 --- a/dcmnet/libsrc/dimstore.cc +++ b/dcmnet/libsrc/dimstore.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -269,7 +269,7 @@ DIMSE_storeUser( if (rsp.CommandField != DIMSE_C_STORE_RSP) { char buf[256]; - sprintf(buf, "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)rsp.CommandField); + OFStandard::snprintf(buf, sizeof(buf), "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)rsp.CommandField); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf); } @@ -280,7 +280,7 @@ DIMSE_storeUser( if (response->MessageIDBeingRespondedTo != request->MessageID) { char buf2[256]; - sprintf(buf2, "DIMSE: Unexpected Response MsgId: %d (expected: %d)", response->MessageIDBeingRespondedTo, request->MessageID); + OFStandard::snprintf(buf2, sizeof(buf2), "DIMSE: Unexpected Response MsgId: %d (expected: %d)", response->MessageIDBeingRespondedTo, request->MessageID); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf2); } } @@ -467,6 +467,11 @@ DIMSE_storeProvider( T_ASC_Association *assoc, } else { /* if no error occurred, receive data and write it to the file */ cond = DIMSE_receiveDataSetInFile(assoc, blockMode, timeout, &presIdData, filestream, privCallback, &callbackCtx); + + /* if the file was successfully written, close the file and check the return code */ + if (cond.good()) cond = filestream->fclose(); + + /* deleting the file stream will also close the file if it is still open */ delete filestream; if (cond != EC_Normal) { diff --git a/dcmnet/libsrc/diutil.cc b/dcmnet/libsrc/diutil.cc index b294afe5..3f1b39ff 100644 --- a/dcmnet/libsrc/diutil.cc +++ b/dcmnet/libsrc/diutil.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -78,23 +78,12 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#ifdef HAVE_UNIX_H -#if defined(macintosh) && defined (HAVE_WINSOCK_H) -/* unix.h defines timeval incompatible with winsock.h */ -#define timeval _UNWANTED_timeval -#endif -#include /* for unlink() under Metrowerks C++ (Macintosh) */ -#undef timeval -#endif #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_STAT_H #include #endif -#ifdef HAVE_STAT_H -#include -#endif #include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmnet/diutil.h" @@ -118,7 +107,7 @@ DU_stripTrailingSpaces(char *s) if (s) { n = OFstatic_cast(int, strlen(s)); - for (i = n - 1; i >= 0 && isspace(TO_UCHAR(s[i])); i--) + for (i = n - 1; i >= 0 && OFStandard::isspace(s[i]); i--) s[i] = '\0'; } } @@ -131,10 +120,10 @@ DU_stripLeadingSpaces(char *s) if (s == NULL) return; n = OFstatic_cast(int, strlen(s)); if (n == 0) return; - if (!isspace(TO_UCHAR(s[0]))) return; /* no leading space */ + if (!OFStandard::isspace(s[0])) return; /* no leading space */ /* first non-space */ - for (i=0; isearch(t, stack); - elem = (DcmByteString*) stack.top(); - if (ec == EC_Normal && elem != NULL) { + OFCondition ec = obj->search(t, stack); + if (ec.good() && (stack.top() != NULL) && stack.top()->isElement()) { + DcmElement *elem = (DcmElement *) stack.top(); if (elem->getLength() == 0) { s[0] = '\0'; } else { ec = elem->getString(aString); - if (ec == EC_Normal) + if (ec.good()) OFStandard::strlcpy(s, aString, bufsize); } } - return (ec == EC_Normal); + return (ec.good()); } OFBool @@ -193,7 +180,7 @@ DU_putStringDOElement(DcmItem *obj, DcmTagKey t, const char *s) ec = obj->insert(e, OFTrue); } - return (ec == EC_Normal); + return (ec.good()); } OFBool @@ -201,15 +188,15 @@ DU_getShortDOElement(DcmItem *obj, DcmTagKey t, Uint16 *us) { DcmElement *elem; DcmStack stack; - OFCondition ec = EC_Normal; - ec = obj->search(t, stack); - elem = (DcmElement*) stack.top(); - if (ec == EC_Normal && elem != NULL) { - ec = elem->getUint16(*us, 0); + OFCondition ec = obj->search(t, stack); + if (ec.good() && stack.top()->isElement()) + { + elem = (DcmElement*) stack.top(); + if (elem) ec = elem->getUint16(*us, 0); } - return (ec == EC_Normal); + return (ec.good()); } OFBool @@ -226,7 +213,7 @@ DU_putShortDOElement(DcmItem *obj, DcmTagKey t, Uint16 us) if (ec == EC_Normal) { ec = obj->insert(e, OFTrue); } - return (ec == EC_Normal); + return (ec.good()); } OFBool @@ -287,7 +274,7 @@ DU_cechoStatusString(Uint16 statusCode) if (statusCode == STATUS_Success) s = "Success"; else { - sprintf(staticBuf, "Unknown Status: 0x%x", (unsigned int)statusCode); + OFStandard::snprintf(staticBuf, sizeof(staticBuf), "Unknown Status: 0x%x", (unsigned int)statusCode); s = staticBuf; } return s; @@ -336,7 +323,7 @@ DU_cstoreStatusString(Uint16 statusCode) } if (s == NULL) { - sprintf(staticBuf, "Unknown Status: 0x%x", (unsigned int)statusCode); + OFStandard::snprintf(staticBuf, sizeof(staticBuf), "Unknown Status: 0x%x", (unsigned int)statusCode); s = staticBuf; } return s; @@ -381,7 +368,7 @@ DU_cfindStatusString(Uint16 statusCode) } if (s == NULL) { - sprintf(staticBuf, "Unknown Status: 0x%x", (unsigned int)statusCode); + OFStandard::snprintf(staticBuf, sizeof(staticBuf), "Unknown Status: 0x%x", (unsigned int)statusCode); s = staticBuf; } return s; @@ -432,7 +419,7 @@ DU_cmoveStatusString(Uint16 statusCode) } if (s == NULL) { - sprintf(staticBuf, "Unknown Status: 0x%x", (unsigned int)statusCode); + OFStandard::snprintf(staticBuf, sizeof(staticBuf), "Unknown Status: 0x%x", (unsigned int)statusCode); s = staticBuf; } return s; @@ -480,7 +467,7 @@ DU_cgetStatusString(Uint16 statusCode) } if (s == NULL) { - sprintf(staticBuf, "Unknown Status: 0x%x", (unsigned int)statusCode); + OFStandard::snprintf(staticBuf, sizeof(staticBuf), "Unknown Status: 0x%x", (unsigned int)statusCode); s = staticBuf; } return s; @@ -551,7 +538,7 @@ DU_ncreateStatusString(Uint16 statusCode) } if (s == NULL) { - sprintf(staticBuf, "Unknown Status: 0x%x", (unsigned int)statusCode); + OFStandard::snprintf(staticBuf, sizeof(staticBuf), "Unknown Status: 0x%x", (unsigned int)statusCode); s = staticBuf; } return s; @@ -590,8 +577,8 @@ DU_ngetStatusString(Uint16 statusCode) case STATUS_N_ResourceLimitation: s = "Failure: ResourceLimitation"; break; - case STATUS_N_AttributeListError: - s = "Warning: AttributeListError"; + case STATUS_N_AttributeListWarning: + s = "Warning: AttributeListWarning"; break; case STATUS_N_AttributeValueOutOfRange: s = "Warning: AttributeValueOutOfRange"; @@ -607,7 +594,7 @@ DU_ngetStatusString(Uint16 statusCode) } if (s == NULL) { - sprintf(staticBuf, "Unknown Status: 0x%x", (unsigned int)statusCode); + OFStandard::snprintf(staticBuf, sizeof(staticBuf), "Unknown Status: 0x%x", (unsigned int)statusCode); s = staticBuf; } return s; @@ -672,7 +659,7 @@ DU_nsetStatusString(Uint16 statusCode) } if (s == NULL) { - sprintf(staticBuf, "Unknown Status: 0x%x", (unsigned int)statusCode); + OFStandard::snprintf(staticBuf, sizeof(staticBuf), "Unknown Status: 0x%x", (unsigned int)statusCode); s = staticBuf; } return s; @@ -734,7 +721,7 @@ DU_nactionStatusString(Uint16 statusCode) } if (s == NULL) { - sprintf(staticBuf, "Unknown Status: 0x%x", (unsigned int)statusCode); + OFStandard::snprintf(staticBuf, sizeof(staticBuf), "Unknown Status: 0x%x", (unsigned int)statusCode); s = staticBuf; } return s; @@ -787,7 +774,7 @@ DU_ndeleteStatusString(Uint16 statusCode) } if (s == NULL) { - sprintf(staticBuf, "Unknown Status: 0x%x", (unsigned int)statusCode); + OFStandard::snprintf(staticBuf, sizeof(staticBuf), "Unknown Status: 0x%x", (unsigned int)statusCode); s = staticBuf; } return s; @@ -849,7 +836,7 @@ DU_neventReportStatusString(Uint16 statusCode) } if (s == NULL) { - sprintf(staticBuf, "Unknown Status: 0x%x", (unsigned int)statusCode); + OFStandard::snprintf(staticBuf, sizeof(staticBuf), "Unknown Status: 0x%x", (unsigned int)statusCode); s = staticBuf; } return s; diff --git a/dcmnet/libsrc/dstorscu.cc b/dcmnet/libsrc/dstorscu.cc index 869f52ee..7f06a4d5 100644 --- a/dcmnet/libsrc/dstorscu.cc +++ b/dcmnet/libsrc/dstorscu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2023, OFFIS e.V. + * Copyright (C) 2011-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -484,7 +484,7 @@ OFCondition DcmStorageSCU::addDicomFilesFromDICOMDIR(const OFFilename &filename, OFFilename dirName; OFStandard::getDirNameFromPath(dirName, filename, OFFalse /* assumeDirName */); // iterate over all items (directory records) where ReferencedFileID is present - while (dataset->search(DCM_ReferencedFileID, stack, ESM_afterStackTop, OFTrue).good()) + while (dataset->search(DCM_ReferencedFileID, stack, ESM_afterStackTop, OFTrue).good() && stack.top()->isElement()) { // make sure that the dataset and element pointer are there if (stack.card() > 1) @@ -638,13 +638,13 @@ OFCondition DcmStorageSCU::addPresentationContexts() status = EC_UnsupportedEncoding; } // check whether transfer syntax uses any kind of compression - else if (xfer.isEncapsulated() || (xfer.getStreamCompression() != ESC_none)) + else if (xfer.isPixelDataCompressed() || xfer.isDatasetCompressed()) { // create list of proposed transfer syntaxes transferSyntaxes.clear(); transferSyntaxes.push_back((*transferEntry)->TransferSyntaxUID.c_str()); // check whether compression is lossless and we can decompress it - if (xfer.isLossless()) + if (xfer.isLosslessCompressed()) { if (DecompressionMode == DM_never) { @@ -663,7 +663,7 @@ OFCondition DcmStorageSCU::addPresentationContexts() status = EC_UnsupportedEncoding; } } - else if ((xfer.getStreamCompression() != ESC_none) /* e.g. ZIP compression */ || + else if (xfer.isDatasetCompressed() /* e.g. ZIP compression */ || DcmCodecList::canChangeCoding(xfer.getXfer(), EXS_LittleEndianExplicit)) { DCMNET_DEBUG("also propose the three uncompressed transfer syntaxes, " @@ -691,7 +691,7 @@ OFCondition DcmStorageSCU::addPresentationContexts() // check whether we can decompress the lossy compression if (DecompressionMode == DM_lossyAndLossless) { - if ((xfer.getStreamCompression() != ESC_none) /* is there any lossy stream compression? */ || + if (xfer.isDatasetCompressed() /* is there any lossy stream compression? */ || DcmCodecList::canChangeCoding(xfer.getXfer(), EXS_LittleEndianExplicit)) { DCMNET_DEBUG("also propose the three uncompressed transfer syntaxes, " @@ -716,7 +716,31 @@ OFCondition DcmStorageSCU::addPresentationContexts() status = addPresentationContext(sopClassUID, transferSyntaxes); } } - // uncompressed case: always propose all three transfer syntaxes without compression + // check whether encapsulated format is used and pixel data is uncompressed + // (special case since transcoding of encapsulated uncompressed transfer syntax + // to native format is not yet supported) + else if (xfer.usesEncapsulatedFormat() && !xfer.isPixelDataCompressed()) + { + // create list of proposed transfer syntaxes + transferSyntaxes.clear(); + transferSyntaxes.push_back((*transferEntry)->TransferSyntaxUID.c_str()); + if (AllowIllegalProposalMode) + { + // warn that we cannot transcode the SOP instance (if required) + DCMNET_WARN("transfer syntax uses encapsulated format and pixel data is uncompressed," << OFendl + << " but as we do not support transcoding to native format yet, we will not propose the Default Transfer Syntax" << OFendl + << " (which might result in a violation of the DICOM standard if it is not proposed in another presentation context)"); + } else { + // warn that we cannot transcode the SOP instance (if required) + DCMNET_WARN("transfer syntax uses encapsulated format and pixel data is uncompressed," << OFendl + << " but we do not support transcoding to native format yet and, therefore, hope that it is not needed"); + // we hope that the SCP accepts encapsulated uncompressed transfer syntax + transferSyntaxes.push_back(UID_LittleEndianImplicitTransferSyntax); + } + // call the inherited method from the base class doing the real work + status = addPresentationContext(sopClassUID, transferSyntaxes); + } + // uncompressed case (native format): always propose all three transfer syntaxes without compression else { // call the inherited method from the base class doing the real work diff --git a/dcmnet/libsrc/dul.cc b/dcmnet/libsrc/dul.cc index c1ec9bd9..b821b3d2 100644 --- a/dcmnet/libsrc/dul.cc +++ b/dcmnet/libsrc/dul.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -86,7 +86,7 @@ BEGIN_EXTERN_C #ifdef HAVE_SYS_TYPES_H #include #endif -/* sys/socket.h included via dcompat.h - needed for Ultrix */ +/* sys/socket.h included via "dcmtk/ofstd/ofsockad.h" - needed for Ultrix */ #ifdef HAVE_SYS_SELECT_H #include #endif @@ -103,12 +103,12 @@ BEGIN_EXTERN_C #include /* for hosts_ctl */ int dcmtk_hosts_access(struct request_info *req); #endif +#ifdef HAVE_FCNTL_H +#include /* for FD_CLOEXEC */ +#endif + /* declare extern "C" typedef for signal handler function pointer */ -#ifdef SIGNAL_HANDLER_WITH_ELLIPSE -typedef void(*mySIG_TYP)(...); -#else typedef void(*mySIG_TYP)(int); -#endif END_EXTERN_C #ifdef DCMTK_HAVE_POLL @@ -123,6 +123,7 @@ END_EXTERN_C #include "dcmtk/dcmnet/lst.h" #include "dcmtk/ofstd/ofconsol.h" #include "dcmtk/ofstd/ofstd.h" +#include "dcmtk/ofstd/ofsockad.h" /* for class OFSockAddr and SOCK_CLOEXEC */ #include "dcmtk/dcmnet/dul.h" #include "dcmtk/dcmnet/dulstruc.h" @@ -1563,13 +1564,7 @@ receiveTransportConnectionTCP(PRIVATE_NETWORKKEY ** network, fd_set fdset; #endif struct timeval timeout_val; -#ifdef HAVE_DECLARATION_SOCKLEN_T socklen_t len; -#elif !defined(HAVE_PROTOTYPE_ACCEPT) || defined(HAVE_INTP_ACCEPT) - int len; -#else - size_t len; -#endif int nfound, connected; struct sockaddr from; struct linger sockarg; @@ -1629,18 +1624,12 @@ receiveTransportConnectionTCP(PRIVATE_NETWORKKEY ** network, #ifdef DCMTK_HAVE_POLL nfound = poll(pfd, 1, timeout_val.tv_sec*1000+(timeout_val.tv_usec/1000)); -#else -#ifdef HAVE_INTP_SELECT - nfound = select( - OFstatic_cast(int, (*network)->networkSpecific.TCP.listenSocket + 1), - (int *)(&fdset), NULL, NULL, &timeout_val); #else // On Win32, it is safe to cast the first parameter to int // because Windows ignores this parameter anyway. nfound = select( OFstatic_cast(int, (*network)->networkSpecific.TCP.listenSocket + 1), &fdset, NULL, NULL, &timeout_val); -#endif /* HAVE_INTP_SELECT */ #endif /* DCMTK_HAVE_POLL*/ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) @@ -1680,18 +1669,12 @@ receiveTransportConnectionTCP(PRIVATE_NETWORKKEY ** network, timeout_val.tv_usec = 0; #ifdef DCMTK_HAVE_POLL nfound = poll(pfd, 1, timeout_val.tv_sec*1000+(timeout_val.tv_usec/1000)); -#else -#ifdef HAVE_INTP_SELECT - nfound = select( - OFstatic_cast(int, (*network)->networkSpecific.TCP.listenSocket + 1), - (int *)(&fdset), NULL, NULL, &timeout_val); #else // On Win32, it is safe to cast the first parameter to int // because Windows ignores this parameter anyway. nfound = select( OFstatic_cast(int, (*network)->networkSpecific.TCP.listenSocket + 1), &fdset, NULL, NULL, &timeout_val); -#endif /* HAVE_INTP_SELECT */ #endif /* DCMTK_HAVE_POLL */ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) { @@ -1727,6 +1710,12 @@ receiveTransportConnectionTCP(PRIVATE_NETWORKKEY ** network, OFSTRINGSTREAM_GETOFSTRING(stream, msg) return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str()); } + +#ifdef FD_CLOEXEC + // prevent socket leakage to child programs executed with exec() + int flags = fcntl(sock, F_GETFD, 0); + fcntl(sock, F_SETFD, FD_CLOEXEC | flags); +#endif } #ifdef HAVE_FORK @@ -1793,7 +1782,7 @@ receiveTransportConnectionTCP(PRIVATE_NETWORKKEY ** network, size_t len2 = strlen(command_argv[i]); if ((len2 > 0) && (command_argv[i][len2 - 1] == '\\')) { - cmdLine += "\\"; + cmdLine += "\\"; } cmdLine += "\""; } @@ -1882,7 +1871,7 @@ receiveTransportConnectionTCP(PRIVATE_NETWORKKEY ** network, DWORD bytesWritten; char buf[30]; // we pass the socket handle as a 64-bit unsigned integer, which should work for 32 and 64 bit Windows - sprintf(buf, "%llu", OFreinterpret_cast(unsigned __int64, childSocketHandle)); + OFStandard::snprintf(buf, sizeof(buf), "%llu", OFreinterpret_cast(unsigned __int64, childSocketHandle)); if (!WriteFile(hChildStdInWriteDup, buf, OFstatic_cast(DWORD, strlen(buf) + 1), &bytesWritten, NULL)) { CloseHandle(hChildStdInWriteDup); @@ -1983,7 +1972,7 @@ receiveTransportConnectionTCP(PRIVATE_NETWORKKEY ** network, // create string containing numerical IP address. OFString client_dns_name; char client_ip_address[20]; - sprintf(client_ip_address, "%-d.%-d.%-d.%-d", // this code is ugly but thread safe + OFStandard::snprintf(client_ip_address, sizeof(client_ip_address), "%-d.%-d.%-d.%-d", // this code is ugly but thread safe ((int) from.sa_data[2]) & 0xff, ((int) from.sa_data[3]) & 0xff, ((int) from.sa_data[4]) & 0xff, @@ -2180,13 +2169,7 @@ initializeNetworkTCP(PRIVATE_NETWORKKEY ** key, void *parameter) (! processIsForkedChild)) { -#ifdef HAVE_DECLARATION_SOCKLEN_T socklen_t length; -#elif !defined(HAVE_PROTOTYPE_ACCEPT) || defined(HAVE_INTP_ACCEPT) - int length; -#else - size_t length; -#endif #ifdef _WIN32 SOCKET sock; @@ -2197,8 +2180,24 @@ initializeNetworkTCP(PRIVATE_NETWORKKEY ** key, void *parameter) /* Create socket for Internet type communication */ (*key)->networkSpecific.TCP.port = *(int *) parameter; + + // Create socket and prevent leakage of the open socket to processes called with exec() + // by using SOCK_CLOEXEC (where available) or FD_CLOEXEC (POSIX.1-2008) +#ifdef SOCK_CLOEXEC + (*key)->networkSpecific.TCP.listenSocket = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0); + sock = (*key)->networkSpecific.TCP.listenSocket; +#elif defined(FD_CLOEXEC) + (*key)->networkSpecific.TCP.listenSocket = socket(AF_INET, SOCK_STREAM, 0); + sock = (*key)->networkSpecific.TCP.listenSocket; + if (sock >= 0) + { + int flags = fcntl(sock, F_GETFD, 0); + fcntl(sock, F_SETFD, FD_CLOEXEC | flags); + } +#else (*key)->networkSpecific.TCP.listenSocket = socket(AF_INET, SOCK_STREAM, 0); sock = (*key)->networkSpecific.TCP.listenSocket; +#endif #ifdef _WIN32 if (sock == INVALID_SOCKET) @@ -2685,11 +2684,11 @@ dump_uid(const char *UID, const char *indent) if ((UID==NULL)||(UID[0] == '\0')) { - sprintf(buf, indent, " "); + OFStandard::snprintf(buf, sizeof(buf), indent, " "); return OFString(buf) + "No UID"; } else { uidName = dcmFindNameOfUID(UID, "Unknown UID"); - sprintf(buf, indent, " "); + OFStandard::snprintf(buf, sizeof(buf), indent, " "); return OFString(buf) + uidName; } } @@ -2847,6 +2846,15 @@ OFString& DUL_DumpConnectionParameters(OFString& str, DUL_ASSOCIATIONKEY *associ return str; } +void DUL_setParentProcessMode(DUL_ASSOCIATIONKEY *callerAssociation) +{ + PRIVATE_ASSOCIATIONKEY *association = (PRIVATE_ASSOCIATIONKEY *) callerAssociation; + if (association->connection) + { + association->connection->setParentProcessMode(); + } +} + // Legacy functions! void DUL_DumpParams(DUL_ASSOCIATESERVICEPARAMETERS * params) { diff --git a/dcmnet/libsrc/dulconst.cc b/dcmnet/libsrc/dulconst.cc index f715040f..063cf5ab 100644 --- a/dcmnet/libsrc/dulconst.cc +++ b/dcmnet/libsrc/dulconst.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -75,6 +75,7 @@ #include "dcmtk/dcmnet/dulstruc.h" #include "dulpriv.h" #include "dcmtk/ofstd/ofconsol.h" +#include "dcmtk/ofstd/ofstd.h" static OFCondition constructSubItem(char *name, unsigned char type, @@ -904,7 +905,7 @@ constructUserInfo(unsigned char type, DUL_ASSOCIATESERVICEPARAMETERS * params, if (totalUserInfoLength > 65535) { char errbuf[500]; - sprintf(errbuf, "Total length of user items (%lu bytes) exceeds upper limit of 65535 bytes", totalUserInfoLength); + OFStandard::snprintf(errbuf, sizeof(errbuf), "Total length of user items (%lu bytes) exceeds upper limit of 65535 bytes", totalUserInfoLength); return makeDcmnetCondition(ASCC_CODINGERROR, OF_error, errbuf); } else // now casting to unsigned short should be safe @@ -933,12 +934,18 @@ static OFCondition constructMaxLength(unsigned long maxPDU, DUL_MAXLENGTH * max, unsigned long *rtnLen) { - unsigned long compatMode = dcmEnableBackwardCompatibility.get(); max->type = DUL_TYPEMAXLENGTH; max->rsv1 = 0; max->length = 4; + +#ifdef DCMTK_ENABLE_OUTDATED_DCMTK_WORKAROUND + unsigned long compatMode = dcmEnableBackwardCompatibility.get(); if (compatMode & 0x8000) max->maxLength = DUL_DULCOMPAT | DUL_DIMSECOMPAT | compatMode; else max->maxLength = maxPDU; +#else + max->maxLength = maxPDU; +#endif + *rtnLen = 8; return EC_Normal; diff --git a/dcmnet/libsrc/dulextra.cc b/dcmnet/libsrc/dulextra.cc index 06079a94..2b52471b 100644 --- a/dcmnet/libsrc/dulextra.cc +++ b/dcmnet/libsrc/dulextra.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -152,13 +152,9 @@ DUL_associationWaiting(DUL_NETWORKKEY * callerNet, int timeout) { s, POLLIN, 0 } }; nfound = poll(pfd, 1, t.tv_sec*1000+(t.tv_usec/1000)); -#else -#ifdef HAVE_INTP_SELECT - nfound = select(OFstatic_cast(int, s + 1), (int *)(&fdset), NULL, NULL, &t); #else // This is safe because on Windows the first select() parameter is ignored anyway nfound = select(OFstatic_cast(int, s + 1), &fdset, NULL, NULL, &t); -#endif /* HAVE_INTP_SELECT */ #endif /* DCMTK_HAVE_POLL */ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) { diff --git a/dcmnet/libsrc/dulfsm.cc b/dcmnet/libsrc/dulfsm.cc index d96a0112..c9ba5e61 100644 --- a/dcmnet/libsrc/dulfsm.cc +++ b/dcmnet/libsrc/dulfsm.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2022, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -94,6 +94,7 @@ BEGIN_EXTERN_C #ifdef HAVE_NETINET_TCP_H #include /* for TCP_NODELAY */ #endif + END_EXTERN_C #ifdef DCMTK_HAVE_POLL #include @@ -109,15 +110,16 @@ END_EXTERN_C #include "dulpriv.h" #include "dulfsm.h" #include "dcmtk/ofstd/ofbmanip.h" -#include "dcmtk/ofstd/ofconsol.h" #include "dcmtk/dcmnet/assoc.h" /* for ASC_MAXIMUMPDUSIZE */ #include "dcmtk/dcmnet/dcmtrans.h" #include "dcmtk/dcmnet/dcmlayer.h" #include "dcmtk/dcmnet/diutil.h" #include "dcmtk/dcmnet/helpers.h" -#include "dcmtk/ofstd/ofsockad.h" /* for class OFSockAddr */ +#include "dcmtk/ofstd/ofsockad.h" /* for class OFSockAddr and SOCK_CLOEXEC */ +#include "dcmtk/ofstd/ofstd.h" #include #include +#include /* At least Solaris doesn't define this */ #ifndef INADDR_NONE @@ -134,6 +136,39 @@ enum #endif }; +/** Small helper class that manages pointer and free()s it on destruction, + * unless pointer is released using its release() method. The class can only + * be used for memory allocated using malloc(), i.e. not new(). + * The class never allocates memory itself. + */ +struct BufferGuard +{ + /// Managed pointer to buffer + unsigned char *buffer; + + /** Default constructor, initializes internal pointer with NULL + */ + BufferGuard() : buffer(NULL) {} + + /** Constructor, initializes internal pointer with given value + * @param b pointer to buffer to be managed + */ + + BufferGuard(unsigned char *b) : buffer(b) {} + + /** Destructor, releases internal managed buffer by calling free() + */ + + ~BufferGuard() { free(buffer); } + + /** Release internal managed buffer, i.e. return pointer to caller + * and set internal pointer to NULL. Caller is responsible for + * freeing the memory. + * @return pointer to managed buffer + */ + unsigned char* release() { unsigned char *tmp = buffer; buffer = NULL; return tmp; } +}; + static OFCondition AE_1_TransportConnect(PRIVATE_NETWORKKEY ** network, PRIVATE_ASSOCIATIONKEY ** association, int nextState, void *params); @@ -262,7 +297,7 @@ readPDUHead(PRIVATE_ASSOCIATIONKEY ** association, unsigned long *PDULength); static OFCondition readPDU(PRIVATE_ASSOCIATIONKEY ** association, DUL_BLOCKOPTIONS block, - int timeout, unsigned char **buffer, + int timeout, BufferGuard& buffer, unsigned char *pduType, unsigned char *pduReserved, unsigned long *pduLength); static OFCondition @@ -696,19 +731,20 @@ DUL_InitializeFSM() for (idx2 = 0; idx2 < DIM_OF(FSM_FunctionTable) && stateEntries[l_index].actionFunction == NULL; idx2++) if (stateEntries[l_index].action == FSM_FunctionTable[idx2].action) { - stateEntries[l_index].actionFunction = - FSM_FunctionTable[idx2].actionFunction; - (void) sprintf(stateEntries[l_index].actionName, "%.*s", - (int)(sizeof(stateEntries[l_index].actionName) - 1), - FSM_FunctionTable[idx2].actionName); + stateEntries[l_index].actionFunction = FSM_FunctionTable[idx2].actionFunction; + OFStandard::snprintf(stateEntries[l_index].actionName, + sizeof(stateEntries[l_index].actionName), "%.*s", + (int)(sizeof(stateEntries[l_index].actionName) - 1), + FSM_FunctionTable[idx2].actionName); } } for (idx2 = 0; idx2 < DIM_OF(Event_Table) && strlen(stateEntries[l_index].eventName) == 0; idx2++) { if (stateEntries[l_index].event == Event_Table[idx2].event) - (void) sprintf(stateEntries[l_index].eventName, "%.*s", - (int)(sizeof(stateEntries[l_index].eventName) - 1), - Event_Table[idx2].eventName); + OFStandard::snprintf(stateEntries[l_index].eventName, + sizeof(stateEntries[l_index].eventName), "%.*s", + (int)(sizeof(stateEntries[l_index].eventName) - 1), + Event_Table[idx2].eventName); } } @@ -749,7 +785,7 @@ PRV_StateMachine(PRIVATE_NETWORKKEY ** network, if (event < 0 || event >= DUL_NUMBER_OF_EVENTS) { char buf1[256]; - sprintf(buf1, "DUL Finite State Machine Error: Bad event, state %d event %d", state, event); + OFStandard::snprintf(buf1, sizeof(buf1), "DUL Finite State Machine Error: Bad event, state %d event %d", state, event); return makeDcmnetCondition(DULC_FSMERROR, OF_error, buf1); } @@ -757,7 +793,7 @@ PRV_StateMachine(PRIVATE_NETWORKKEY ** network, if (state < 1 || state > DUL_NUMBER_OF_STATES) { char buf1[256]; - sprintf(buf1, "DUL Finite State Machine Error: Bad state, state %d event %d", state, event); + OFStandard::snprintf(buf1, sizeof(buf1), "DUL Finite State Machine Error: Bad state, state %d event %d", state, event); return makeDcmnetCondition(DULC_FSMERROR, OF_error, buf1); } @@ -779,7 +815,7 @@ PRV_StateMachine(PRIVATE_NETWORKKEY ** network, else { char buf1[256]; - sprintf(buf1, "DUL Finite State Machine Error: No action defined, state %d event %d", state, event); + OFStandard::snprintf(buf1, sizeof(buf1), "DUL Finite State Machine Error: No action defined, state %d event %d", state, event); return makeDcmnetCondition(DULC_FSMERROR, OF_error, buf1); } } @@ -887,9 +923,9 @@ AE_3_AssociateConfirmationAccept(PRIVATE_NETWORKKEY ** /*network*/, DUL_ASSOCIATESERVICEPARAMETERS * service; unsigned char - * buffer = NULL, pduType, pduReserve; + BufferGuard buffer; unsigned long pduLength; PRV_ASSOCIATEPDU @@ -905,17 +941,15 @@ AE_3_AssociateConfirmationAccept(PRIVATE_NETWORKKEY ** /*network*/, * scuscpRole; service = (DUL_ASSOCIATESERVICEPARAMETERS *) params; - OFCondition cond = readPDU(association, DUL_BLOCK, 0, &buffer, &pduType, &pduReserve, &pduLength); - + OFCondition cond = readPDU(association, DUL_BLOCK, 0, buffer, &pduType, &pduReserve, &pduLength); if (cond.bad()) { - if (buffer) free(buffer); return cond; } /* cond is good so we know that buffer exists */ - DCMNET_DEBUG(dump_pdu("Associate Accept", buffer, pduLength + 6)); + DCMNET_DEBUG(dump_pdu("Associate Accept", buffer.buffer, pduLength + 6)); if (pduType == DUL_TYPEASSOCIATEAC) { @@ -925,13 +959,12 @@ AE_3_AssociateConfirmationAccept(PRIVATE_NETWORKKEY ** /*network*/, (*association)->associatePDU = new char[pduLength+6]; if ((*association)->associatePDU) { - memcpy((*association)->associatePDU, buffer, (size_t) pduLength+6); + memcpy((*association)->associatePDU, buffer.buffer, (size_t) pduLength+6); (*association)->associatePDULength = pduLength+6; } } - cond = parseAssociate(buffer, pduLength, &assoc); - free(buffer); + cond = parseAssociate(buffer.buffer, pduLength, &assoc); if (cond.bad()) return makeDcmnetSubCondition(DULC_ILLEGALPDU, OF_error, "DUL Illegal or ill-formed PDU", cond); OFStandard::strlcpy(service->respondingAPTitle, assoc.calledAPTitle, sizeof(service->respondingAPTitle)); @@ -976,7 +1009,7 @@ AE_3_AssociateConfirmationAccept(PRIVATE_NETWORKKEY ** /*network*/, if (prvCtx->transferSyntaxList == NULL) { char buf1[256]; - sprintf(buf1, "DUL Peer supplied illegal number of transfer syntaxes (%d)", 0); + OFStandard::snprintf(buf1, sizeof(buf1), "DUL Peer supplied illegal number of transfer syntaxes (%d)", 0); free(userPresentationCtx); return makeDcmnetCondition(DULC_PEERILLEGALXFERSYNTAXCOUNT, OF_error, buf1); } @@ -984,7 +1017,7 @@ AE_3_AssociateConfirmationAccept(PRIVATE_NETWORKKEY ** /*network*/, if ((prvCtx->result == DUL_PRESENTATION_ACCEPT) && (LST_Count(&prvCtx->transferSyntaxList) != 1)) { char buf2[256]; - sprintf(buf2, "DUL Peer supplied illegal number of transfer syntaxes (%ld)", LST_Count(&prvCtx->transferSyntaxList)); + OFStandard::snprintf(buf2, sizeof(buf2), "DUL Peer supplied illegal number of transfer syntaxes (%ld)", LST_Count(&prvCtx->transferSyntaxList)); free(userPresentationCtx); return makeDcmnetCondition(DULC_PEERILLEGALXFERSYNTAXCOUNT, OF_error, buf2); } @@ -1150,9 +1183,9 @@ AE_6_ExamineAssociateRequest(PRIVATE_NETWORKKEY ** /*network*/, DUL_ASSOCIATESERVICEPARAMETERS * service; unsigned char - *buffer=NULL, pduType, pduReserve; + BufferGuard buffer; unsigned long pduLength; PRV_ASSOCIATEPDU @@ -1160,12 +1193,11 @@ AE_6_ExamineAssociateRequest(PRIVATE_NETWORKKEY ** /*network*/, (*association)->timerStart = 0; service = (DUL_ASSOCIATESERVICEPARAMETERS *) params; - OFCondition cond = readPDU(association, DUL_BLOCK, 0, &buffer, + OFCondition cond = readPDU(association, DUL_BLOCK, 0, buffer, &pduType, &pduReserve, &pduLength); if (cond.bad()) { - if (buffer) free(buffer); return cond; } @@ -1179,16 +1211,13 @@ AE_6_ExamineAssociateRequest(PRIVATE_NETWORKKEY ** /*network*/, (*association)->associatePDU = new char[pduLength+6]; if ((*association)->associatePDU) { - memcpy((*association)->associatePDU, buffer, (size_t) pduLength+6); + memcpy((*association)->associatePDU, buffer.buffer, (size_t) pduLength+6); (*association)->associatePDULength = pduLength+6; } } - DCMNET_DEBUG(dump_pdu("Associate Request", buffer, pduLength + 6)); - cond = parseAssociate(buffer, pduLength, &assoc); - free(buffer); - buffer = NULL; - + DCMNET_DEBUG(dump_pdu("Associate Request", buffer.buffer, pduLength + 6)); + cond = parseAssociate(buffer.buffer, pduLength, &assoc); if (cond.bad()) { if (cond == DUL_UNSUPPORTEDPEERPROTOCOL) /* Make it look OK */ (*association)->protocolState = STATE3; @@ -1421,7 +1450,7 @@ DT_2_IndicatePData(PRIVATE_NETWORKKEY ** /*network*/, if (pdvLength < 2 || ULONG_MAX - pdvLength < 4 || length < 4 + pdvLength) { char buf[256]; - sprintf(buf, "PDV with invalid length %lu encountered. This probably indicates a malformed P DATA PDU.", pdvLength); + OFStandard::snprintf(buf, sizeof(buf), "PDV with invalid length %lu encountered. This probably indicates a malformed P DATA PDU.", pdvLength); return makeDcmnetCondition(DULC_ILLEGALPDULENGTH, OF_error, buf); } @@ -1435,7 +1464,7 @@ DT_2_IndicatePData(PRIVATE_NETWORKKEY ** /*network*/, if (length != 0) { char buf[256]; - sprintf(buf, "PDV lengths don't add up correctly: %d PDVs. This probably indicates a malformed P-DATA PDU. PDU type is %02x.", (int)pdvCount, (unsigned int) pduType); + OFStandard::snprintf(buf, sizeof(buf), "PDV lengths don't add up correctly: %d PDVs. This probably indicates a malformed P-DATA PDU. PDU type is %02x.", (int)pdvCount, (unsigned int) pduType); return makeDcmnetCondition(DULC_ILLEGALPDU, OF_error, buf); } @@ -1455,7 +1484,7 @@ DT_2_IndicatePData(PRIVATE_NETWORKKEY ** /*network*/, /* Hence, return an error (see DICOM standard (year 2000) part 8, section 9.3.1, */ /* figure 9-2) (or the corresponding section in a later version of the standard) */ char buf[256]; - sprintf(buf, "PDU without any PDVs encountered. In DT_2_IndicatePData. This probably indicates a malformed P DATA PDU." ); + OFStandard::snprintf(buf, sizeof(buf), "PDU without any PDVs encountered. In DT_2_IndicatePData. This probably indicates a malformed P DATA PDU." ); return makeDcmnetCondition(DULC_ILLEGALPDU, OF_error, buf); } @@ -1578,6 +1607,7 @@ AR_2_IndicateRelease(PRIVATE_NETWORKKEY ** /*network*/, if (cond.bad()) return cond; +#ifdef DCMTK_ENABLE_OUTDATED_DCMTK_WORKAROUND if (pduLength == 4) { unsigned long mode = buffer[0] << 24 | buffer[1] << 16 | buffer[2] << 8 | buffer[3]; @@ -1586,6 +1616,7 @@ AR_2_IndicateRelease(PRIVATE_NETWORKKEY ** /*network*/, (*association)->modeCallback->callback(mode); } } +#endif (*association)->protocolState = nextState; return DUL_PEERREQUESTEDRELEASE; @@ -1991,6 +2022,7 @@ AA_3_IndicatePeerAborted(PRIVATE_NETWORKKEY ** /*network*/, &pduType, &pduReserve, &pduLength); if (cond.bad()) return cond; +#ifdef DCMTK_ENABLE_OUTDATED_DCMTK_WORKAROUND if (pduLength == 4) { unsigned long mode = pduReserve << 24 | buffer[0] << 16 | buffer[1] << 8 | buffer[3]; @@ -1999,6 +2031,7 @@ AA_3_IndicatePeerAborted(PRIVATE_NETWORKKEY ** /*network*/, (*association)->modeCallback->callback(mode); } } +#endif closeTransport(association); (*association)->protocolState = nextState; @@ -2220,7 +2253,7 @@ requestAssociationTCP(PRIVATE_NETWORKKEY ** network, PRIVATE_ASSOCIATIONKEY ** association) { char node[128]; - int port; + int port = 0; OFSockAddr server; #ifdef _WIN32 SOCKET s; @@ -2229,10 +2262,25 @@ requestAssociationTCP(PRIVATE_NETWORKKEY ** network, #endif struct linger sockarg; - if (sscanf(params->calledPresentationAddress, "%[^:]:%d", node, &port) != 2) + // Split the presentation address into hostname/IP address and port. + OFString addressString(params->calledPresentationAddress); + // find the last colon in the string to split the node and port + size_t lastColonPos = addressString.find_last_of(':'); + if (lastColonPos != OFString_npos) { + // extract node and port from the string + OFString nodeStr = addressString.substr(0, lastColonPos); + OFString portStr = addressString.substr(lastColonPos + 1); + + // copy node string into node char array + OFStandard::strlcpy(node, nodeStr.c_str(), sizeof(node)); + + // convert port string to integer + port = STD_NAMESPACE atoi(portStr.c_str()); + } + else { char buf[1024]; - sprintf(buf,"Illegal service parameter: %s", params->calledPresentationAddress); + OFStandard::snprintf(buf, sizeof(buf), "Illegal service parameter: %s", params->calledPresentationAddress); return makeDcmnetCondition(DULC_ILLEGALSERVICEPARAMETER, OF_error, buf); } @@ -2251,12 +2299,29 @@ requestAssociationTCP(PRIVATE_NETWORKKEY ** network, } else { + int family = 0; + switch (params->protocol_family) + { + case ASC_AF_Default: + family = AF_INET; // for now the default is to use IPv4 only + break; + case ASC_AF_INET: + family = AF_INET; // IPv4 only + break; + case ASC_AF_INET6: + family = AF_INET6; // IPv6 only + break; + case ASC_AF_UNSPEC: + family = AF_UNSPEC; // use DNS lookup to determine protocol + break; + } + // must be a host name or an IPv6 address - OFStandard::getAddressByHostname(node, server); + OFStandard::getAddressByHostname(node, family, server); if (server.getFamily() == 0) { char buf2[4095]; // node could be a long string - sprintf(buf2, "Attempt to connect to unknown host: %s", node); + OFStandard::snprintf(buf2, sizeof(buf2), "Attempt to connect to unknown host: %s", node); return makeDcmnetCondition(DULC_UNKNOWNHOST, OF_error, buf2); } } @@ -2264,7 +2329,27 @@ requestAssociationTCP(PRIVATE_NETWORKKEY ** network, const Sint32 connectTimeout = params->tcpConnectTimeout; +#ifdef HAVE_WINSOCK_H + u_long arg = TRUE; +#else + int flags = 0; +#endif + + // Create socket and prevent leakage of the open socket to processes called with exec() + // by using SOCK_CLOEXEC (where available) or FD_CLOEXEC (POSIX.1-2008) +#ifdef SOCK_CLOEXEC + s = socket(server.getFamily(), SOCK_STREAM | SOCK_CLOEXEC, 0); +#elif defined(FD_CLOEXEC) + s = socket(server.getFamily(), SOCK_STREAM, 0); + if (s >= 0) + { + flags = fcntl(s, F_GETFD, 0); + fcntl(s, F_SETFD, FD_CLOEXEC | flags); + } +#else s = socket(server.getFamily(), SOCK_STREAM, 0); +#endif + #ifdef _WIN32 if (s == INVALID_SOCKET) #else @@ -2276,12 +2361,6 @@ requestAssociationTCP(PRIVATE_NETWORKKEY ** network, return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str()); } -#ifdef HAVE_WINSOCK_H - u_long arg = TRUE; -#else - int flags = 0; -#endif - if (connectTimeout >= 0) { // user has specified a timeout, switch socket to non-blocking mode @@ -2371,17 +2450,7 @@ requestAssociationTCP(PRIVATE_NETWORKKEY ** network, // This could either mean success or an asynchronous error condition. // use getsockopt to check the socket status. int socketError = 0; - -#ifdef HAVE_DECLARATION_SOCKLEN_T - // some platforms (e.g. Solaris 7) declare socklen_t socklen_t socketErrorLen = sizeof(socketError); -#elif defined(HAVE_INTP_GETSOCKOPT) - // some platforms (e.g. Solaris 2.5.1) prefer int - int socketErrorLen = (int) sizeof(socketError); -#else - // some platforms (e.g. OSF1 4.0) prefer size_t - size_t socketErrorLen = sizeof(socketError); -#endif // Solaris 2.5.1 expects a char * as argument 4 of getsockopt. Most other // platforms expect void *, so casting to a char * should be safe. @@ -2551,12 +2620,10 @@ sendAssociationRQTCP(PRIVATE_NETWORKKEY ** /*network*/, { PRV_ASSOCIATEPDU associateRequest; - unsigned char - buffer[4096], - *b; + BufferGuard buffer; unsigned long length; - int + ssize_t nbytes; OFBitmanipTemplate::zeroMem((char *)&associateRequest, sizeof(PRV_ASSOCIATEPDU)); // initialize PDU @@ -2568,13 +2635,10 @@ sendAssociationRQTCP(PRIVATE_NETWORKKEY ** /*network*/, DCMNET_ERROR(cond.text()); return cond; } - if (associateRequest.length + 6 <= sizeof(buffer)) - b = buffer; - else { - b = (unsigned char*)malloc(size_t(associateRequest.length + 6)); - if (b == NULL) return EC_MemoryExhausted; - } - cond = streamAssociatePDU(&associateRequest, b, + buffer.buffer = (unsigned char*)malloc(size_t(associateRequest.length + 6)); + if (buffer.buffer == NULL) return EC_MemoryExhausted; + + cond = streamAssociatePDU(&associateRequest, buffer.buffer, associateRequest.length + 6, &length); if ((*association)->associatePDUFlag) @@ -2583,7 +2647,7 @@ sendAssociationRQTCP(PRIVATE_NETWORKKEY ** /*network*/, (*association)->associatePDU = new char[length]; if ((*association)->associatePDU) { - memcpy((*association)->associatePDU, b, (size_t) length); + memcpy((*association)->associatePDU, buffer.buffer, (size_t) length); (*association)->associatePDULength = length; } } @@ -2594,7 +2658,7 @@ sendAssociationRQTCP(PRIVATE_NETWORKKEY ** /*network*/, return cond; do { - nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(associateRequest.length + 6)) : 0; + nbytes = (*association)->connection ? (*association)->connection->write((char*)buffer.buffer, size_t(associateRequest.length + 6)) : 0; } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR); if ((unsigned long) nbytes != associateRequest.length + 6) { @@ -2603,7 +2667,6 @@ sendAssociationRQTCP(PRIVATE_NETWORKKEY ** /*network*/, msg += ") occurred in routine: sendAssociationRQTCP"; return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str()); } - if (b != buffer) free(b); return EC_Normal; } @@ -2632,11 +2695,9 @@ sendAssociationACTCP(PRIVATE_NETWORKKEY ** /*network*/, { PRV_ASSOCIATEPDU associateReply; - unsigned char - buffer[4096], - *b; + BufferGuard buffer; unsigned long length = 0; - int nbytes; + ssize_t nbytes; DUL_ASSOCIATESERVICEPARAMETERS localService; OFBitmanipTemplate::zeroMem((char *)&associateReply, sizeof(PRV_ASSOCIATEPDU)); // initialize PDU @@ -2652,12 +2713,9 @@ sendAssociationACTCP(PRIVATE_NETWORKKEY ** /*network*/, } // we need to have length+6 bytes in buffer, but 4 bytes reserve won't hurt - if (associateReply.length + 10 <= sizeof(buffer)) b = buffer; - else { - b = (unsigned char*)malloc(size_t(associateReply.length + 10)); - if (b == NULL) return EC_MemoryExhausted; - } - cond = streamAssociatePDU(&associateReply, b, + buffer.buffer = (unsigned char*)malloc(size_t(associateReply.length + 10)); + + cond = streamAssociatePDU(&associateReply, buffer.buffer, associateReply.length + 10, &length); if ((*association)->associatePDUFlag) @@ -2666,7 +2724,7 @@ sendAssociationACTCP(PRIVATE_NETWORKKEY ** /*network*/, (*association)->associatePDU = new char[length]; if ((*association)->associatePDU) { - memcpy((*association)->associatePDU, b, (size_t) length); + memcpy((*association)->associatePDU, buffer.buffer, (size_t) length); (*association)->associatePDULength = length; } } @@ -2677,7 +2735,7 @@ sendAssociationACTCP(PRIVATE_NETWORKKEY ** /*network*/, if (cond.bad()) return cond; do { - nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(associateReply.length + 6)) : 0; + nbytes = (*association)->connection ? (*association)->connection->write((char*)buffer.buffer, size_t(associateReply.length + 6)) : 0; } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR); if ((unsigned long) nbytes != associateReply.length + 6) { @@ -2686,7 +2744,6 @@ sendAssociationACTCP(PRIVATE_NETWORKKEY ** /*network*/, msg += ") occurred in routine: sendAssociationACTCP"; return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str()); } - if (b != buffer) free(b); return EC_Normal; } @@ -2718,24 +2775,19 @@ sendAssociationRJTCP(PRIVATE_NETWORKKEY ** /*network*/, DUL_REJECTRELEASEABORTPDU pdu; - unsigned char - buffer[64], - *b; + BufferGuard buffer; unsigned long length; - int + ssize_t nbytes; OFCondition cond = constructAssociateRejectPDU((unsigned char) abortItems->result, (unsigned char) abortItems->source, (unsigned char) abortItems->reason, &pdu); - if (pdu.length + 6 <= sizeof(buffer)) - b = buffer; - else { - b = (unsigned char*)malloc(size_t(pdu.length + 6)); - if (b == NULL) return EC_MemoryExhausted; - } - cond = streamRejectReleaseAbortPDU(&pdu, b, pdu.length + 6, &length); + buffer.buffer = (unsigned char*)malloc(size_t(pdu.length + 6)); + if (buffer.buffer == NULL) return EC_MemoryExhausted; + + cond = streamRejectReleaseAbortPDU(&pdu, buffer.buffer, pdu.length + 6, &length); if ((*association)->associatePDUFlag) { @@ -2743,7 +2795,7 @@ sendAssociationRJTCP(PRIVATE_NETWORKKEY ** /*network*/, (*association)->associatePDU = new char[length]; if ((*association)->associatePDU) { - memcpy((*association)->associatePDU, b, (size_t) length); + memcpy((*association)->associatePDU, buffer.buffer, (size_t) length); (*association)->associatePDULength = length; } } @@ -2751,7 +2803,7 @@ sendAssociationRJTCP(PRIVATE_NETWORKKEY ** /*network*/, if (cond.good()) { do { - nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(pdu.length + 6)) : 0; + nbytes = (*association)->connection ? (*association)->connection->write((char*)buffer.buffer, size_t(pdu.length + 6)) : 0; } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR); if ((unsigned long) nbytes != pdu.length + 6) { @@ -2761,7 +2813,6 @@ sendAssociationRJTCP(PRIVATE_NETWORKKEY ** /*network*/, return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str()); } } - if (b != buffer) free(b); return cond; } @@ -2790,28 +2841,23 @@ sendAbortTCP(DUL_ABORTITEMS * abortItems, { DUL_REJECTRELEASEABORTPDU pdu; - unsigned char - buffer[64], - *b; + BufferGuard buffer; unsigned long length; - int + ssize_t nbytes; OFCondition cond = constructAbortPDU(abortItems->source, abortItems->reason, &pdu, (*association)->compatibilityMode); if (cond.bad()) return cond; - if (pdu.length + 6 <= sizeof(buffer)) - b = buffer; - else { - b = (unsigned char*)malloc(size_t(pdu.length + 6)); - if (b == NULL) return EC_MemoryExhausted; - } - cond = streamRejectReleaseAbortPDU(&pdu, b, pdu.length + 6, &length); + buffer.buffer = (unsigned char*)malloc(size_t(pdu.length + 6)); + if (buffer.buffer == NULL) return EC_MemoryExhausted; + + cond = streamRejectReleaseAbortPDU(&pdu, buffer.buffer, pdu.length + 6, &length); if (cond.good()) { do { - nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(pdu.length + 6)) : 0; + nbytes = (*association)->connection ? (*association)->connection->write((char*)buffer.buffer, size_t(pdu.length + 6)) : 0; } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR); if ((unsigned long) nbytes != pdu.length + 6) { @@ -2821,7 +2867,6 @@ sendAbortTCP(DUL_ABORTITEMS * abortItems, return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str()); } } - if (b != buffer) free(b); return cond; } @@ -2850,28 +2895,23 @@ sendReleaseRQTCP(PRIVATE_ASSOCIATIONKEY ** association) { DUL_REJECTRELEASEABORTPDU pdu; - unsigned char - buffer[64], - *b; + BufferGuard buffer; unsigned long length; - int + ssize_t nbytes; OFCondition cond = constructReleaseRQPDU(&pdu, (*association)->compatibilityMode); if (cond.bad()) return cond; - if (pdu.length + 6 <= sizeof(buffer)) - b = buffer; - else { - b = (unsigned char*)malloc(size_t(pdu.length + 6)); - if (b == NULL) return EC_MemoryExhausted; - } - cond = streamRejectReleaseAbortPDU(&pdu, b, pdu.length + 6, &length); + buffer.buffer = (unsigned char*)malloc(size_t(pdu.length + 6)); + if (buffer.buffer == NULL) return EC_MemoryExhausted; + + cond = streamRejectReleaseAbortPDU(&pdu, buffer.buffer, pdu.length + 6, &length); if (cond.good()) { do { - nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(pdu.length + 6)) : 0; + nbytes = (*association)->connection ? (*association)->connection->write((char*)buffer.buffer, size_t(pdu.length + 6)) : 0; } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR); if ((unsigned long) nbytes != pdu.length + 6) { @@ -2881,8 +2921,6 @@ sendReleaseRQTCP(PRIVATE_ASSOCIATIONKEY ** association) return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str()); } } - if (b != buffer) - free(b); return cond; } @@ -2912,27 +2950,23 @@ sendReleaseRPTCP(PRIVATE_ASSOCIATIONKEY ** association) { DUL_REJECTRELEASEABORTPDU pdu; - unsigned char buffer[64], - *b; + BufferGuard buffer; unsigned long length; - int + ssize_t nbytes; OFCondition cond = constructReleaseRPPDU(&pdu); if (cond.bad()) return cond; - if (pdu.length + 6 <= sizeof(buffer)) - b = buffer; - else { - b = (unsigned char*)malloc(size_t(pdu.length + 6)); - if (b == NULL) return EC_MemoryExhausted; - } - cond = streamRejectReleaseAbortPDU(&pdu, b, pdu.length + 6, &length); + buffer.buffer = (unsigned char*)malloc(size_t(pdu.length + 6)); + if (buffer.buffer == NULL) return EC_MemoryExhausted; + + cond = streamRejectReleaseAbortPDU(&pdu, buffer.buffer, pdu.length + 6, &length); if (cond.good()) { do { - nbytes = (*association)->connection ? (*association)->connection->write((char*)b, size_t(pdu.length + 6)) : 0; + nbytes = (*association)->connection ? (*association)->connection->write((char*)buffer.buffer, size_t(pdu.length + 6)) : 0; } while (nbytes == -1 && OFStandard::getLastNetworkErrorCode().value() == DCMNET_EINTR); if ((unsigned long) nbytes != pdu.length + 6) { @@ -2942,7 +2976,6 @@ sendReleaseRPTCP(PRIVATE_ASSOCIATIONKEY ** association) return makeDcmnetCondition(DULC_TCPIOERROR, OF_error, msg.c_str()); } } - if (b != buffer) free(b); return cond; } @@ -3000,7 +3033,7 @@ sendPDataTCP(PRIVATE_ASSOCIATIONKEY ** association, else if (maxLength < 14) { char buf[256]; - sprintf(buf, "DUL Cannot send P-DATA PDU because receiver's max PDU size of %lu is illegal (must be > 12)", maxLength); + OFStandard::snprintf(buf, sizeof(buf), "DUL Cannot send P-DATA PDU because receiver's max PDU size of %lu is illegal (must be > 12)", maxLength); cond = makeDcmnetCondition(DULC_ILLEGALPDULENGTH, OF_error, buf); } else maxLength -= 12; @@ -3072,7 +3105,7 @@ writeDataPDU(PRIVATE_ASSOCIATIONKEY ** association, head[24]; unsigned long length; - int + ssize_t nbytes; /* construct a stream variable that will contain PDU head information */ @@ -3253,7 +3286,7 @@ PRV_NextPDUType(PRIVATE_ASSOCIATIONKEY ** association, DUL_BLOCKOPTIONS block, ** association Handle to the Association ** block Blocking/non-blocking options for reading ** timeout Timeout interval for reading -** buffer Buffer holding the PDU (returned to the caller) +** buffer Buffer holding the PDU (allocated and returned to the caller) ** PDUType Type of the PDU (returned to the caller) ** PDUReserved Reserved field of the PDU (returned to caller) ** PDULength Length of PDU read (returned to caller) @@ -3276,14 +3309,12 @@ PRV_NextPDUType(PRIVATE_ASSOCIATIONKEY ** association, DUL_BLOCKOPTIONS block, static OFCondition readPDU(PRIVATE_ASSOCIATIONKEY ** association, DUL_BLOCKOPTIONS block, - int timeout, unsigned char **buffer, + int timeout, BufferGuard& buffer, unsigned char *pduType, unsigned char *pduReserved, unsigned long *pduLength) { OFCondition cond = EC_Normal; unsigned long maxLength; - - *buffer = NULL; if ((*association)->inputPDU == NO_PDU) { cond = readPDUHead(association, (*association)->pduHead, sizeof((*association)->pduHead), @@ -3303,12 +3334,12 @@ readPDU(PRIVATE_ASSOCIATIONKEY ** association, DUL_BLOCKOPTIONS block, } maxLength = ((*association)->nextPDULength)+100; - *buffer = (unsigned char *)malloc(size_t(maxLength)); - if (*buffer) + buffer.buffer = (unsigned char *)malloc(size_t(maxLength)); + if (buffer.buffer) { - (void) memcpy(*buffer, (*association)->pduHead, sizeof((*association)->pduHead)); + (void) memcpy(buffer.buffer, (*association)->pduHead, sizeof((*association)->pduHead)); cond = readPDUBody(association, block, timeout, - (*buffer) + sizeof((*association)->pduHead), + (buffer.buffer) + sizeof((*association)->pduHead), maxLength - sizeof((*association)->pduHead), pduType, pduReserved, pduLength); } else cond = EC_MemoryExhausted; @@ -3375,7 +3406,7 @@ readPDUHead(PRIVATE_ASSOCIATIONKEY ** association, if ((*PDUType == DUL_TYPEDATA) && (*PDULength > (*association)->maxPDVInput)) { char buf1[256]; - sprintf(buf1, "DUL Illegal PDU Length %ld. Max expected %ld", *PDULength, (*association)->maxPDVInput); + OFStandard::snprintf(buf1, sizeof(buf1), "DUL Illegal PDU Length %ld. Max expected %ld", *PDULength, (*association)->maxPDVInput); cond = makeDcmnetCondition(DULC_ILLEGALPDULENGTH, OF_error, buf1); } } @@ -3519,7 +3550,7 @@ readPDUHeadTCP(PRIVATE_ASSOCIATIONKEY ** association, if (!found) { char buf[256]; - sprintf(buf, "Unrecognized PDU type: %2x", *type); + OFStandard::snprintf(buf, sizeof(buf), "Unrecognized PDU type: %2x", *type); return makeDcmnetCondition(DULC_UNRECOGNIZEDPDUTYPE, OF_error, buf); } @@ -3650,7 +3681,7 @@ defragmentTCP(DcmTransportConnection *connection, DUL_BLOCKOPTIONS block, time_t int timeout, void *p, unsigned long l, unsigned long *rtnLen) { unsigned char *b; - int bytesRead; + ssize_t bytesRead; /* assign buffer to local variable */ b = (unsigned char *) p; @@ -3901,7 +3932,7 @@ translatePresentationContextList(LST_HEAD ** internalList, if (subItem == NULL) { char buf1[256]; - sprintf(buf1, "DUL Peer supplied illegal number of transfer syntaxes (%d)", 0); + OFStandard::snprintf(buf1, sizeof(buf1), "DUL Peer supplied illegal number of transfer syntaxes (%d)", 0); free(userContext); return makeDcmnetCondition(DULC_PEERILLEGALXFERSYNTAXCOUNT, OF_error, buf1); } diff --git a/dcmnet/libsrc/dulparse.cc b/dcmnet/libsrc/dulparse.cc index c5e3373f..020c0fe0 100644 --- a/dcmnet/libsrc/dulparse.cc +++ b/dcmnet/libsrc/dulparse.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2021, OFFIS e.V. + * Copyright (C) 1994-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -159,7 +159,7 @@ parseAssociate(unsigned char *buf, unsigned long pduLength, if ((assoc->protocol & DUL_PROTOCOL) == 0) { char buffer[256]; - sprintf(buffer, "DUL Unsupported peer protocol %04x; expected %04x in %s", assoc->protocol, DUL_PROTOCOL, "parseAssociate"); + OFStandard::snprintf(buffer, sizeof(buffer), "DUL Unsupported peer protocol %04x; expected %04x in %s", assoc->protocol, DUL_PROTOCOL, "parseAssociate"); return makeDcmnetCondition(DULC_UNSUPPORTEDPEERPROTOCOL, OF_error, buffer); } assoc->rsv2[0] = *buf++; @@ -335,7 +335,7 @@ parseSubItem(DUL_SUBITEM * subItem, unsigned char *buf, if (subItem->length > DICOM_UI_LENGTH) { char buffer[256]; - sprintf(buffer, "DUL illegal subitem length %d. Maximum allowed size is %d.", + OFStandard::snprintf(buffer, sizeof(buffer), "DUL illegal subitem length %d. Maximum allowed size is %d.", subItem->length, DICOM_UI_LENGTH); return makeDcmnetCondition(DULC_ILLEGALPDULENGTH, OF_error, buffer); } diff --git a/dcmnet/libsrc/scp.cc b/dcmnet/libsrc/scp.cc index 452c8dd8..eb4aef99 100644 --- a/dcmnet/libsrc/scp.cc +++ b/dcmnet/libsrc/scp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2009-2023, OFFIS e.V. + * Copyright (C) 2009-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -1664,6 +1664,7 @@ OFCondition DcmSCP::receiveSTORERequestDataset(T_ASC_PresentationContextID* pres NULL /*callback*/, NULL /*callbackData*/); } + if (cond.good()) cond = filestream->fclose(); delete filestream; if (cond.good()) { diff --git a/dcmnet/libsrc/scpcfg.cc b/dcmnet/libsrc/scpcfg.cc index 7ccc2c2a..f057d55e 100644 --- a/dcmnet/libsrc/scpcfg.cc +++ b/dcmnet/libsrc/scpcfg.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2012-2020, OFFIS e.V. + * Copyright (C) 2012-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -67,7 +67,8 @@ DcmSCPConfig::DcmSCPConfig(const DcmSCPConfig &old) : m_verbosePCMode(old.m_verbosePCMode), m_connectionTimeout(old.m_connectionTimeout), m_respondWithCalledAETitle(old.m_respondWithCalledAETitle), - m_progressNotificationMode(old.m_progressNotificationMode) + m_progressNotificationMode(old.m_progressNotificationMode), + m_tLayer(old.m_tLayer) { // nothing more to do } @@ -93,6 +94,7 @@ DcmSCPConfig& DcmSCPConfig::operator=(const DcmSCPConfig &obj) m_connectionTimeout = obj.m_connectionTimeout; m_respondWithCalledAETitle = obj.m_respondWithCalledAETitle; m_progressNotificationMode = obj.m_progressNotificationMode; + m_tLayer = obj.m_tLayer; } return *this; } @@ -379,7 +381,7 @@ OFCondition DcmSCPConfig::checkAssociationProfile(const OFString& profileName, const unsigned char *c = OFreinterpret_cast(const unsigned char *, profileName.c_str()); while (*c) { - if (! isspace(*c)) mangledName += OFstatic_cast(char, toupper(*c)); + if (! OFStandard::isspace(*c)) mangledName += OFstatic_cast(char, toupper(*c)); ++c; } /* check profile */ @@ -474,7 +476,7 @@ OFString DcmSCPConfig::mangleProfileName(const OFString& profile) const OFString mangledName; while (*c) { - if (! isspace(*c)) mangledName += OFstatic_cast(char, toupper(*c)); + if (! OFStandard::isspace(*c)) mangledName += OFstatic_cast(char, toupper(*c)); ++c; } return mangledName; diff --git a/dcmnet/libsrc/scu.cc b/dcmnet/libsrc/scu.cc index d32261f7..31d93c11 100644 --- a/dcmnet/libsrc/scu.cc +++ b/dcmnet/libsrc/scu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2008-2023, OFFIS e.V. + * Copyright (C) 2008-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -26,6 +26,7 @@ #include "dcmtk/dcmnet/diutil.h" /* for dcmnet logger */ #include "dcmtk/dcmnet/scu.h" #include "dcmtk/ofstd/ofmem.h" /* for OFunique_ptr */ +#include "dcmtk/ofstd/ofstd.h" #ifdef WITH_ZLIB @@ -55,6 +56,8 @@ DcmSCU::DcmSCU() , m_verbosePCMode(OFFalse) , m_datasetConversionMode(OFFalse) , m_progressNotificationMode(OFTrue) + , m_secureConnectionEnabled(OFFalse) + , m_protocolVersion(ASC_AF_Default) { OFStandard::initializeNetwork(); } @@ -132,6 +135,9 @@ OFCondition DcmSCU::initNetwork() /* structure. The default values are "ANY-SCU" and "ANY-SCP". */ ASC_setAPTitles(m_params, m_ourAETitle.c_str(), m_peerAETitle.c_str(), NULL); + /* sets the IP protocol version */ + ASC_setProtocolFamily(m_params, m_protocolVersion); + /* Figure out the presentation addresses and copy the */ /* corresponding values into the association parameters.*/ DIC_NODENAME peerHost; @@ -149,7 +155,7 @@ OFCondition DcmSCU::initNetwork() DCMNET_ERROR("Maximum length of local host name '" << localHost << "' is longer than maximum of 62 characters"); return EC_IllegalCall; // TODO: need to find better error code } - sprintf(peerHost, "%s:%d", m_peer.c_str(), OFstatic_cast(int, m_peerPort)); + OFStandard::snprintf(peerHost, sizeof(peerHost), "%s:%d", m_peer.c_str(), OFstatic_cast(int, m_peerPort)); ASC_setPresentationAddresses(m_params, localHost.c_str(), peerHost); /* Add presentation contexts */ @@ -173,7 +179,7 @@ OFCondition DcmSCU::initNetwork() const unsigned char* c = OFreinterpret_cast(const unsigned char*, m_assocConfigProfile.c_str()); while (*c) { - if (!isspace(*c)) + if (!OFStandard::isspace(*c)) profileName += OFstatic_cast(char, toupper(*c)); ++c; } @@ -337,6 +343,8 @@ OFCondition DcmSCU::useSecureConnection(DcmTransportLayer* tlayer) OFCondition cond = ASC_setTransportLayer(m_net, tlayer, OFFalse /* do not take over ownership */); if (cond.good()) cond = ASC_setTransportLayerType(m_params, OFTrue /* use TLS */); + + if (cond.good()) m_secureConnectionEnabled = OFTrue; return cond; } @@ -1353,6 +1361,7 @@ OFCondition DcmSCU::handleSTORERequestFile(T_ASC_PresentationContextID* presID, cond = DIMSE_receiveDataSetInFile( m_assoc, m_blockMode, m_dimseTimeout, presID, filestream, NULL /*callback*/, NULL /*callbackData*/); } + if (cond.good()) cond = filestream->fclose(); delete filestream; if (cond != EC_Normal) { @@ -1619,7 +1628,7 @@ OFCondition DcmSCU::sendCANCELRequest(const T_ASC_PresentationContextID presID, if (!isConnected()) return DIMSE_ILLEGALASSOCIATION; - if (msgIDBeingRespondedTo > OFstatic_cast(Sint32,UINT16_MAX) || msgIDBeingRespondedTo < -1) + if (msgIDBeingRespondedTo > 65535 || msgIDBeingRespondedTo < -1) return EC_IllegalParameter; /* Prepare DIMSE data structures for issuing request */ @@ -2593,6 +2602,11 @@ void DcmSCU::setProgressNotificationMode(const OFBool mode) m_progressNotificationMode = mode; } +void DcmSCU::setProtocolVersion(T_ASC_ProtocolFamily protocolVersion) +{ + m_protocolVersion = protocolVersion; +} + /* Get methods */ OFBool DcmSCU::isConnected() const @@ -2607,7 +2621,7 @@ Uint32 DcmSCU::getMaxReceivePDULength() const OFBool DcmSCU::getTLSEnabled() const { - return OFFalse; + return m_secureConnectionEnabled; } T_DIMSE_BlockingMode DcmSCU::getDIMSEBlockingMode() const diff --git a/dcmnet/tests/CMakeLists.txt b/dcmnet/tests/CMakeLists.txt index 54238364..c3567a83 100644 --- a/dcmnet/tests/CMakeLists.txt +++ b/dcmnet/tests/CMakeLists.txt @@ -1,5 +1,5 @@ # declare executables -DCMTK_ADD_EXECUTABLE(dcmnet_tests +DCMTK_ADD_TEST_EXECUTABLE(dcmnet_tests tdimse.cc tdump.cc tests.cc diff --git a/dcmnet/tests/Makefile.dep b/dcmnet/tests/Makefile.dep index c397d05c..7eab719f 100644 --- a/dcmnet/tests/Makefile.dep +++ b/dcmnet/tests/Makefile.dep @@ -6,12 +6,12 @@ tdimse.o: tdimse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -22,7 +22,6 @@ tdimse.o: tdimse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -81,12 +80,12 @@ tdump.o: tdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -97,7 +96,6 @@ tdump.o: tdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -135,6 +133,7 @@ tdump.o: tdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -143,12 +142,11 @@ tdump.o: tdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/dicom.h \ - ../include/dcmtk/dcmnet/cond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ - ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ - ../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \ - ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/assoc.h \ + ../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \ + ../include/dcmtk/dcmnet/dcompat.h ../include/dcmtk/dcmnet/lst.h \ + ../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \ + ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \ + ../include/dcmtk/dcmnet/assoc.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -161,12 +159,12 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -177,7 +175,6 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -214,12 +211,12 @@ tpool.o: tpool.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -230,7 +227,6 @@ tpool.o: tpool.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -267,6 +263,7 @@ tpool.o: tpool.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -332,19 +329,17 @@ tpool.o: tpool.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ - ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ - ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ - ../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \ - ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/dimse.h \ - ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/scpcfg.h \ - ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \ - ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \ - ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \ - ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \ - ../include/dcmtk/dcmnet/scu.h + ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ + ../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \ + ../include/dcmtk/dcmnet/dcompat.h ../include/dcmtk/dcmnet/lst.h \ + ../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \ + ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \ + ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/diutil.h \ + ../include/dcmtk/dcmnet/scpcfg.h ../include/dcmtk/dcmnet/dcasccff.h \ + ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \ + ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \ + ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \ + ../include/dcmtk/dcmnet/dccfprmp.h ../include/dcmtk/dcmnet/scu.h tscuscp.o: tscuscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ @@ -353,12 +348,12 @@ tscuscp.o: tscuscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -369,7 +364,6 @@ tscuscp.o: tscuscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -407,6 +401,7 @@ tscuscp.o: tscuscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -472,19 +467,17 @@ tscuscp.o: tscuscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ - ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ - ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ - ../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \ - ../include/dcmtk/dcmnet/dntypes.h ../include/dcmtk/dcmnet/dimse.h \ - ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/scpcfg.h \ - ../include/dcmtk/dcmnet/dcasccff.h ../include/dcmtk/dcmnet/dcasccfg.h \ - ../include/dcmtk/dcmnet/dccftsmp.h ../include/dcmtk/dcmnet/dccfuidh.h \ - ../include/dcmtk/dcmnet/dccfpcmp.h ../include/dcmtk/dcmnet/dccfrsmp.h \ - ../include/dcmtk/dcmnet/dccfenmp.h ../include/dcmtk/dcmnet/dccfprmp.h \ - ../include/dcmtk/dcmnet/scu.h + ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ + ../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \ + ../include/dcmtk/dcmnet/dcompat.h ../include/dcmtk/dcmnet/lst.h \ + ../include/dcmtk/dcmnet/dul.h ../include/dcmtk/dcmnet/extneg.h \ + ../include/dcmtk/dcmnet/dcuserid.h ../include/dcmtk/dcmnet/dntypes.h \ + ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/diutil.h \ + ../include/dcmtk/dcmnet/scpcfg.h ../include/dcmtk/dcmnet/dcasccff.h \ + ../include/dcmtk/dcmnet/dcasccfg.h ../include/dcmtk/dcmnet/dccftsmp.h \ + ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \ + ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \ + ../include/dcmtk/dcmnet/dccfprmp.h ../include/dcmtk/dcmnet/scu.h tscusession.o: tscusession.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/scp.h ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -501,9 +494,9 @@ tscusession.o: tscusession.cc \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -533,12 +526,12 @@ tscusession.o: tscusession.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -605,9 +598,8 @@ tscusession.o: tscusession.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ + ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ + ../include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ diff --git a/dcmnet/tests/tscuscp.cc b/dcmnet/tests/tscuscp.cc index 478c4d28..3bf0b260 100644 --- a/dcmnet/tests/tscuscp.cc +++ b/dcmnet/tests/tscuscp.cc @@ -30,8 +30,6 @@ #include "dcmtk/dcmnet/scu.h" -static OFLogger t_scuscp_logger= OFLog::getLogger("dcmtk.test.tscuscp"); - /** SCP derived from DcmSCP in order to test two types of virtual methods: *
    *
  • Notifiers: Called for some events happening in DcmSCP. So far diff --git a/dcmpmap/include/dcmtk/dcmpmap/dpmdef.h b/dcmpmap/include/dcmtk/dcmpmap/dpmdef.h index 82f89c09..60f333c8 100644 --- a/dcmpmap/include/dcmtk/dcmpmap/dpmdef.h +++ b/dcmpmap/include/dcmtk/dcmpmap/dpmdef.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,7 @@ #define DPMDEF_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/ofstd/ofdefine.h" +#include "dcmtk/ofstd/ofexport.h" // definitions for DLL/shared library exports diff --git a/dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapbase.h b/dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapbase.h index 6200c6a4..00dee9ab 100644 --- a/dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapbase.h +++ b/dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapbase.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2017, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,17 +23,8 @@ #define DPMPARAMETRICMAPBASE_H #include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmdata/dcfilefo.h" #include "dcmtk/dcmfg/fginterface.h" -#include "dcmtk/dcmfg/fgderimg.h" -#include "dcmtk/dcmfg/fgfracon.h" -#include "dcmtk/dcmfg/fgframeanatomy.h" -#include "dcmtk/dcmfg/fgframevoilut.h" -#include "dcmtk/dcmfg/fgpixeltransform.h" -#include "dcmtk/dcmfg/fgparametricmapframetype.h" -#include "dcmtk/dcmfg/fgpixmsr.h" -#include "dcmtk/dcmfg/fgplanor.h" -#include "dcmtk/dcmfg/fgplanpo.h" -#include "dcmtk/dcmfg/fgrealworldvaluemapping.h" #include "dcmtk/dcmiod/iodimage.h" #include "dcmtk/dcmiod/modacquisitioncontext.h" #include "dcmtk/dcmiod/modcommoninstanceref.h" @@ -53,6 +44,9 @@ #include "dcmtk/dcmpmap/dpmmodparametricmapseries.h" #include "dcmtk/dcmpmap/dpmdef.h" +class DcmFileFormat; +class DcmDataset; + /** Class for managing the Parametric Map IOD attributes. Template parameter defines the type of pixel data * to use: Unsigned or signed 16 bit integer, or 32 bit floating point, or 64 bit floating point data. */ diff --git a/dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapiod.h b/dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapiod.h index 725e5b6e..3df1e1aa 100644 --- a/dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapiod.h +++ b/dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapiod.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2018-2019, Open Connections GmbH + * Copyright (C) 2018-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,7 +23,6 @@ #define DPMPARAMETRICMAPIOD_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmiod/modimagepixelbase.h" #include "dcmtk/dcmpmap/dpmparametricmapbase.h" #include "dcmtk/dcmpmap/dpmtypes.h" diff --git a/dcmpmap/include/dcmtk/dcmpmap/dpmtypes.h b/dcmpmap/include/dcmtk/dcmpmap/dpmtypes.h index e555117a..16c3d4d0 100644 --- a/dcmpmap/include/dcmtk/dcmpmap/dpmtypes.h +++ b/dcmpmap/include/dcmtk/dcmpmap/dpmtypes.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2022, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/oflog/oflog.h" -#include "dcmtk/dcmiod/iodmacro.h" +#include "dcmtk/ofstd/ofcond.h" #include "dcmtk/dcmpmap/dpmdef.h" // ---------------------------------------------------------------------------- diff --git a/dcmpmap/libsrc/Makefile.dep b/dcmpmap/libsrc/Makefile.dep index f0d06fbb..bc9e4670 100644 --- a/dcmpmap/libsrc/Makefile.dep +++ b/dcmpmap/libsrc/Makefile.dep @@ -51,6 +51,7 @@ dpmmodparametricmapimage.o: dpmmodparametricmapimage.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ @@ -61,11 +62,9 @@ dpmmodparametricmapimage.o: dpmmodparametricmapimage.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ @@ -129,6 +128,7 @@ dpmmodparametricmapseries.o: dpmmodparametricmapseries.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ @@ -139,11 +139,9 @@ dpmmodparametricmapseries.o: dpmmodparametricmapseries.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ @@ -155,56 +153,11 @@ dpmmodparametricmapseries.o: dpmmodparametricmapseries.cc \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../include/dcmtk/dcmpmap/dpmdef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h dpmparametricmapbase.o: dpmparametricmapbase.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ @@ -216,8 +169,8 @@ dpmparametricmapbase.o: dpmparametricmapbase.cc \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -227,7 +180,6 @@ dpmparametricmapbase.o: dpmparametricmapbase.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -261,13 +213,13 @@ dpmparametricmapbase.o: dpmparametricmapbase.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ @@ -276,84 +228,28 @@ dpmparametricmapbase.o: dpmparametricmapbase.cc \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../include/dcmtk/dcmpmap/dpmtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../include/dcmtk/dcmpmap/dpmdef.h \ + ../include/dcmtk/dcmpmap/dpmtypes.h ../include/dcmtk/dcmpmap/dpmdef.h \ ../include/dcmtk/dcmpmap/dpmparametricmapbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ ../../dcmfg/include/dcmtk/dcmfg/fg.h \ ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgderimg.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgframevoilut.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgpixeltransform.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgparametricmapframetype.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgpixmsr.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgplanor.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgplanpo.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h \ ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \ ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modfor.h \ @@ -361,19 +257,12 @@ dpmparametricmapbase.o: dpmparametricmapbase.cc \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \ ../../ofstd/include/dcmtk/ofstd/ofvriant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \ - ../../ofstd/include/dcmtk/ofstd/diag/cnvrsn.def \ - ../../ofstd/include/dcmtk/ofstd/diag/vsprfw.def \ - ../../ofstd/include/dcmtk/ofstd/diag/arrybnds.def \ - ../../ofstd/include/dcmtk/ofstd/diag/unrefprm.def \ + ../../ofstd/include/dcmtk/ofstd/diag/stralias.def \ ../../dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h \ ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \ @@ -381,21 +270,22 @@ dpmparametricmapbase.o: dpmparametricmapbase.cc \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \ ../../dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h \ ../include/dcmtk/dcmpmap/dpmmodparametricmapimage.h \ - ../include/dcmtk/dcmpmap/dpmmodparametricmapseries.h + ../include/dcmtk/dcmpmap/dpmmodparametricmapseries.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h dpmparametricmapiod.o: dpmparametricmapiod.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmpmap/dpmparametricmapiod.h \ - ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \ - ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../include/dcmtk/dcmpmap/dpmparametricmapbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -405,8 +295,14 @@ dpmparametricmapiod.o: dpmparametricmapiod.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -432,103 +328,39 @@ dpmparametricmapiod.o: dpmparametricmapiod.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../include/dcmtk/dcmpmap/dpmparametricmapbase.h \ ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmfg/include/dcmtk/dcmfg/fg.h \ ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgderimg.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgframevoilut.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgpixeltransform.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgparametricmapframetype.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgpixmsr.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgplanor.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgplanpo.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \ ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modfor.h \ @@ -536,18 +368,12 @@ dpmparametricmapiod.o: dpmparametricmapiod.cc \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \ + ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \ ../../ofstd/include/dcmtk/ofstd/ofvriant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \ - ../../ofstd/include/dcmtk/ofstd/diag/cnvrsn.def \ - ../../ofstd/include/dcmtk/ofstd/diag/vsprfw.def \ - ../../ofstd/include/dcmtk/ofstd/diag/arrybnds.def \ - ../../ofstd/include/dcmtk/ofstd/diag/unrefprm.def \ + ../../ofstd/include/dcmtk/ofstd/diag/stralias.def \ ../../dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h \ ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \ @@ -559,7 +385,12 @@ dpmparametricmapiod.o: dpmparametricmapiod.cc \ ../include/dcmtk/dcmpmap/dpmmodparametricmapseries.h \ ../include/dcmtk/dcmpmap/dpmtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h dpmtypes.o: dpmtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ @@ -568,8 +399,8 @@ dpmtypes.o: dpmtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -601,88 +432,4 @@ dpmtypes.o: dpmtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../include/dcmtk/dcmpmap/dpmdef.h diff --git a/dcmpmap/libsrc/dpmparametricmapbase.cc b/dcmpmap/libsrc/dpmparametricmapbase.cc index 1b5e9cdf..5505e895 100644 --- a/dcmpmap/libsrc/dpmparametricmapbase.cc +++ b/dcmpmap/libsrc/dpmparametricmapbase.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2021, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,7 +23,7 @@ #include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmpmap/dpmtypes.h" #include "dcmtk/dcmpmap/dpmparametricmapbase.h" - +#include "dcmtk/dcmdata/dcuid.h" DPMParametricMapBase::DPMParametricMapBase() : DPMParametricMapBase::IODImage() diff --git a/dcmpmap/libsrc/dpmparametricmapiod.cc b/dcmpmap/libsrc/dpmparametricmapiod.cc index ae2e4993..9301e3fa 100644 --- a/dcmpmap/libsrc/dpmparametricmapiod.cc +++ b/dcmpmap/libsrc/dpmparametricmapiod.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2023, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -22,6 +22,11 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmpmap/dpmparametricmapiod.h" #include "dcmtk/dcmiod/iodutil.h" +#include "dcmtk/dcmdata/dcvrobow.h" +#include "dcmtk/dcmdata/dcvrfl.h" +#include "dcmtk/dcmdata/dcvrfd.h" +#include "dcmtk/dcmdata/dcuid.h" + // ---------------------------------------------------------------------------- // Class SetImagePixelModuleVisitor: @@ -988,15 +993,16 @@ OFCondition DPMParametricMapIOD::decompress(DcmDataset& dset) // If the original transfer syntax could have been lossy, print warning if (dset.hasRepresentation(EXS_LittleEndianExplicit, NULL)) { - if ( xfer.isEncapsulated() && (xfer != EXS_RLELossless) && (xfer != EXS_DeflatedLittleEndianExplicit) ) + if (xfer.isPixelDataCompressed() && (xfer != EXS_RLELossless)) { DCMPMAP_WARN("Dataset has been compressed using a (possibly) lossy compression scheme (ignored)"); } } - // If the original transfer is encapsulated and we do not already have an uncompressed version, decompress or reject the file - else if (xfer.isEncapsulated()) + // If the original transfer syntax refers to compressed pixel data and we do not + // already have an uncompressed version, decompress or reject the file + else if (xfer.isPixelDataCompressed()) { - // RLE compression is fine (truly lossless). Deflated is handled internally by DCMTK. + // RLE compression is fine (truly lossless) if (xfer == EXS_RLELossless) { DCMPMAP_DEBUG("DICOM file is RLE-compressed, converting to uncompressed transfer syntax first"); diff --git a/dcmpstat/apps/Makefile.dep b/dcmpstat/apps/Makefile.dep index ba1aac09..7364504c 100644 --- a/dcmpstat/apps/Makefile.dep +++ b/dcmpstat/apps/Makefile.dep @@ -21,7 +21,6 @@ dcmmkcrv.o: dcmmkcrv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -56,6 +55,7 @@ dcmmkcrv.o: dcmmkcrv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -169,12 +169,12 @@ dcmmklut.o: dcmmklut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -289,28 +289,39 @@ dcmp2pgm.o: dcmp2pgm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \ - ../include/dcmtk/dcmpstat/dvpstat.h ../include/dcmtk/dcmpstat/dcmpstat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ + ../../dcmnet/include/dcmtk/dcmnet/cond.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmnet/include/dcmtk/dcmnet/lst.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../dcmnet/include/dcmtk/dcmnet/dul.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ + ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ + ../include/dcmtk/dcmpstat/dvpstat.h ../include/dcmtk/dcmpstat/dcmpstat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ @@ -383,24 +394,12 @@ dcmp2pgm.o: dcmp2pgm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h \ ../../ofstd/include/dcmtk/ofstd/ofoption.h \ ../../ofstd/include/dcmtk/ofstd/ofalign.h \ - ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ - ../../dcmnet/include/dcmtk/dcmnet/cond.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ - ../../dcmnet/include/dcmtk/dcmnet/lst.h \ - ../../dcmnet/include/dcmtk/dcmnet/dul.h \ - ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ - ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ - ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ ../../ofstd/include/dcmtk/ofstd/offname.h \ ../include/dcmtk/dcmpstat/dvcache.h ../include/dcmtk/dcmpstat/dvpstx.h \ ../include/dcmtk/dcmpstat/dvpsgr.h ../include/dcmtk/dcmpstat/dvpscu.h \ @@ -462,29 +461,40 @@ dcmprscp.o: dcmprscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmpstat/dviface.h ../include/dcmtk/dcmpstat/dvpscf.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dvpstat.h \ - ../include/dcmtk/dcmpstat/dcmpstat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../include/dcmtk/dcmpstat/dvpstyp.h \ + ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ + ../../dcmnet/include/dcmtk/dcmnet/cond.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmnet/include/dcmtk/dcmnet/lst.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../dcmnet/include/dcmtk/dcmnet/dul.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ + ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ + ../include/dcmtk/dcmpstat/dvpstat.h ../include/dcmtk/dcmpstat/dcmpstat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ @@ -557,24 +567,12 @@ dcmprscp.o: dcmprscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h \ ../../ofstd/include/dcmtk/ofstd/ofoption.h \ ../../ofstd/include/dcmtk/ofstd/ofalign.h \ - ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ - ../../dcmnet/include/dcmtk/dcmnet/cond.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ - ../../dcmnet/include/dcmtk/dcmnet/lst.h \ - ../../dcmnet/include/dcmtk/dcmnet/dul.h \ - ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ - ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ - ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ ../../ofstd/include/dcmtk/ofstd/offname.h \ ../include/dcmtk/dcmpstat/dvcache.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ @@ -635,29 +633,38 @@ dcmprscu.o: dcmprscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmpstat/dviface.h ../include/dcmtk/dcmpstat/dvpscf.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dvpstat.h \ - ../include/dcmtk/dcmpstat/dcmpstat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../include/dcmtk/dcmpstat/dvpstyp.h \ + ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ + ../../dcmnet/include/dcmtk/dcmnet/cond.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmnet/include/dcmtk/dcmnet/lst.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../dcmnet/include/dcmtk/dcmnet/dul.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ + ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ + ../include/dcmtk/dcmpstat/dvpstat.h ../include/dcmtk/dcmpstat/dcmpstat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ @@ -730,22 +737,12 @@ dcmprscu.o: dcmprscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h \ ../../ofstd/include/dcmtk/ofstd/ofoption.h \ ../../ofstd/include/dcmtk/ofstd/ofalign.h \ - ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ - ../../dcmnet/include/dcmtk/dcmnet/cond.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ - ../../dcmnet/include/dcmtk/dcmnet/lst.h \ - ../../dcmnet/include/dcmtk/dcmnet/dul.h \ - ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ - ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ - ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ ../../ofstd/include/dcmtk/ofstd/offname.h \ ../include/dcmtk/dcmpstat/dvcache.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ @@ -804,7 +801,6 @@ dcmpschk.o: dcmpschk.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -839,6 +835,7 @@ dcmpschk.o: dcmpschk.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -906,7 +903,6 @@ dcmpschk.o: dcmpschk.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ @@ -928,12 +924,12 @@ dcmpsmk.o: dcmpsmk.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -944,7 +940,6 @@ dcmpsmk.o: dcmpsmk.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -979,6 +974,7 @@ dcmpsmk.o: dcmpsmk.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1046,7 +1042,6 @@ dcmpsmk.o: dcmpsmk.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ @@ -1099,28 +1094,39 @@ dcmpsprt.o: dcmpsprt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \ - ../include/dcmtk/dcmpstat/dvpstat.h ../include/dcmtk/dcmpstat/dcmpstat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ + ../../dcmnet/include/dcmtk/dcmnet/cond.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmnet/include/dcmtk/dcmnet/lst.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../dcmnet/include/dcmtk/dcmnet/dul.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ + ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ + ../include/dcmtk/dcmpstat/dvpstat.h ../include/dcmtk/dcmpstat/dcmpstat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ @@ -1193,24 +1199,12 @@ dcmpsprt.o: dcmpsprt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h \ ../../ofstd/include/dcmtk/ofstd/ofoption.h \ ../../ofstd/include/dcmtk/ofstd/ofalign.h \ - ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ - ../../dcmnet/include/dcmtk/dcmnet/cond.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ - ../../dcmnet/include/dcmtk/dcmnet/lst.h \ - ../../dcmnet/include/dcmtk/dcmnet/dul.h \ - ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ - ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ - ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ ../../ofstd/include/dcmtk/ofstd/offname.h \ ../include/dcmtk/dcmpstat/dvcache.h ../include/dcmtk/dcmpstat/dvpssp.h \ ../include/dcmtk/dcmpstat/dvpspll.h ../include/dcmtk/dcmpstat/dvpsibl.h \ @@ -1250,9 +1244,9 @@ dcmpsrcv.o: dcmpsrcv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1274,34 +1268,39 @@ dcmpsrcv.o: dcmpsrcv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmpstat/dvpstyp.h \ - ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/stringop.def \ - ../../ofstd/include/dcmtk/ofstd/diag/restrict.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmnet/include/dcmtk/dcmnet/diutil.h \ + ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmnet/include/dcmtk/dcmnet/lst.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../dcmnet/include/dcmtk/dcmnet/dul.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ + ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ + ../../ofstd/include/dcmtk/ofstd/diag/stringop.def \ + ../../ofstd/include/dcmtk/ofstd/diag/restrict.def \ + ../../dcmnet/include/dcmtk/dcmnet/diutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ @@ -1311,12 +1310,6 @@ dcmpsrcv.o: dcmpsrcv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ - ../../dcmnet/include/dcmtk/dcmnet/lst.h \ - ../../dcmnet/include/dcmtk/dcmnet/dul.h \ - ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ - ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ - ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ @@ -1413,9 +1406,9 @@ dcmpssnd.o: dcmpssnd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1437,39 +1430,44 @@ dcmpssnd.o: dcmpssnd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmpstat/dvpstyp.h \ - ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ + ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ + ../../dcmnet/include/dcmtk/dcmnet/cond.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/stringop.def \ - ../../ofstd/include/dcmtk/ofstd/diag/restrict.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmnet/include/dcmtk/dcmnet/lst.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../dcmnet/include/dcmtk/dcmnet/dul.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ + ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ + ../../ofstd/include/dcmtk/ofstd/diag/stringop.def \ + ../../ofstd/include/dcmtk/ofstd/diag/restrict.def \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../dcmnet/include/dcmtk/dcmnet/diutil.h \ - ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ - ../../dcmnet/include/dcmtk/dcmnet/cond.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ @@ -1477,12 +1475,6 @@ dcmpssnd.o: dcmpssnd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ - ../../dcmnet/include/dcmtk/dcmnet/lst.h \ - ../../dcmnet/include/dcmtk/dcmnet/dul.h \ - ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ - ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ - ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ diff --git a/dcmpstat/apps/dcmmklut.cc b/dcmpstat/apps/dcmmklut.cc index 044a17b3..bf852149 100644 --- a/dcmpstat/apps/dcmmklut.cc +++ b/dcmpstat/apps/dcmmklut.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2023, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -135,7 +135,7 @@ static OFCondition readTextFile(const char *filename, { while (file.get(c) && (c != '\n') && (c != '\r')); // skip comments } - else if (!isspace(OFstatic_cast(unsigned char, c))) // skip whitespaces + else if (!OFStandard::isspace(c)) // skip whitespaces { file.putback(c); if (inputEntries == 0) // read number of entries @@ -284,7 +284,8 @@ static OFCondition convertInputLUT(const unsigned int numberOfBits, const unsigned int order, Uint16 *outputData, OFString &header, - char *explanation) + char *explanation, + size_t explanation_len) { OFCondition result = EC_IllegalCall; if ((inputXData != NULL) && (inputYData != NULL) && (inputEntries > 0) && (inputYMax > 0) && (outputData != NULL)) @@ -294,7 +295,7 @@ static OFCondition convertInputLUT(const unsigned int numberOfBits, { if (strlen(explanation) == 0) { - sprintf(explanation, "LUT created from %u->%u bit data, descriptor %u/%ld/%u", + OFStandard::snprintf(explanation, explanation_len, "LUT created from %u->%u bit data, descriptor %u/%ld/%u", DicomImageClass::tobits((int)inputXMax), DicomImageClass::tobits((int)inputYMax), (numberOfEntries < 65536) ? (Uint16)numberOfEntries : 0, firstMapped, numberOfBits); } @@ -364,7 +365,8 @@ static void gammaLUT(const unsigned int numberOfBits, const double gammaValue, Uint16 *outputData, OFString &header, - char *explanation) + char *explanation, + size_t explanation_len) { if (outputData != NULL) { @@ -376,8 +378,7 @@ static void gammaLUT(const unsigned int numberOfBits, { char gammabuf[16]; OFStandard::ftoa(gammabuf, sizeof(gammabuf), gammaValue, OFStandard::ftoa_format_f, 3, 1); - - sprintf(explanation, "LUT with gamma %s, descriptor %u/%ld/%u", gammabuf, + OFStandard::snprintf(explanation, explanation_len, "LUT with gamma %s, descriptor %u/%ld/%u", gammabuf, (numberOfEntries < 65536) ? (Uint16)numberOfEntries : 0, firstMapped, numberOfBits); } oss << "# " << explanation << OFendl; @@ -893,7 +894,7 @@ int main(int argc, char *argv[]) { char explStr[1024]; if (opt_explanation != NULL) - OFStandard::strlcpy(explStr, opt_explanation, 1024); + OFStandard::strlcpy(explStr, opt_explanation, sizeof(explStr)); else explStr[0] = 0; OFString headerStr; @@ -905,22 +906,22 @@ int main(int argc, char *argv[]) if (readMapFile(opt_mapName, inputXData, inputYData, inputEntries, inputXMax, inputYMax) == EC_Normal) { result = convertInputLUT((unsigned int)opt_bits, opt_entries, opt_firstMapped, inputXData, inputYData, inputEntries, - inputXMax, inputYMax, (unsigned int)opt_order, outputData, headerStr, explStr); + inputXMax, inputYMax, (unsigned int)opt_order, outputData, headerStr, explStr, sizeof(explStr)); } else if (readTextFile(opt_textName, inputXData, inputYData, inputEntries, inputXMax, inputYMax) == EC_Normal) { result = convertInputLUT((unsigned int)opt_bits, opt_entries, opt_firstMapped, inputXData, inputYData, inputEntries, - inputXMax, inputYMax, (unsigned int)opt_order, outputData, headerStr, explStr); + inputXMax, inputYMax, (unsigned int)opt_order, outputData, headerStr, explStr, sizeof(explStr)); } else { - gammaLUT((unsigned int)opt_bits, opt_entries, opt_firstMapped, opt_byteAlign, opt_gammaValue, outputData, headerStr, explStr); + gammaLUT((unsigned int)opt_bits, opt_entries, opt_firstMapped, opt_byteAlign, opt_gammaValue, outputData, headerStr, explStr, sizeof(explStr)); } if (result == EC_Normal) { if (opt_inverseGSDF) applyInverseGSDF((unsigned int)opt_bits, opt_entries, opt_byteAlign, (unsigned int)opt_minDensity, (unsigned int)opt_maxDensity, - (unsigned int)opt_illumination, (unsigned int)opt_reflection, outputData, headerStr, explStr, 1024); + (unsigned int)opt_illumination, (unsigned int)opt_reflection, outputData, headerStr, explStr, sizeof(explStr)); if (opt_randomCount > 0) - mixingUpLUT(opt_entries, opt_byteAlign, opt_randomCount, (Uint32)opt_randomSeed, outputData, explStr, 1024); + mixingUpLUT(opt_entries, opt_byteAlign, opt_randomCount, (Uint32)opt_randomSeed, outputData, explStr, sizeof(explStr)); result = createLUT((unsigned int)opt_bits, opt_entries, opt_firstMapped, opt_byteAlign, opt_lutVR, *ditem, outputData, explStr); } @@ -971,7 +972,7 @@ int main(int argc, char *argv[]) { // search existing sequence DcmStack stack; - if (EC_Normal == dataset->search(DCM_PresentationLUTSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dataset->search(DCM_PresentationLUTSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) dseq=(DcmSequenceOfItems *)stack.top(); } if (dseq == NULL) @@ -992,7 +993,7 @@ int main(int argc, char *argv[]) { // search existing sequence DcmStack stack; - if (EC_Normal == dataset->search(DCM_VOILUTSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dataset->search(DCM_VOILUTSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) dseq=(DcmSequenceOfItems *)stack.top(); } if (dseq == NULL) diff --git a/dcmpstat/apps/dcmp2pgm.cc b/dcmpstat/apps/dcmp2pgm.cc index be913140..31148a5a 100644 --- a/dcmpstat/apps/dcmp2pgm.cc +++ b/dcmpstat/apps/dcmp2pgm.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2023, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -36,6 +36,7 @@ #include "dcmtk/ofstd/ofcmdln.h" #include "dcmtk/ofstd/ofconapp.h" #include "dcmtk/dcmdata/dcuid.h" /* for dcmtk version name */ +#include "dcmtk/ofstd/ofstd.h" #ifdef WITH_ZLIB #include /* for zlibVersion() */ @@ -352,7 +353,7 @@ static void dumpPresentationState(DVPresentationState &ps) { oss << " columns=" << overlayWidth << " rows=" << overlayHeight << " left=" << overlayLeft << " top=" << overlayTop << OFendl; - sprintf(overlayfile, "ovl_%02d%02d.pgm", (int)layer+1, (int)ovlidx+1); + OFStandard::snprintf(overlayfile, sizeof(overlayfile), "ovl_%02d%02d.pgm", (int)layer+1, (int)ovlidx+1); oss << " filename=\"" << overlayfile << "\""; ofile = fopen(overlayfile, "wb"); @@ -363,7 +364,7 @@ static void dumpPresentationState(DVPresentationState &ps) oss << " - written." << OFendl; else oss << " -write error-" << OFendl; - fclose(ofile); + if (fclose(ofile)) oss << "Error while closing the file, content may be incomplete." << OFendl;; } else oss << " -write error-" << OFendl; } else { oss << " unable to access overlay data!" << OFendl; @@ -544,9 +545,9 @@ int main(int argc, char *argv[]) { OFLOG_DEBUG(dcmp2pgmLogger, "writing PGM file: " << opt_pgmName); fprintf(outfile, "P5\n%ld %ld 255\n", width, height); - if (fwrite(pixelData, OFstatic_cast(size_t, width), OFstatic_cast(size_t, height), outfile) != OFstatic_cast(size_t, height)) + if (fwrite(pixelData, OFstatic_cast(size_t, width), OFstatic_cast(size_t, height), outfile) != OFstatic_cast(size_t, height) + || fclose(outfile) != 0) OFLOG_FATAL(dcmp2pgmLogger, "Can't write output data to file."); - fclose(outfile); } else { OFLOG_FATAL(dcmp2pgmLogger, "Can't create output file."); return 10; diff --git a/dcmpstat/apps/dcmprscp.cc b/dcmpstat/apps/dcmprscp.cc index 01ec2a72..77f4ca5a 100644 --- a/dcmpstat/apps/dcmprscp.cc +++ b/dcmpstat/apps/dcmprscp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2023, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -39,6 +39,7 @@ END_EXTERN_C #include "dcmtk/dcmpstat/dvpsprt.h" #include "dcmtk/dcmpstat/dvpshlp.h" #include "dcmtk/oflog/fileap.h" +#include "dcmtk/ofstd/ofstd.h" #ifdef WITH_OPENSSL #include "dcmtk/dcmtls/tlstrans.h" @@ -66,26 +67,11 @@ static void cleanChildren() { #ifdef HAVE_WAITPID int stat_loc; -#elif defined(HAVE_WAIT3) - struct rusage rusage; -#if defined(__NeXT__) - /* some systems need a union wait as argument to wait3 */ - union wait status; -#else - int status; -#endif -#endif - -#if defined(HAVE_WAITPID) || defined(HAVE_WAIT3) int child = 1; int options = WNOHANG; while (child > 0) { -#ifdef HAVE_WAITPID child = (int)(waitpid(-1, &stat_loc, options)); -#elif defined(HAVE_WAIT3) - child = wait3(&status, options, &rusage); -#endif if (child < 0) { if (errno != ECHILD) @@ -463,7 +449,7 @@ int main(int argc, char *argv[]) { aString = logfileprefix; aString += "_"; - sprintf(logcounterbuf, "%04ld", ++logcounter); + OFStandard::snprintf(logcounterbuf, sizeof(logcounterbuf), "%04ld", ++logcounter); aString += logcounterbuf; aString += ".dcm"; printSCP.setDimseLogPath(aString.c_str()); diff --git a/dcmpstat/apps/dcmprscu.cc b/dcmpstat/apps/dcmprscu.cc index 20366cf2..94659cf1 100644 --- a/dcmpstat/apps/dcmprscu.cc +++ b/dcmpstat/apps/dcmprscu.cc @@ -1,5 +1,5 @@ /* - * Copyright (C) 1999-2023, OFFIS e.V. + * Copyright (C) 1999-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,15 +30,9 @@ BEGIN_EXTERN_C #else #define dirent direct #define NAMELEN(dirent) (dirent)->d_namlen -#ifdef HAVE_SYS_NDIR_H -#include -#endif #ifdef HAVE_SYS_DIR_H #include #endif -#ifdef HAVE_NDIR_H -#include -#endif #endif #ifdef HAVE_IO_H #include @@ -110,6 +104,7 @@ static OFBool targetSupports12bit = OFTrue; static OFBool targetPLUTinFilmSession = OFFalse; static OFBool targetRequiresMatchingLUT = OFTrue; static OFBool targetPreferSCPLUTRendering = OFFalse; +static T_ASC_ProtocolFamily targetProtocol = ASC_AF_Default; static OFBool deletePrintJobs = OFFalse; static OFBool deleteTerminateJobs = OFFalse; static OFBool useTLS = OFFalse; @@ -221,7 +216,7 @@ static OFCondition spoolStoredPrintFile( result = printHandler.negotiateAssociation( tlayer, dvi.getNetworkAETitle(), - targetAETitle, targetHostname, targetPort, targetMaxPDU, + targetAETitle, targetHostname, targetPort, targetProtocol, targetMaxPDU, targetSupportsPLUT, targetSupportsAnnotation, targetImplicitOnly); if (result.bad()) @@ -395,7 +390,7 @@ static OFBool readValuePair(FILE *infile, OFString& key, OFString& value) { c = fgetc(infile); if ((c==EOF)||(c==13)||(c==10)) finished = OFTrue; - else if (isspace(c)) + else if (OFStandard::isspace(OFstatic_cast(char, c))) { if (mode==1) mode=2; else if (mode==3) value += (char)c; @@ -801,6 +796,7 @@ int main(int argc, char *argv[]) targetPLUTinFilmSession = dvi.getTargetPrinterPresentationLUTinFilmSession(opt_printer); targetRequiresMatchingLUT = dvi.getTargetPrinterPresentationLUTMatchRequired(opt_printer); targetPreferSCPLUTRendering = dvi.getTargetPrinterPresentationLUTPreferSCPRendering(opt_printer); + targetProtocol = dvi.getTargetProtocol(opt_printer); deletePrintJobs = dvi.getSpoolerDeletePrintJobs(); deleteTerminateJobs = dvi.getSpoolerAlwaysDeleteTerminateJobs(); useTLS = dvi.getTargetUseTLS(opt_printer); @@ -999,6 +995,12 @@ int main(int argc, char *argv[]) OFLOG_INFO(dcmprscuLogger, " options : disable post-1993 VRs"); else OFLOG_INFO(dcmprscuLogger, " options : none"); + + if (targetProtocol == ASC_AF_INET) OFLOG_INFO(dcmprscuLogger, " protocol version: IPv4 only"); + else if (targetProtocol == ASC_AF_INET6) OFLOG_INFO(dcmprscuLogger, " protocol version: IPv6 only"); + else if (targetProtocol == ASC_AF_UNSPEC) OFLOG_INFO(dcmprscuLogger, " protocol version: determined via DNS"); + else OFLOG_INFO(dcmprscuLogger, " protocol version: default"); + OFLOG_INFO(dcmprscuLogger, " 12-bit xfer : " << (targetSupports12bit ? "supported" : "not supported")); OFLOG_INFO(dcmprscuLogger, " present.lut : " << (targetSupportsPLUT ? "supported" : "not supported")); OFLOG_INFO(dcmprscuLogger, " annotation : " << (targetSupportsAnnotation ? "supported" : "not supported")); diff --git a/dcmpstat/apps/dcmpschk.cc b/dcmpstat/apps/dcmpschk.cc index ada6b164..697c2f4e 100644 --- a/dcmpstat/apps/dcmpschk.cc +++ b/dcmpstat/apps/dcmpschk.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2023, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -28,6 +28,7 @@ #include "dcmtk/dcmdata/dctk.h" /* for class DcmDataset */ #include "dcmtk/dcmnet/dul.h" #include "dcmtk/dcmpstat/dcmpstat.h" /* for DcmPresentationState */ +#include "dcmtk/ofstd/ofstd.h" #ifdef WITH_ZLIB #include /* for zlibVersion() */ @@ -122,7 +123,7 @@ static void printResult( if (dobj != NULL && dobj->getTag() != DCM_Item) { char buf[128]; - sprintf(buf, "(%04x,%04x).", + OFStandard::snprintf(buf, sizeof(buf), "(%04x,%04x).", (unsigned)dobj->getGTag(), (unsigned)dobj->getETag()); tmp += buf; @@ -167,13 +168,13 @@ static const char* streamvm(const DcmDictEntry *e) { static char buf[256]; if (e->isFixedSingleVM()) { - sprintf(buf, "%d", e->getVMMax()); + OFStandard::snprintf(buf, sizeof(buf), "%d", e->getVMMax()); } else if (e->isVariableRangeVM()) { - sprintf(buf, "%d-n", e->getVMMin()); + OFStandard::snprintf(buf, sizeof(buf), "%d-n", e->getVMMin()); } else if (e->isFixedRangeVM()){ - sprintf(buf, "%d-%d", e->getVMMin(), e->getVMMax()); + OFStandard::snprintf(buf, sizeof(buf), "%d-%d", e->getVMMin(), e->getVMMax()); } else { - sprintf(buf, "?(%d-%d)?", e->getVMMin(), e->getVMMax()); + OFStandard::snprintf(buf, sizeof(buf), "?(%d-%d)?", e->getVMMin(), e->getVMMax()); } return buf; } @@ -186,15 +187,15 @@ static const char* streamLengthOfValue(DcmVR& vr) Uint32 undefLen = DCM_UndefinedLength; if (min==max) { - sprintf(buf, "%d bytes fixed length", (int)min); + OFStandard::snprintf(buf, sizeof(buf), "%d bytes fixed length", (int)min); } else if (min==0) { if (max==undefLen) { - sprintf(buf, "unrestricted length"); + OFStandard::snprintf(buf, sizeof(buf), "unrestricted length"); } else { - sprintf(buf, "%d bytes maximum", (int)max); + OFStandard::snprintf(buf, sizeof(buf), "%d bytes maximum", (int)max); } } else { - sprintf(buf, "range %d-%d bytes length", (int)min, (int)max); + OFStandard::snprintf(buf, sizeof(buf), "range %d-%d bytes length", (int)min, (int)max); } return buf; } @@ -652,7 +653,11 @@ static OFString printAttribute( OFOStringStream str; ec = dset->search(key, stack, ESM_fromHere, OFFalse); - elem = (DcmElement*) stack.top(); + if (ec.good() && stack.top()->isElement()) + { + elem = (DcmElement*) stack.top(); + } + if (elem) elem->print(str, DCMTypes::PF_shortenLongTagValues); else diff --git a/dcmpstat/apps/dcmpsrcv.cc b/dcmpstat/apps/dcmpsrcv.cc index 379834a2..4e765479 100644 --- a/dcmpstat/apps/dcmpsrcv.cc +++ b/dcmpstat/apps/dcmpsrcv.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1999-2023, OFFIS e.V. + * Copyright (C) 1999-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -95,26 +95,11 @@ static void cleanChildren() { #ifdef HAVE_WAITPID int stat_loc; -#elif defined(HAVE_WAIT3) - struct rusage rusage; -#if defined(__NeXT__) - /* some systems need a union wait as argument to wait3 */ - union wait status; -#else - int status; -#endif -#endif - -#if defined(HAVE_WAITPID) || defined(HAVE_WAIT3) int child = 1; int options = WNOHANG; while (child > 0) { -#ifdef HAVE_WAITPID child = (int)(waitpid(-1, &stat_loc, options)); -#elif defined(HAVE_WAIT3) - child = wait3(&status, options, &rusage); -#endif if (child < 0) { if (errno != ECHILD) diff --git a/dcmpstat/apps/dcmpssnd.cc b/dcmpstat/apps/dcmpssnd.cc index 64263d46..6877b1d3 100644 --- a/dcmpstat/apps/dcmpssnd.cc +++ b/dcmpstat/apps/dcmpssnd.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1999-2023, OFFIS e.V. + * Copyright (C) 1999-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -417,6 +417,7 @@ int main(int argc, char *argv[]) const char *targetDescription = dvi.getTargetDescription(opt_target); const char *targetAETitle = dvi.getTargetAETitle(opt_target); unsigned short targetPort = dvi.getTargetPort(opt_target); + T_ASC_ProtocolFamily targetProtocol = dvi.getTargetProtocol(opt_target); unsigned long targetMaxPDU = dvi.getTargetMaxPDU(opt_target); OFBool targetImplicitOnly = dvi.getTargetImplicitOnly(opt_target); OFBool targetDisableNewVRs = dvi.getTargetDisableNewVRs(opt_target); @@ -543,7 +544,12 @@ int main(int argc, char *argv[]) else if (targetImplicitOnly) verboseParameters << "implicit xfer syntax only"; else if (targetDisableNewVRs) verboseParameters << "disable post-1993 VRs"; else verboseParameters << "none"; - verboseParameters << OFendl; + verboseParameters << OFendl << "\tprotocol version: "; + + if (targetProtocol == ASC_AF_INET) verboseParameters << "IPv4 only" << OFendl; + else if (targetProtocol == ASC_AF_INET6) verboseParameters << "IPv6 only" << OFendl; + else if (targetProtocol == ASC_AF_UNSPEC) verboseParameters << "determined via DNS" << OFendl; + else verboseParameters << "default" << OFendl; verboseParameters << "\tTLS : "; if (useTLS) verboseParameters << "enabled" << OFendl; else verboseParameters << "disabled" << OFendl; @@ -714,8 +720,9 @@ int main(int argc, char *argv[]) } ASC_setAPTitles(params, dvi.getNetworkAETitle(), targetAETitle, NULL); + ASC_setProtocolFamily(params, targetProtocol); - sprintf(peerHost, "%s:%d", targetHostname, (int)targetPort); + OFStandard::snprintf(peerHost, sizeof(peerHost), "%s:%d", targetHostname, (int)targetPort); ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost); cond = addAllStoragePresentationContexts(params, targetImplicitOnly); diff --git a/dcmpstat/data/CMakeLists.txt b/dcmpstat/data/CMakeLists.txt index b00b7cf5..83525219 100644 --- a/dcmpstat/data/CMakeLists.txt +++ b/dcmpstat/data/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES philips.lut DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}" COMPONENT data) +install(FILES philips.lut DESTINATION "${CMAKE_INSTALL_DATADIR}" COMPONENT data) diff --git a/dcmpstat/docs/dcmmkcrv.man b/dcmpstat/docs/dcmmkcrv.man index 598acf99..ea26aa01 100644 --- a/dcmpstat/docs/dcmmkcrv.man +++ b/dcmpstat/docs/dcmmkcrv.man @@ -178,6 +178,6 @@ It is an error if no data dictionary can be loaded. \section dcmmkcrv_copyright COPYRIGHT -Copyright (C) 1998-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1998-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmpstat/docs/dcmmklut.man b/dcmpstat/docs/dcmmklut.man index abab05fb..59dd270e 100644 --- a/dcmpstat/docs/dcmmklut.man +++ b/dcmpstat/docs/dcmmklut.man @@ -248,6 +248,6 @@ It is an error if no data dictionary can be loaded. \section dcmmklut_copyright COPYRIGHT -Copyright (C) 1998-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1998-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmpstat/docs/dcmp2pgm.man b/dcmpstat/docs/dcmp2pgm.man index af24b90e..bb80a727 100644 --- a/dcmpstat/docs/dcmp2pgm.man +++ b/dcmpstat/docs/dcmp2pgm.man @@ -170,6 +170,6 @@ It is an error if no data dictionary can be loaded. \section dcmp2pgm_copyright COPYRIGHT -Copyright (C) 1998-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1998-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmpstat/docs/dcmprscp.man b/dcmpstat/docs/dcmprscp.man index d3b263f3..15f66117 100644 --- a/dcmpstat/docs/dcmprscp.man +++ b/dcmpstat/docs/dcmprscp.man @@ -141,6 +141,6 @@ It is an error if no data dictionary can be loaded. \section dcmprscp_copyright COPYRIGHT -Copyright (C) 1999-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1999-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmpstat/docs/dcmprscu.man b/dcmpstat/docs/dcmprscu.man index a8aebdca..5d1575e1 100644 --- a/dcmpstat/docs/dcmprscu.man +++ b/dcmpstat/docs/dcmprscu.man @@ -201,6 +201,6 @@ It is an error if no data dictionary can be loaded. \section dcmprscu_copyright COPYRIGHT -Copyright (C) 1999-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1999-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmpstat/docs/dcmpschk.man b/dcmpstat/docs/dcmpschk.man index be2c15c7..0c813c07 100644 --- a/dcmpstat/docs/dcmpschk.man +++ b/dcmpstat/docs/dcmpschk.man @@ -131,6 +131,6 @@ It is an error if no data dictionary can be loaded. \section dcmpschk_copyright COPYRIGHT -Copyright (C) 2000-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2000-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmpstat/docs/dcmpsmk.man b/dcmpstat/docs/dcmpsmk.man index 8cd49d63..17e300bf 100644 --- a/dcmpstat/docs/dcmpsmk.man +++ b/dcmpstat/docs/dcmpsmk.man @@ -245,6 +245,6 @@ It is an error if no data dictionary can be loaded. \section dcmpsmk_copyright COPYRIGHT -Copyright (C) 1998-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1998-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmpstat/docs/dcmpsprt.man b/dcmpstat/docs/dcmpsprt.man index 15d09110..50ddf9fc 100644 --- a/dcmpstat/docs/dcmpsprt.man +++ b/dcmpstat/docs/dcmpsprt.man @@ -313,6 +313,6 @@ configuration files \section dcmpsprt_copyright COPYRIGHT -Copyright (C) 1999-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1999-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmpstat/docs/dcmpsrcv.man b/dcmpstat/docs/dcmpsrcv.man index daa039c3..21a9552b 100644 --- a/dcmpstat/docs/dcmpsrcv.man +++ b/dcmpstat/docs/dcmpsrcv.man @@ -130,6 +130,6 @@ It is an error if no data dictionary can be loaded. \section dcmpsrcv_copyright COPYRIGHT -Copyright (C) 1998-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1998-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmpstat/docs/dcmpssnd.man b/dcmpstat/docs/dcmpssnd.man index 01ad8cbf..7f48ba44 100644 --- a/dcmpstat/docs/dcmpssnd.man +++ b/dcmpstat/docs/dcmpssnd.man @@ -138,6 +138,6 @@ It is an error if no data dictionary can be loaded. \section dcmpssnd_copyright COPYRIGHT -Copyright (C) 1998-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1998-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmpstat/etc/CMakeLists.txt b/dcmpstat/etc/CMakeLists.txt index 24d822f7..d9902c28 100644 --- a/dcmpstat/etc/CMakeLists.txt +++ b/dcmpstat/etc/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES dcmpstat.cfg printers.cfg DESTINATION "${CMAKE_INSTALL_FULL_SYSCONFDIR}" COMPONENT etc) +install(FILES dcmpstat.cfg printers.cfg DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}" COMPONENT etc) diff --git a/dcmpstat/etc/dcmpstat.cfg b/dcmpstat/etc/dcmpstat.cfg index 8b93771c..a64f30f3 100644 --- a/dcmpstat/etc/dcmpstat.cfg +++ b/dcmpstat/etc/dcmpstat.cfg @@ -1,5 +1,5 @@ # -# Copyright (C) 1998-2022, OFFIS e.V. +# Copyright (C) 1998-2024, OFFIS e.V. # All rights reserved. See COPYRIGHT file for details. # # This software and supporting documentation were developed by @@ -396,6 +396,14 @@ WarnUnsignedObjectsInSR = true # # ---------------------------------------------------------------------------- # +# IP protocol family to be used. Permitted values are AF_INET (IPv4 only), +# AF_INET6 (IPv6 only) and AF_UNSPEC (use DNS lookup to determine protocol). +# Optional setting, default is AF_INET. +# +# protocol = AF_INET +# +# ---------------------------------------------------------------------------- +# # Human readable description of the communication partner. Used in the GUI to # present the communication partner to the application user in selection boxes. # @@ -926,6 +934,7 @@ Type = STORAGE Aetitle = STORESCP Description = Hostname, insecure transmission Hostname = Hostname +Protocol = AF_INET MaxPDU = 32768 Port = 10004 ImplicitOnly = false @@ -938,6 +947,7 @@ Type = STORAGE Aetitle = STORESCP Description = Hostname, TLS transmission, no encryption Hostname = Hostname +Protocol = AF_INET MaxPDU = 32768 Port = 10007 ImplicitOnly = false @@ -956,6 +966,7 @@ Type = STORAGE Aetitle = STORESCP Description = Hostname, TLS transmission, with encryption Hostname = Hostname +Protocol = AF_INET MaxPDU = 32768 Port = 10007 ImplicitOnly = false diff --git a/dcmpstat/include/dcmtk/dcmpstat/dvpscf.h b/dcmpstat/include/dcmtk/dcmpstat/dvpscf.h index 028fe0d7..155769f0 100644 --- a/dcmpstat/include/dcmtk/dcmpstat/dvpscf.h +++ b/dcmpstat/include/dcmtk/dcmpstat/dvpscf.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2018, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,7 @@ #include "dcmtk/dcmdata/dctypes.h" /* for Uint32 */ #include "dcmtk/dcmpstat/dvpstyp.h" /* for DVPS enums */ #include "dcmtk/dcmpstat/dpdefine.h" +#include "dcmtk/dcmnet/assoc.h" /* for T_ASC_ProtocolFamily */ class OFConfigFile; @@ -95,6 +96,14 @@ class DCMTK_DCMPSTAT_EXPORT DVConfiguration */ unsigned short getTargetPort(const char *targetID); + /** returns the PROTOCOL entry for the communication partner with the given + * target ID from the configuration file. + * @param targetID communication target ID, must be one of the target + * identifiers returned by getTargetID(). + * @return entry if present and parsable in the config file, ASC_AF_Default otherwise. + */ + T_ASC_ProtocolFamily getTargetProtocol(const char *targetID); + /** returns the TYPE entry for the communication partner with the given * target ID from the configuration file. * @param targetID communication target ID, must be one of the target diff --git a/dcmpstat/include/dcmtk/dcmpstat/dvpspr.h b/dcmpstat/include/dcmtk/dcmpstat/dvpspr.h index 4eabb36e..96f8ff10 100644 --- a/dcmpstat/include/dcmtk/dcmpstat/dvpspr.h +++ b/dcmpstat/include/dcmtk/dcmpstat/dvpspr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2012, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -175,6 +175,7 @@ public: * @param peerAEtitle the printer's called aetitle * @param peerHost hostname/IP address of the printer * @param peerPort port number of the printer + * @param protocolFamily protocol family (AF_INET, AF_INET6, AF_UNSPEC or -1 for default) * @param peerMaxPDU maximum PDU size to negotiate, must be between 8192 and 65536. * @param negotiatePresentationLUT if true, Presentation LUT SOP Class is negotiated * @param negotiateAnnotationBox if true, Basic Annotation Box SOP Class is negotiated @@ -189,6 +190,7 @@ public: const char *peerAEtitle, const char *peerHost, int peerPort, + T_ASC_ProtocolFamily protocolFamily, long peerMaxPDU, OFBool negotiatePresentationLUT, OFBool negotiateAnnotationBox, diff --git a/dcmpstat/libsrc/CMakeLists.txt b/dcmpstat/libsrc/CMakeLists.txt index 7a23b1c6..4e021720 100644 --- a/dcmpstat/libsrc/CMakeLists.txt +++ b/dcmpstat/libsrc/CMakeLists.txt @@ -49,6 +49,6 @@ DCMTK_ADD_LIBRARY(dcmpstat DCMTK_TARGET_LINK_MODULES(dcmpstat ofstd oflog dcmdata dcmiod dcmimgle dcmimage dcmnet dcmdsig dcmtls dcmsr dcmqrdb) -if (TARGET dcmpstat) +if(TARGET dcmpstat) set_property(TARGET dcmpstat PROPERTY OUTPUT_NAME "dcmpstat${DCMTK_TLS_LIBRARY_POSTFIX}") endif() diff --git a/dcmpstat/libsrc/Makefile.dep b/dcmpstat/libsrc/Makefile.dep index 525977dc..1602dfb2 100644 --- a/dcmpstat/libsrc/Makefile.dep +++ b/dcmpstat/libsrc/Makefile.dep @@ -14,9 +14,9 @@ dcmpstat.o: dcmpstat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -46,12 +46,12 @@ dcmpstat.o: dcmpstat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -172,28 +172,39 @@ dviface.o: dviface.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \ - ../include/dcmtk/dcmpstat/dvpstat.h ../include/dcmtk/dcmpstat/dcmpstat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ + ../../dcmnet/include/dcmtk/dcmnet/cond.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmnet/include/dcmtk/dcmnet/lst.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../dcmnet/include/dcmtk/dcmnet/dul.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ + ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ + ../include/dcmtk/dcmpstat/dvpstat.h ../include/dcmtk/dcmpstat/dcmpstat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ @@ -266,24 +277,12 @@ dviface.o: dviface.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h \ ../../ofstd/include/dcmtk/ofstd/ofoption.h \ ../../ofstd/include/dcmtk/ofstd/ofalign.h \ - ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ - ../../dcmnet/include/dcmtk/dcmnet/cond.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcspchrs.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdbi.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/dcmqrdba.h \ ../../dcmqrdb/include/dcmtk/dcmqrdb/qrdefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ - ../../dcmnet/include/dcmtk/dcmnet/lst.h \ - ../../dcmnet/include/dcmtk/dcmnet/dul.h \ - ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ - ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ - ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ ../../ofstd/include/dcmtk/ofstd/offname.h \ ../include/dcmtk/dcmpstat/dvcache.h ../include/dcmtk/dcmpstat/dvpsdef.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ @@ -400,7 +399,6 @@ dvpsab.o: dvpsab.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -433,6 +431,7 @@ dvpsab.o: dvpsab.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -471,7 +470,6 @@ dvpsabl.o: dvpsabl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -504,6 +502,7 @@ dvpsabl.o: dvpsabl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -541,7 +540,6 @@ dvpsal.o: dvpsal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -574,6 +572,7 @@ dvpsal.o: dvpsal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -583,16 +582,16 @@ dvpsal.o: dvpsal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpsdef.h dvpsall.o: dvpsall.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../include/dcmtk/dcmpstat/dvpsall.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../include/dcmtk/dcmpstat/dvpsall.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -602,7 +601,6 @@ dvpsall.o: dvpsall.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -636,6 +634,7 @@ dvpsall.o: dvpsall.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -744,18 +743,33 @@ dvpscf.o: dvpscf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmpstat/dvpsdef.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ + ../../dcmnet/include/dcmtk/dcmnet/cond.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmnet/include/dcmtk/dcmnet/lst.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../dcmnet/include/dcmtk/dcmnet/dul.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ + ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofconfig.h \ + ../../ofstd/include/dcmtk/ofstd/ofstack.h \ + ../include/dcmtk/dcmpstat/dvpsdef.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h dvpscu.o: dvpscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmpstat/dvpscu.h ../include/dcmtk/dcmpstat/dvpstyp.h \ @@ -806,12 +820,12 @@ dvpscu.o: dvpscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -890,8 +904,8 @@ dvpscul.o: dvpscul.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -901,7 +915,6 @@ dvpscul.o: dvpscul.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -935,6 +948,7 @@ dvpscul.o: dvpscul.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -944,40 +958,30 @@ dvpscul.o: dvpscul.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpscu.h \ ../include/dcmtk/dcmpstat/dvpstyp.h dvpsda.o: dvpsda.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmpstat/dvpsda.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -992,12 +996,22 @@ dvpsda.o: dvpsda.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1077,8 +1091,8 @@ dvpsdal.o: dvpsdal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -1088,7 +1102,6 @@ dvpsdal.o: dvpsdal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1122,6 +1135,7 @@ dvpsdal.o: dvpsdal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1207,9 +1221,9 @@ dvpsfs.o: dvpsfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1239,12 +1253,12 @@ dvpsfs.o: dvpsfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1315,7 +1329,6 @@ dvpsfs.o: dvpsfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ @@ -1361,9 +1374,9 @@ dvpsga.o: dvpsga.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1394,6 +1407,7 @@ dvpsga.o: dvpsga.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1404,7 +1418,6 @@ dvpsga.o: dvpsga.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1479,8 +1492,8 @@ dvpsgal.o: dvpsgal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -1490,7 +1503,6 @@ dvpsgal.o: dvpsgal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1524,6 +1536,7 @@ dvpsgal.o: dvpsgal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1611,9 +1624,9 @@ dvpsgl.o: dvpsgl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1643,12 +1656,12 @@ dvpsgl.o: dvpsgl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1738,7 +1751,6 @@ dvpsgll.o: dvpsgll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1772,6 +1784,7 @@ dvpsgll.o: dvpsgll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1861,9 +1874,9 @@ dvpsgr.o: dvpsgr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -1893,12 +1906,12 @@ dvpsgr.o: dvpsgr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1976,8 +1989,8 @@ dvpsgrl.o: dvpsgrl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -1987,7 +2000,6 @@ dvpsgrl.o: dvpsgrl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2021,6 +2033,7 @@ dvpsgrl.o: dvpsgrl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2098,8 +2111,8 @@ dvpshlp.o: dvpshlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -2109,7 +2122,6 @@ dvpshlp.o: dvpshlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -2144,6 +2156,7 @@ dvpshlp.o: dvpshlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2233,7 +2246,6 @@ dvpsib.o: dvpsib.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2267,6 +2279,7 @@ dvpsib.o: dvpsib.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2337,7 +2350,6 @@ dvpsib.o: dvpsib.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ @@ -2359,8 +2371,8 @@ dvpsibl.o: dvpsibl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -2370,7 +2382,6 @@ dvpsibl.o: dvpsibl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2404,6 +2415,7 @@ dvpsibl.o: dvpsibl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2475,7 +2487,6 @@ dvpsibl.o: dvpsibl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ @@ -2502,9 +2513,9 @@ dvpsmsg.o: dvpsmsg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -2537,14 +2548,13 @@ dvpsmsg.o: dvpsmsg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcmtrans.h \ ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcmtrans.h \ ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ ../../ofstd/include/dcmtk/ofstd/ofsockad.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h dvpsov.o: dvpsov.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmpstat/dvpsov.h \ @@ -2562,9 +2572,9 @@ dvpsov.o: dvpsov.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -2594,12 +2604,12 @@ dvpsov.o: dvpsov.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2676,8 +2686,8 @@ dvpsovl.o: dvpsovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -2687,7 +2697,6 @@ dvpsovl.o: dvpsovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2721,6 +2730,7 @@ dvpsovl.o: dvpsovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2811,7 +2821,6 @@ dvpspl.o: dvpspl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -2845,11 +2854,13 @@ dvpspl.o: dvpspl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ ../include/dcmtk/dcmpstat/dvpspl.h ../include/dcmtk/dcmpstat/dvpstyp.h \ ../include/dcmtk/dcmpstat/dpdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ @@ -2861,7 +2872,6 @@ dvpspl.o: dvpspl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2924,6 +2934,7 @@ dvpspl2.o: dvpspl2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2940,7 +2951,6 @@ dvpspl2.o: dvpspl2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2964,7 +2974,6 @@ dvpspl2.o: dvpspl2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2984,11 +2993,11 @@ dvpspll.o: dvpspll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ @@ -3040,7 +3049,6 @@ dvpspll.o: dvpspll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -3119,25 +3127,30 @@ dvpspll.o: dvpspll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h dvpspr.o: dvpspr.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../include/dcmtk/dcmpstat/dvpspr.h ../include/dcmtk/dcmpstat/dpdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ + ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ + ../../dcmnet/include/dcmtk/dcmnet/cond.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../include/dcmtk/dcmpstat/dvpsdef.h ../include/dcmtk/dcmpstat/dpdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -3151,6 +3164,7 @@ dvpspr.o: dvpspr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -3162,20 +3176,9 @@ dvpspr.o: dvpspr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../include/dcmtk/dcmpstat/dvpspr.h \ - ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ - ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ - ../../dcmnet/include/dcmtk/dcmnet/cond.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ @@ -3185,6 +3188,9 @@ dvpspr.o: dvpspr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -3193,7 +3199,8 @@ dvpspr.o: dvpspr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../include/dcmtk/dcmpstat/dvpsdef.h dvpsprt.o: dvpsprt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ @@ -3260,7 +3267,6 @@ dvpsprt.o: dvpsprt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -3362,44 +3368,31 @@ dvpsprt.o: dvpsprt.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmpstat/dvpstx.h ../include/dcmtk/dcmpstat/dvpsgr.h \ ../include/dcmtk/dcmpstat/dvpsri.h dvpsri.o: dvpsri.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../include/dcmtk/dcmpstat/dvpsri.h ../include/dcmtk/dcmpstat/dpdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -3411,53 +3404,56 @@ dvpsri.o: dvpsri.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../include/dcmtk/dcmpstat/dvpsri.h ../include/dcmtk/dcmpstat/dpdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ ../include/dcmtk/dcmpstat/dvpsdef.h dvpsril.o: dvpsril.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../include/dcmtk/dcmpstat/dvpsril.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -3483,14 +3479,24 @@ dvpsril.o: dvpsril.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../include/dcmtk/dcmpstat/dvpsril.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmpstat/dvpsri.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ @@ -3524,7 +3530,6 @@ dvpsrs.o: dvpsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -3557,6 +3562,7 @@ dvpsrs.o: dvpsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -3593,7 +3599,6 @@ dvpsrsl.o: dvpsrsl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -3627,6 +3632,7 @@ dvpsrsl.o: dvpsrsl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -3709,7 +3715,6 @@ dvpssp.o: dvpssp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -3825,13 +3830,13 @@ dvpsspl.o: dvpsspl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3867,6 +3872,7 @@ dvpsspl.o: dvpsspl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3877,7 +3883,6 @@ dvpsspl.o: dvpsspl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -3892,7 +3897,6 @@ dvpsspl.o: dvpsspl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4003,7 +4007,6 @@ dvpssv.o: dvpssv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -4037,9 +4040,11 @@ dvpssv.o: dvpssv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ ../include/dcmtk/dcmpstat/dvpssv.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ @@ -4080,7 +4085,6 @@ dvpssvl.o: dvpssvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -4114,6 +4118,7 @@ dvpssvl.o: dvpssvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -4179,12 +4184,12 @@ dvpstat.o: dvpstat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4300,9 +4305,9 @@ dvpstx.o: dvpstx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -4332,12 +4337,12 @@ dvpstx.o: dvpstx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4415,8 +4420,8 @@ dvpstxl.o: dvpstxl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -4426,7 +4431,6 @@ dvpstxl.o: dvpstxl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -4460,6 +4464,7 @@ dvpstxl.o: dvpstxl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4577,12 +4582,12 @@ dvpsvl.o: dvpsvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4660,8 +4665,8 @@ dvpsvll.o: dvpsvll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -4671,7 +4676,6 @@ dvpsvll.o: dvpsvll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -4705,6 +4709,7 @@ dvpsvll.o: dvpsvll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4820,12 +4825,12 @@ dvpsvw.o: dvpsvw.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4945,6 +4950,7 @@ dvpsvwl.o: dvpsvwl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ @@ -4954,7 +4960,6 @@ dvpsvwl.o: dvpsvwl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -5013,6 +5018,7 @@ dvsighdl.o: dvsighdl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmsign/include/dcmtk/dcmsign/sipurpos.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ @@ -5022,7 +5028,6 @@ dvsighdl.o: dvsighdl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -5030,6 +5035,18 @@ dvsighdl.o: dvsighdl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../include/dcmtk/dcmpstat/dvpscf.h \ + ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ + ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ + ../../dcmnet/include/dcmtk/dcmnet/cond.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmnet/include/dcmtk/dcmnet/lst.h \ + ../../dcmnet/include/dcmtk/dcmnet/dul.h \ + ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ + ../../dcmnet/include/dcmtk/dcmnet/dntypes.h \ ../../dcmsign/include/dcmtk/dcmsign/sicert.h \ ../../dcmsign/include/dcmtk/dcmsign/sinullpr.h \ ../../dcmsign/include/dcmtk/dcmsign/sisprof.h \ diff --git a/dcmpstat/libsrc/dcmpstat.cc b/dcmpstat/libsrc/dcmpstat.cc index 4a8e5af6..b6ec66fb 100644 --- a/dcmpstat/libsrc/dcmpstat.cc +++ b/dcmpstat/libsrc/dcmpstat.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2022, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -384,12 +384,16 @@ OFCondition DcmPresentationState::read(DcmItem &dset) { item = seq->getItem(0); stack.clear(); - // LUTDescriptor can be US or SS. For now we only handle US. + + // LUTDescriptor can be US or SS if ((EC_Normal == item->search((DcmTagKey &)modalityLUTDescriptor.getTag(), - stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) + stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_SS)) { - modalityLUTDescriptor = *((DcmUnsignedShort *)(stack.top())); + // We explicitly use DcmElement::operator=(), which works for US and SS + DcmElement *mLUTDescriptor = &modalityLUTDescriptor; + mLUTDescriptor->operator=(* OFstatic_cast(DcmElement *, stack.top())); } + stack.clear(); if ((EC_Normal == item->search((DcmTagKey &)modalityLUTExplanation.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_LO)) @@ -400,9 +404,11 @@ OFCondition DcmPresentationState::read(DcmItem &dset) // LUTData can be OW, US or SS. For now we only handle US. if ((EC_Normal == item->search((DcmTagKey &)modalityLUTData.getTag(), - stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) + stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_OW)) { - modalityLUTData = *((DcmUnsignedShort *)(stack.top())); + // we deliberately call DcmElement::operator=() here, which will work for both DcmUnsignedShort and DcmOtherByteOtherWord parameters + DcmElement *mdata = &modalityLUTData; + mdata->operator=(*(DcmElement *)(stack.top())); } stack.clear(); if ((EC_Normal == item->search((DcmTagKey &)modalityLUTType.getTag(), @@ -879,11 +885,13 @@ OFCondition DcmPresentationState::createFromImage( { item = seq->getItem(0); stack.clear(); - // LUTDescriptor can be US or SS. For now we only handle US. + // LUTDescriptor can be US or SS if ((EC_Normal == item->search((DcmTagKey &)modalityLUTDescriptor.getTag(), - stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) + stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_SS)) { - modalityLUTDescriptor = *((DcmUnsignedShort *)(stack.top())); + // We explicitly use DcmElement::operator=(), which works for US and SS + DcmElement *mLUTDescriptor = &modalityLUTDescriptor; + mLUTDescriptor->operator=(* OFstatic_cast(DcmElement *, stack.top())); } stack.clear(); if ((EC_Normal == item->search((DcmTagKey &)modalityLUTExplanation.getTag(), @@ -895,9 +903,11 @@ OFCondition DcmPresentationState::createFromImage( // LUTData can be OW, US or SS. For now we only handle US. if ((EC_Normal == item->search((DcmTagKey &)modalityLUTData.getTag(), - stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) + stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_OW)) { - modalityLUTData = *((DcmUnsignedShort *)(stack.top())); + // we deliberately call DcmElement::operator=() here, which will work for both DcmUnsignedShort and DcmOtherByteOtherWord parameters + DcmElement *mdata = &modalityLUTData; + mdata->operator=(*(DcmElement *)(stack.top())); } stack.clear(); if ((EC_Normal == item->search((DcmTagKey &)modalityLUTType.getTag(), @@ -1247,10 +1257,16 @@ OFCondition DcmPresentationState::write(DcmItem &dset, OFBool replaceSOPInstance dseq = new DcmSequenceOfItems(DCM_ModalityLUTSequence); if (dseq) { - delem = new DcmUnsignedShort(modalityLUTDescriptor); + // we clone modalityLUTDescriptor in order to retain the VR (US or SS) + delem = OFstatic_cast(DcmElement *, modalityLUTDescriptor.clone()); if (delem) ditem->insert(delem, OFTrue /*replaceOld*/); else result=EC_MemoryExhausted; - delem = new DcmUnsignedShort(modalityLUTData); + + // we write LUTData as OW in order to avoid the 64 kByte limit for US + delem = new DcmOtherByteOtherWord(DCM_LUTData); + delem->operator=(modalityLUTData); + OFstatic_cast(DcmOtherByteOtherWord *, delem)->setVR(EVR_OW); if (delem) ditem->insert(delem, OFTrue /*replaceOld*/); else result=EC_MemoryExhausted; + delem = new DcmLongString(modalityLUTType); if (delem) ditem->insert(delem, OFTrue /*replaceOld*/); else result=EC_MemoryExhausted; if (modalityLUTExplanation.getLength() >0) @@ -1345,7 +1361,8 @@ OFCondition DcmPresentationState::addImageReference( { for (i=0; i= 86400) referenceTime -= 86400; // subtract one day @@ -1272,18 +1273,10 @@ void DVInterface::resetDatabaseReferenceTime() // set index file modification time to "yesterday" to make sure // we notice any change even if different processes have minor // date/time differences (i.e. over NFS) -#ifdef HAVE_DECLARATION_STRUCT_UTIMBUF struct utimbuf utime_buf; utime_buf.actime = OFstatic_cast(time_t, referenceTime); utime_buf.modtime = OFstatic_cast(time_t, referenceTime); if (0 != utime(databaseIndexFile.c_str(), &utime_buf)) -#else - // some old platforms use the prototype int utime(char *file, time_t timep[]) - time_t utime_buf[2]; - utime_buf[0] = OFstatic_cast(time_t, referenceTime); - utime_buf[1] = OFstatic_cast(time_t, referenceTime); - if (0 != utime(OFconst_cast(char *, databaseIndexFile.c_str()), utime_buf)) -#endif { DCMPSTAT_WARN("Cannot set database index file modification time"); } else { @@ -1425,14 +1418,14 @@ OFBool DVInterface::createPStateCache() if (reference != NULL) { DcmStack stack; - if (dataset->search(DCM_ContentDescription, stack, ESM_fromHere, OFFalse) == EC_Normal) + if (dataset->search(DCM_ContentDescription, stack, ESM_fromHere, OFFalse) == EC_Normal && (stack.top()->ident() == EVR_LO)) { char *value = NULL; if ((*OFstatic_cast(DcmLongString *, stack.top())).getString(value) == EC_Normal) reference->Description = value; } stack.clear(); - if (dataset->search(DCM_ContentLabel, stack, ESM_fromHere, OFFalse) == EC_Normal) + if (dataset->search(DCM_ContentLabel, stack, ESM_fromHere, OFFalse) == EC_Normal && (stack.top()->ident() == EVR_LO)) { char *value = NULL; if ((*OFstatic_cast(DcmLongString *, stack.top())).getString(value) == EC_Normal) @@ -2241,11 +2234,11 @@ OFCondition DVInterface::sendIOD(const char * targetID, OFBitmanipTemplate::zeroMem((char *)&sinfo, sizeof(sinfo)); sinfo.cb = sizeof(sinfo); char commandline[4096]; - if (seriesUID && instanceUID) sprintf(commandline, "%s %s %s %s %s %s", sender_application, configPath.c_str(), + if (seriesUID && instanceUID) OFStandard::snprintf(commandline, sizeof(commandline), "%s %s %s %s %s %s", sender_application, configPath.c_str(), targetID, studyUID, seriesUID, instanceUID); - else if (seriesUID) sprintf(commandline, "%s %s %s %s %s", sender_application, configPath.c_str(), targetID, + else if (seriesUID) OFStandard::snprintf(commandline, sizeof(commandline), "%s %s %s %s %s", sender_application, configPath.c_str(), targetID, studyUID, seriesUID); - else sprintf(commandline, "%s %s %s %s", sender_application, configPath.c_str(), targetID, studyUID); + else OFStandard::snprintf(commandline, sizeof(commandline), "%s %s %s %s", sender_application, configPath.c_str(), targetID, studyUID); #ifdef DEBUG if (CreateProcessA(NULL, commandline, NULL, NULL, 0, 0, NULL, NULL, &sinfo, &procinfo)) #else @@ -2303,7 +2296,7 @@ OFCondition DVInterface::startReceiver() OFBitmanipTemplate::zeroMem((char *)&sinfo, sizeof(sinfo)); sinfo.cb = sizeof(sinfo); char commandline[4096]; - sprintf(commandline, "%s %s %s", receiver_application, configPath.c_str(), getTargetID(i, DVPSE_receiver)); + OFStandard::snprintf(commandline, sizeof(commandline), "%s %s %s", receiver_application, configPath.c_str(), getTargetID(i, DVPSE_receiver)); #ifdef DEBUG if (CreateProcessA(NULL, commandline, NULL, NULL, 0, 0, NULL, NULL, &sinfo, &procinfo)) #else @@ -2358,7 +2351,7 @@ OFCondition DVInterface::terminateReceiver() OFBitmanipTemplate::zeroMem((char *)&sinfo, sizeof(sinfo)); sinfo.cb = sizeof(sinfo); char commandline[4096]; - sprintf(commandline, "%s %s %s", receiver_application, configPath.c_str(), "--terminate"); + OFStandard::snprintf(commandline, sizeof(commandline), "%s %s %s", receiver_application, configPath.c_str(), "--terminate"); #ifdef DEBUG if (CreateProcessA(NULL, commandline, NULL, NULL, 0, 0, NULL, NULL, &sinfo, &procinfo)) #else @@ -2408,7 +2401,7 @@ OFCondition DVInterface::startQueryRetrieveServer() if (timeout > 0) { char str_timeout[20]; - sprintf(str_timeout, "%lu", OFstatic_cast(unsigned long, timeout)); + OFStandard::snprintf(str_timeout, sizeof(str_timeout), "%lu", OFstatic_cast(unsigned long, timeout)); execl(server_application, server_application, "-c", config_filename.c_str(), "--allow-shutdown", "--timeout", str_timeout, OFreinterpret_cast(char *, 0)); } @@ -2434,12 +2427,12 @@ OFCondition DVInterface::startQueryRetrieveServer() if (timeout > 0) { - sprintf(commandline, "%s -c %s --allow-shutdown --timeout %lu", + OFStandard::snprintf(commandline, sizeof(commandline), "%s -c %s --allow-shutdown --timeout %lu", server_application, config_filename.c_str(), (unsigned long) timeout); } else { - sprintf(commandline, "%s -c %s --allow-shutdown", server_application, config_filename.c_str()); + OFStandard::snprintf(commandline, sizeof(commandline), "%s -c %s --allow-shutdown", server_application, config_filename.c_str()); } #ifdef DEBUG @@ -2478,7 +2471,7 @@ OFCondition DVInterface::terminateQueryRetrieveServer() if (cond.good()) { ASC_setAPTitles(params, getNetworkAETitle(), getQueryRetrieveAETitle(), NULL); - sprintf(peerHost, "localhost:%d", OFstatic_cast(int, getQueryRetrievePort())); + OFStandard::snprintf(peerHost, sizeof(peerHost), "localhost:%d", OFstatic_cast(int, getQueryRetrievePort())); ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost); const char* transferSyntaxes[] = { UID_LittleEndianImplicitTransferSyntax }; @@ -2601,7 +2594,7 @@ OFCondition DVInterface::saveDICOMImage( if (EC_Normal==status) status = DVPSHelper::putUint16Value(dataset, DCM_PixelRepresentation, 0); if ((EC_Normal==status)&&(aspectRatio != 1.0)) { - sprintf(newuid, "%ld\\%ld", 1000L, OFstatic_cast(long, aspectRatio*1000.0)); + OFStandard::snprintf(newuid, sizeof(newuid), "%ld\\%ld", 1000L, OFstatic_cast(long, aspectRatio*1000.0)); status = DVPSHelper::putStringValue(dataset, DCM_PixelAspectRatio, newuid); } DcmPolymorphOBOW *pxData = new DcmPolymorphOBOW(DCM_PixelData); @@ -2740,7 +2733,7 @@ OFCondition DVInterface::saveHardcopyGrayscaleImage( if (EC_Normal==status) status = DVPSHelper::putUint16Value(dataset, DCM_PixelRepresentation, 0); if ((EC_Normal==status)&&(aspectRatio != 1.0)) { - sprintf(newuid, "%ld\\%ld", 1000L, OFstatic_cast(long, aspectRatio*1000.0)); + OFStandard::snprintf(newuid, sizeof(newuid), "%ld\\%ld", 1000L, OFstatic_cast(long, aspectRatio*1000.0)); status = DVPSHelper::putStringValue(dataset, DCM_PixelAspectRatio, newuid); } @@ -2843,12 +2836,12 @@ OFCondition DVInterface::saveFileFormatToDB(DcmFileFormat &fileformat) DcmDataset *dset = fileformat.getDataset(); if (dset) { - if (EC_Normal == dset->search(DCM_SOPInstanceUID, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset->search(DCM_SOPInstanceUID, stack, ESM_fromHere, OFFalse) && stack.top()->isElement()) { OFstatic_cast(DcmElement *, stack.top())->getString(instanceUID); } stack.clear(); - if (EC_Normal == dset->search(DCM_SOPClassUID, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset->search(DCM_SOPClassUID, stack, ESM_fromHere, OFFalse) && stack.top()->isElement()) { OFstatic_cast(DcmElement *, stack.top())->getString(classUID); } @@ -2984,7 +2977,7 @@ OFCondition DVInterface::saveStoredPrint( } if (prependLighting) { - sprintf(buf, "%d/%d ", pPrint->getPrintIllumination(), pPrint->getPrintReflectedAmbientLight()); + OFStandard::snprintf(buf, sizeof(buf), "%d/%d ", pPrint->getPrintIllumination(), pPrint->getPrintReflectedAmbientLight()); text += buf; } text += annotationText; @@ -3392,7 +3385,7 @@ OFCondition DVInterface::startPrintSpooler() unsigned long sleepingTime = getSpoolerSleep(); if (sleepingTime==0) sleepingTime=1; // default char sleepStr[30]; - sprintf(sleepStr, "%lu", sleepingTime); + OFStandard::snprintf(sleepStr, sizeof(sleepStr), "%lu", sleepingTime); OFBool detailedLog = getDetailedLog(); OFCondition result = EC_Normal; @@ -3442,10 +3435,10 @@ OFCondition DVInterface::startPrintSpooler() char commandline[4096]; if (detailedLog) { - sprintf(commandline, "%s --verbose --dump --spool %s --printer %s --config %s --sleep %s", spooler_application, + OFStandard::snprintf(commandline, sizeof(commandline), "%s --verbose --dump --spool %s --printer %s --config %s --sleep %s", spooler_application, printJobIdentifier.c_str(), printer, configPath.c_str(), sleepStr); } else { - sprintf(commandline, "%s --spool %s --printer %s --config %s --sleep %s", spooler_application, + OFStandard::snprintf(commandline, sizeof(commandline), "%s --spool %s --printer %s --config %s --sleep %s", spooler_application, printJobIdentifier.c_str(), printer, configPath.c_str(), sleepStr); } #ifdef DEBUG @@ -3469,7 +3462,7 @@ OFCondition DVInterface::createPrintJobFilenames(const char *printer, OFString& if (printer==NULL) return EC_IllegalCall; char buf[20]; - sprintf(buf, "%04lu", printJobCounter++); + OFStandard::snprintf(buf, sizeof(buf), "%04lu", printJobCounter++); jobname = getSpoolFolder(); jobname += PATH_SEPARATOR; jobname += printJobIdentifier; @@ -3508,7 +3501,11 @@ OFCondition DVInterface::terminatePrintSpooler() fprintf(outf,"#\n# print job created %s\n", timeString.c_str()); fprintf(outf,"# target printer: [%s]\n#\n", (prt ? prt : "none")); fprintf(outf,"terminate\n"); - fclose(outf); + if (fclose(outf)) + { + DCMPSTAT_ERROR("Unable to write spooler termination request '" << tempFilename.c_str() << "'"); + return EC_IllegalCall; + } if (0 != rename(tempFilename.c_str(), spoolFilename.c_str())) { DCMPSTAT_ERROR("Unable to activate spooler termination request '" << spoolFilename.c_str() << "'"); @@ -3577,9 +3574,9 @@ OFCondition DVInterface::startPrintServer() char commandline[4096]; if (detailedLog) { - sprintf(commandline, "%s --logfile --verbose --dump --printer %s --config %s", application, printer, configPath.c_str()); + OFStandard::snprintf(commandline, sizeof(commandline), "%s --logfile --verbose --dump --printer %s --config %s", application, printer, configPath.c_str()); } else { - sprintf(commandline, "%s --logfile --printer %s --config %s", application, printer, configPath.c_str()); + OFStandard::snprintf(commandline, sizeof(commandline), "%s --logfile --printer %s --config %s", application, printer, configPath.c_str()); } #ifdef DEBUG if (0 == CreateProcessA(NULL, commandline, NULL, NULL, 0, 0, NULL, NULL, &sinfo, &procinfo)) @@ -3714,7 +3711,7 @@ OFCondition DVInterface::terminatePrintServer() } ASC_setAPTitles(params, getNetworkAETitle(), getTargetAETitle(target), NULL); - sprintf(peerHost, "%s:%d", getTargetHostname(target), OFstatic_cast(int, getTargetPort(target))); + OFStandard::snprintf(peerHost, sizeof(peerHost), "%s:%d", getTargetHostname(target), OFstatic_cast(int, getTargetPort(target))); ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), peerHost); if (cond.good()) cond = ASC_setTransportLayerType(params, useTLS); @@ -3764,7 +3761,7 @@ OFCondition DVInterface::addToPrintHardcopyFromDB(const char *studyUID, const ch DVPSPresentationLUT presentationLUT; if (EC_Normal != presentationLUT.read(*dataset, OFFalse)) presentationLUT.setType(DVPSP_identity); result = dataset->search(sopclassuid.getTag(), stack, ESM_fromHere, OFFalse); - if (EC_Normal == result) + if (EC_Normal == result && (stack.top()->ident() == EVR_UI)) { char *sopclass = NULL; sopclassuid = *OFstatic_cast(DcmUniqueIdentifier *, stack.top()); @@ -3818,7 +3815,11 @@ OFCondition DVInterface::spoolStoredPrintFromDB(const char *studyUID, const char if (printerOwnerID.size() >0) fprintf(outf,"owner_id %s\n", printerOwnerID.c_str()); if (printerNumberOfCopies >0) fprintf(outf,"copies %lu\n", printerNumberOfCopies); - fclose(outf); + if (fclose(outf)) + { + DCMPSTAT_ERROR("Unable to write print job '" << tempFilename.c_str() << "'"); + return EC_IllegalCall; + } if (0 != rename(tempFilename.c_str(), spoolFilename.c_str())) { DCMPSTAT_ERROR("Unable to activate print job '" << spoolFilename.c_str() << "'"); @@ -3876,7 +3877,7 @@ OFCondition DVInterface::printSCUcreateBasicFilmSession(DVPSPrintMessageHandler& if ((EC_Normal==result)&&(printerNumberOfCopies > 0)) { - sprintf(buf, "%lu", printerNumberOfCopies); + OFStandard::snprintf(buf, sizeof(buf), "%lu", printerNumberOfCopies); delem = new DcmIntegerString(DCM_NumberOfCopies); if (delem) result = delem->putString(buf); else result=EC_IllegalCall; if (EC_Normal==result) result = dset.insert(delem, OFTrue /*replaceOld*/); @@ -3933,7 +3934,7 @@ OFCondition DVInterface::startExternalApplication(const char *application, const OFBitmanipTemplate::zeroMem((char *)&sinfo, sizeof(sinfo)); sinfo.cb = sizeof(sinfo); char commandline[4096]; - sprintf(commandline, "%s %s", application, filename); + OFStandard::snprintf(commandline, sizeof(commandline), "%s %s", application, filename); #ifdef DEBUG if (CreateProcessA(NULL, commandline, NULL, NULL, 0, 0, NULL, NULL, &sinfo, &procinfo)) #else diff --git a/dcmpstat/libsrc/dvpsabl.cc b/dcmpstat/libsrc/dvpsabl.cc index 62cc1d51..bbda1818 100644 --- a/dcmpstat/libsrc/dvpsabl.cc +++ b/dcmpstat/libsrc/dvpsabl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1999-2010, OFFIS e.V. + * Copyright (C) 1999-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -69,7 +69,7 @@ OFCondition DVPSAnnotationContent_PList::read(DcmItem &dset) DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_RETIRED_AnnotationContentSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_RETIRED_AnnotationContentSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) diff --git a/dcmpstat/libsrc/dvpsall.cc b/dcmpstat/libsrc/dvpsall.cc index 826e025c..42fa0b68 100644 --- a/dcmpstat/libsrc/dvpsall.cc +++ b/dcmpstat/libsrc/dvpsall.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2019, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,9 +21,9 @@ */ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcmtk/ofstd/ofstring.h" - #include "dcmtk/dcmpstat/dvpsall.h" +#include "dcmtk/ofstd/ofstring.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmpstat/dvpsal.h" /* for DVPSOverlayCurveActivationLayer */ #include "dcmtk/dcmpstat/dvpsovl.h" /* for DVPSOverlay_PList */ #include "dcmtk/dcmpstat/dvpsgll.h" /* for DVPSGraphicLayer_PList */ @@ -181,7 +181,7 @@ OFCondition DVPSOverlayCurveActivationLayer_PList::createFromImage( if (currentLayer==0) { currentLayer++; - sprintf(layerName, "LAYER"); + OFStandard::snprintf(layerName, sizeof(layerName), "LAYER"); result = gLayerList.addGraphicLayer(layerName, 1, "Overlays and Curves"); } break; @@ -189,14 +189,14 @@ OFCondition DVPSOverlayCurveActivationLayer_PList::createFromImage( if (currentLayer==0) { currentLayer++; - sprintf(layerName, "OVERLAY"); + OFStandard::snprintf(layerName, sizeof(layerName), "OVERLAY"); result = gLayerList.addGraphicLayer(layerName, 1, "Overlays"); } break; case DVPSG_separateLayers: currentLayer++; - sprintf(layerName, "OVERLAY%04ld", (long)currentLayer); - sprintf(layerDesc, "Overlay Layer %ld", (long)currentLayer); + OFStandard::snprintf(layerName, sizeof(layerName), "OVERLAY%04ld", (long)currentLayer); + OFStandard::snprintf(layerDesc, sizeof(layerDesc), "Overlay Layer %ld", (long)currentLayer); result = gLayerList.addGraphicLayer(layerName, currentLayer, layerDesc); break; } @@ -268,7 +268,7 @@ OFCondition DVPSOverlayCurveActivationLayer_PList::createFromImage( if (currentLayer==0) { currentLayer++; - sprintf(layerName, "LAYER"); + OFStandard::snprintf(layerName, sizeof(layerName), "LAYER"); result = gLayerList.addGraphicLayer(layerName, 1, "Overlays and Curves"); } break; @@ -276,14 +276,14 @@ OFCondition DVPSOverlayCurveActivationLayer_PList::createFromImage( if ((currentLayer==0)||((currentLayer==1)&&(haveOverlays))) { currentLayer++; - sprintf(layerName, "CURVE"); + OFStandard::snprintf(layerName, sizeof(layerName), "CURVE"); result = gLayerList.addGraphicLayer(layerName, 1, "Curves"); } break; case DVPSG_separateLayers: currentLayer++; - sprintf(layerName, "CURVE%04ld", (long)currentLayer-lastOverlayLayer); - sprintf(layerDesc, "Curve Layer %ld", (long)currentLayer-lastOverlayLayer); + OFStandard::snprintf(layerName, sizeof(layerName), "CURVE%04ld", (long)currentLayer-lastOverlayLayer); + OFStandard::snprintf(layerDesc, sizeof(layerDesc), "Curve Layer %ld", (long)currentLayer-lastOverlayLayer); result = gLayerList.addGraphicLayer(layerName, currentLayer, layerDesc); break; } diff --git a/dcmpstat/libsrc/dvpscf.cc b/dcmpstat/libsrc/dvpscf.cc index e07247ab..7f8cd142 100644 --- a/dcmpstat/libsrc/dvpscf.cc +++ b/dcmpstat/libsrc/dvpscf.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -26,6 +26,20 @@ #include "dcmtk/dcmpstat/dvpsdef.h" /* for constants */ #include "dcmtk/ofstd/ofstd.h" /* for class OFStandard */ +BEGIN_EXTERN_C +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +END_EXTERN_C + +#ifdef HAVE_WINDOWS_H +#define WIN32_LEAN_AND_MEAN +#include +#include /* for GetFileAttributes() */ +#elif defined(HAVE_WINSOCK_H) +#include /* include winsock.h directly i.e. on MacOS */ +#endif /* HAVE_WINDOWS_H */ + #ifndef HAVE_WINDOWS_H /* some Unix operating systems do not define a prototype for strncasecmp * although the function is known. @@ -96,6 +110,7 @@ extern "C" int strncasecmp(const char *s1, const char *s2, size_t n); #define L0_PREVIEW "PREVIEWSIZE" #define L0_PRIVATEKEY "PRIVATEKEY" #define L0_PRIVATEKEYPASSWORD "PRIVATEKEYPASSWORD" +#define L0_PROTOCOL "PROTOCOL" #define L0_RANDOMSEED "RANDOMSEED" #define L0_RECEIVER "RECEIVER" #define L0_RESOLUTION "RESOLUTION" @@ -385,6 +400,19 @@ unsigned short DVConfiguration::getTargetPort(const char *targetID) return result; } +T_ASC_ProtocolFamily DVConfiguration::getTargetProtocol(const char *targetID) +{ + const char *c = getConfigEntry(L2_COMMUNICATION, targetID, L0_PROTOCOL); + T_ASC_ProtocolFamily result = ASC_AF_Default; + if (c) + { + if (strCompare(c, "AF_INET6", 8) == 0) result = ASC_AF_INET6; + else if (strCompare(c, "AF_INET", 7) == 0) result = ASC_AF_INET; + else if (strCompare(c, "AF_UNSPEC", 9) == 0) result = ASC_AF_UNSPEC; + } + return result; +} + const char *DVConfiguration::getTargetAETitle(const char *targetID) { return getConfigEntry(L2_COMMUNICATION, targetID, L0_AETITLE); @@ -881,7 +909,7 @@ Uint32 DVConfiguration::getTargetPrinterNumberOfConfigurationSettings(const char char l0_key[80]; do { - sprintf(l0_key, "CONFIGURATION_%d", counter++); + OFStandard::snprintf(l0_key, sizeof(l0_key), "CONFIGURATION_%d", counter++); } while (NULL != pConfig->get_entry(l0_key)); result = counter - 2; } @@ -892,7 +920,7 @@ Uint32 DVConfiguration::getTargetPrinterNumberOfConfigurationSettings(const char const char *DVConfiguration::getTargetPrinterConfigurationSetting(const char *targetID, Uint32 idx) { char l0_key[80]; - sprintf(l0_key, "CONFIGURATION_%d", (int)idx+1); + OFStandard::snprintf(l0_key, sizeof(l0_key), "CONFIGURATION_%d", (int)idx+1); return getConfigEntry(L2_COMMUNICATION, targetID, l0_key); } diff --git a/dcmpstat/libsrc/dvpscu.cc b/dcmpstat/libsrc/dvpscu.cc index be3c81fe..02a19452 100644 --- a/dcmpstat/libsrc/dvpscu.cc +++ b/dcmpstat/libsrc/dvpscu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2020, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -80,14 +80,14 @@ OFCondition DVPSCurve::read(DcmItem &dset, Uint8 group) /* first we look for the Curve Data */ DcmTagKey key(0x5000 + group,0x3000); - if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse) && stack.top()->isElement()) { d_curveData = (DcmElement *)(stack.top()); } else return EC_IllegalCall; key.setElement(0x0005); // Curve Dimensions stack.clear(); - if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse) && stack.top()->isElement()) { d_curveDimensions = (DcmElement *)(stack.top()); } else return EC_IllegalCall; @@ -101,42 +101,42 @@ OFCondition DVPSCurve::read(DcmItem &dset, Uint8 group) key.setElement(0x0010); // Number of Points stack.clear(); - if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse) && stack.top()->isElement()) { d_numberOfPoints = (DcmElement *)(stack.top()); } else return EC_IllegalCall; key.setElement(0x0020); // Type of Data stack.clear(); - if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse) && stack.top()->isElement()) { d_typeOfData = (DcmElement *)(stack.top()); } else return EC_IllegalCall; key.setElement(0x0103); // Data Value Representation stack.clear(); - if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse) && stack.top()->isElement()) { d_dataVR = (DcmElement *)(stack.top()); } else return EC_IllegalCall; key.setElement(0x0022); // Curve Description stack.clear(); - if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse) && stack.top()->isElement()) { d_curveDescription = (DcmElement *)(stack.top()); } key.setElement(0x0030); // Axis Units stack.clear(); - if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse) && stack.top()->isElement()) { d_axisUnits = (DcmElement *)(stack.top()); } key.setElement(0x2500); // Curve Label stack.clear(); - if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(key, stack, ESM_fromHere, OFFalse) && stack.top()->isElement()) { d_curveLabel = (DcmElement *)(stack.top()); } diff --git a/dcmpstat/libsrc/dvpsda.cc b/dcmpstat/libsrc/dvpsda.cc index 934683c2..4bfd779c 100644 --- a/dcmpstat/libsrc/dvpsda.cc +++ b/dcmpstat/libsrc/dvpsda.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,9 +21,9 @@ */ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmpstat/dvpsda.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofstd.h" -#include "dcmtk/dcmpstat/dvpsda.h" #include "dcmtk/dcmpstat/dvpsri.h" /* for DVPSReferencedImage */ #include "dcmtk/dcmpstat/dvpsrsl.h" /* DVPSReferencedSeries_PList */ #include "dcmtk/dcmpstat/dvpsdef.h" /* for constants and macros */ @@ -312,7 +312,7 @@ OFCondition DVPSDisplayedArea::setDisplayedAreaPixelSpacing(const char *spacing) OFCondition DVPSDisplayedArea::setDisplayedAreaPixelAspectRatio(double ratio) { char str[100]; - sprintf(str, "10000\\%ld", (long)(ratio*10000.0)); + OFStandard::snprintf(str, sizeof(str), "10000\\%ld", (long)(ratio*10000.0)); return setDisplayedAreaPixelAspectRatio(str); } diff --git a/dcmpstat/libsrc/dvpsdal.cc b/dcmpstat/libsrc/dvpsdal.cc index 519aa977..969c1829 100644 --- a/dcmpstat/libsrc/dvpsdal.cc +++ b/dcmpstat/libsrc/dvpsdal.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1999-2010, OFFIS e.V. + * Copyright (C) 1999-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -67,7 +67,7 @@ OFCondition DVPSDisplayedArea_PList::read(DcmItem &dset) DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_DisplayedAreaSelectionSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_DisplayedAreaSelectionSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) diff --git a/dcmpstat/libsrc/dvpsfs.cc b/dcmpstat/libsrc/dvpsfs.cc index 5a5173c1..ba311b25 100644 --- a/dcmpstat/libsrc/dvpsfs.cc +++ b/dcmpstat/libsrc/dvpsfs.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -280,7 +280,7 @@ OFBool DVPSFilmSession::printSCPCreate( { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_SQ)) { DcmSequenceOfItems *seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() ==1) @@ -480,7 +480,7 @@ OFBool DVPSFilmSession::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)numberOfCopies.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)numberOfCopies.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_IS)) { numberOfCopies = *((DcmIntegerString *)(stack.top())); Sint32 numCopies=0; @@ -502,7 +502,7 @@ OFBool DVPSFilmSession::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)printPriority.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)printPriority.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { printPriority = *((DcmCodeString *)(stack.top())); OFString aString; @@ -523,7 +523,7 @@ OFBool DVPSFilmSession::printSCPSet( { Uint32 numMediumTypes = cfg.getTargetPrinterNumberOfMediumTypes(cfgname); stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)mediumType.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)mediumType.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { mediumType = *((DcmCodeString *)(stack.top())); OFString theMedium; @@ -555,7 +555,7 @@ OFBool DVPSFilmSession::printSCPSet( { Uint32 numFilmDestination = cfg.getTargetPrinterNumberOfFilmDestinations(cfgname); stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)filmDestination.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)filmDestination.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { filmDestination = *((DcmCodeString *)(stack.top())); OFString theDestination; @@ -586,7 +586,7 @@ OFBool DVPSFilmSession::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)filmSessionLabel.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)filmSessionLabel.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_LO)) { filmSessionLabel = *((DcmLongString *)(stack.top())); ADD_TO_PDATASET(DcmLongString, filmSessionLabel) @@ -597,7 +597,7 @@ OFBool DVPSFilmSession::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)ownerID.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)ownerID.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_SH)) { ownerID = *((DcmShortString *)(stack.top())); ADD_TO_PDATASET(DcmShortString, ownerID) @@ -611,7 +611,7 @@ OFBool DVPSFilmSession::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)illumination.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)illumination.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { illumination = *((DcmUnsignedShort *)(stack.top())); // we don't check illumination set by the user (for now) @@ -623,7 +623,7 @@ OFBool DVPSFilmSession::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)reflectedAmbientLight.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)reflectedAmbientLight.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { reflectedAmbientLight = *((DcmUnsignedShort *)(stack.top())); // we don't check reflected ambient light set by the user (for now) @@ -636,7 +636,7 @@ OFBool DVPSFilmSession::printSCPSet( { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_SQ)) { DcmSequenceOfItems *seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() ==1) diff --git a/dcmpstat/libsrc/dvpsga.cc b/dcmpstat/libsrc/dvpsga.cc index 6986bc05..e9eefebf 100644 --- a/dcmpstat/libsrc/dvpsga.cc +++ b/dcmpstat/libsrc/dvpsga.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2022, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,6 +27,7 @@ #include "dcmtk/dcmpstat/dvpsdef.h" /* for constants and macros */ #include "dcmtk/dcmpstat/dvpstx.h" /* for DVPSTextObject, needed by MSVC5 with STL */ #include "dcmtk/dcmpstat/dvpsgr.h" /* for DVPSGraphicObject, needed by MSVC5 with STL */ +#include "dcmtk/ofstd/ofstd.h" /* --------------- class DVPSGraphicAnnotation --------------- */ @@ -164,7 +165,7 @@ OFCondition DVPSGraphicAnnotation::addImageReference( const char *framenumber=NULL; if (applicability==DVPSB_currentFrame) { - sprintf(frameString, "%ld", frame); + OFStandard::snprintf(frameString, sizeof(frameString), "%ld", frame); framenumber = frameString; } return referencedImageList.addImageReference(sopclassUID, instanceUID, framenumber); diff --git a/dcmpstat/libsrc/dvpsgal.cc b/dcmpstat/libsrc/dvpsgal.cc index 909deac9..89d893de 100644 --- a/dcmpstat/libsrc/dvpsgal.cc +++ b/dcmpstat/libsrc/dvpsgal.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2010, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -69,7 +69,7 @@ OFCondition DVPSGraphicAnnotation_PList::read(DcmItem &dset) DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_GraphicAnnotationSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_GraphicAnnotationSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) diff --git a/dcmpstat/libsrc/dvpsgl.cc b/dcmpstat/libsrc/dvpsgl.cc index af249426..706ed88f 100644 --- a/dcmpstat/libsrc/dvpsgl.cc +++ b/dcmpstat/libsrc/dvpsgl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2022, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,6 +24,7 @@ #include "dcmtk/dcmpstat/dvpsgl.h" #include "dcmtk/dcmpstat/dvpsdef.h" /* for constants and macros */ #include "dcmtk/dcmiod/cielabutil.h" +#include "dcmtk/ofstd/ofstd.h" /* static helper functions */ @@ -191,7 +192,7 @@ void DVPSGraphicLayer::setGL(const char *gl) void DVPSGraphicLayer::setGLOrder(Sint32 glOrder) { char buf[100]; - sprintf(buf, "%ld", (long)glOrder); + OFStandard::snprintf(buf, sizeof(buf), "%ld", (long)glOrder); graphicLayerOrder.putString(buf); return; } diff --git a/dcmpstat/libsrc/dvpsgll.cc b/dcmpstat/libsrc/dvpsgll.cc index d82d2086..fbf5d97d 100644 --- a/dcmpstat/libsrc/dvpsgll.cc +++ b/dcmpstat/libsrc/dvpsgll.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2017, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -75,7 +75,7 @@ OFCondition DVPSGraphicLayer_PList::read(DcmItem &dset) DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_GraphicLayerSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_GraphicLayerSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) diff --git a/dcmpstat/libsrc/dvpsgrl.cc b/dcmpstat/libsrc/dvpsgrl.cc index 14d0e713..61dd6565 100644 --- a/dcmpstat/libsrc/dvpsgrl.cc +++ b/dcmpstat/libsrc/dvpsgrl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2010, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -66,7 +66,7 @@ OFCondition DVPSGraphicObject_PList::read(DcmItem &dset) DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_GraphicObjectSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_GraphicObjectSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) diff --git a/dcmpstat/libsrc/dvpshlp.cc b/dcmpstat/libsrc/dvpshlp.cc index dc0576d6..fd1057a1 100644 --- a/dcmpstat/libsrc/dvpshlp.cc +++ b/dcmpstat/libsrc/dvpshlp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -34,10 +34,10 @@ BEGIN_EXTERN_C #include /* for waitpid */ #endif #ifdef HAVE_SYS_TIME_H -#include /* for wait3 */ +#include #endif #ifdef HAVE_SYS_RESOURCE_H -#include /* for wait3 */ +#include #endif END_EXTERN_C @@ -127,26 +127,11 @@ void DVPSHelper::cleanChildren() { #ifdef HAVE_WAITPID int stat_loc; -#elif defined(HAVE_WAIT3) - struct rusage rusage; -#if defined(__NeXT__) - /* some systems need a union wait as argument to wait3 */ - union wait status; -#else - int status; -#endif -#endif - -#if defined(HAVE_WAITPID) || defined(HAVE_WAIT3) int child = 1; int options = WNOHANG; while (child > 0) { -#ifdef HAVE_WAITPID child = (int)(waitpid(-1, &stat_loc, options)); -#elif defined(HAVE_WAIT3) - child = wait3(&status, options, &rusage); -#endif if (child < 0) { if ((errno != ECHILD) && (errno != 0)) @@ -178,7 +163,7 @@ OFBool DVPSHelper::haveReferencedUIDItem(DcmSequenceOfItems& seq, const char *ui { item = seq.getItem(i); stack.clear(); - if (EC_Normal == item->search(DCM_ReferencedSOPClassUID, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == item->search(DCM_ReferencedSOPClassUID, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_UI)) { aString.clear(); refuid = (DcmUniqueIdentifier *)(stack.top()); diff --git a/dcmpstat/libsrc/dvpsib.cc b/dcmpstat/libsrc/dvpsib.cc index 096c5b3e..57fee576 100644 --- a/dcmpstat/libsrc/dvpsib.cc +++ b/dcmpstat/libsrc/dvpsib.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2018, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -153,7 +153,7 @@ OFCondition DVPSImageBoxContent::read(DcmItem &dset, DVPSPresentationLUT_PList& if (result==EC_Normal) { stack.clear(); - if (EC_Normal == dset.search(DCM_ReferencedImageSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_ReferencedImageSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() ==1) @@ -181,7 +181,7 @@ OFCondition DVPSImageBoxContent::read(DcmItem &dset, DVPSPresentationLUT_PList& // check referenced presentation LUT sequence // if there is any reference, it must refer to one of the presentation LUTs we are managing. stack.clear(); - if (EC_Normal == dset.search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() ==1) @@ -672,7 +672,7 @@ OFBool DVPSImageBoxContent::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)imageBoxPosition.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)imageBoxPosition.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { imageBoxPosition = *((DcmUnsignedShort *)(stack.top())); // the image box position is checked elsewhere @@ -688,7 +688,7 @@ OFBool DVPSImageBoxContent::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)magnificationType.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)magnificationType.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { magnificationType = *((DcmCodeString *)(stack.top())); Uint32 numMagnifications = cfg.getTargetPrinterNumberOfMagnificationTypes(cfgname); @@ -721,7 +721,7 @@ OFBool DVPSImageBoxContent::printSCPSet( { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)smoothingType.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)smoothingType.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { smoothingType = *((DcmCodeString *)(stack.top())); Uint32 numSmoothings = cfg.getTargetPrinterNumberOfSmoothingTypes(cfgname); @@ -761,7 +761,7 @@ OFBool DVPSImageBoxContent::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)configurationInformation.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)configurationInformation.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_ST)) { configurationInformation = *((DcmShortText *)(stack.top())); Uint32 numConfigurationInformation = cfg.getTargetPrinterNumberOfConfigurationSettings(cfgname); @@ -800,7 +800,7 @@ OFBool DVPSImageBoxContent::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)polarity.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)polarity.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { polarity = *((DcmCodeString *)(stack.top())); OFString thePolarity; @@ -820,7 +820,7 @@ OFBool DVPSImageBoxContent::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)requestedImageSize.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)requestedImageSize.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_DS)) { if (! cfg.getTargetPrinterSupportsRequestedImageSize(cfgname)) { @@ -841,7 +841,7 @@ OFBool DVPSImageBoxContent::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)requestedDecimateCropBehavior.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)requestedDecimateCropBehavior.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { if (! cfg.getTargetPrinterSupportsDecimateCrop(cfgname)) { @@ -871,7 +871,7 @@ OFBool DVPSImageBoxContent::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search(DCM_BasicGrayscaleImageSequence, stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search(DCM_BasicGrayscaleImageSequence, stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_SQ)) { DcmSequenceOfItems *seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() ==1) @@ -971,7 +971,7 @@ OFBool DVPSImageBoxContent::printSCPEvaluateBasicGrayscaleImageSequence( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)samplesPerPixel.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)samplesPerPixel.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { samplesPerPixel = *((DcmUnsignedShort *)(stack.top())); val = 0; @@ -994,7 +994,7 @@ OFBool DVPSImageBoxContent::printSCPEvaluateBasicGrayscaleImageSequence( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)rows.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)rows.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { rows = *((DcmUnsignedShort *)(stack.top())); val = 0; @@ -1017,7 +1017,7 @@ OFBool DVPSImageBoxContent::printSCPEvaluateBasicGrayscaleImageSequence( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)columns.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)columns.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { columns = *((DcmUnsignedShort *)(stack.top())); val = 0; @@ -1042,7 +1042,7 @@ OFBool DVPSImageBoxContent::printSCPEvaluateBasicGrayscaleImageSequence( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)bitsStored.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)bitsStored.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { bitsStored = *((DcmUnsignedShort *)(stack.top())); val = 0; @@ -1082,7 +1082,7 @@ OFBool DVPSImageBoxContent::printSCPEvaluateBasicGrayscaleImageSequence( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)bitsAllocated.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)bitsAllocated.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { bitsAllocated = *((DcmUnsignedShort *)(stack.top())); val = 0; @@ -1105,7 +1105,7 @@ OFBool DVPSImageBoxContent::printSCPEvaluateBasicGrayscaleImageSequence( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)highBit.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)highBit.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { highBit = *((DcmUnsignedShort *)(stack.top())); val = 0; @@ -1128,7 +1128,7 @@ OFBool DVPSImageBoxContent::printSCPEvaluateBasicGrayscaleImageSequence( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)pixelRepresentation.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)pixelRepresentation.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { pixelRepresentation = *((DcmUnsignedShort *)(stack.top())); val = 0; @@ -1151,7 +1151,7 @@ OFBool DVPSImageBoxContent::printSCPEvaluateBasicGrayscaleImageSequence( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)photometricInterpretation.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)photometricInterpretation.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { photometricInterpretation = *((DcmCodeString *)(stack.top())); OFString theColorModel; @@ -1175,7 +1175,7 @@ OFBool DVPSImageBoxContent::printSCPEvaluateBasicGrayscaleImageSequence( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)pixelAspectRatio.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)pixelAspectRatio.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_IS)) { pixelAspectRatio = *((DcmIntegerString *)(stack.top())); if (pixelAspectRatio.getVM() != 2) @@ -1193,7 +1193,7 @@ OFBool DVPSImageBoxContent::printSCPEvaluateBasicGrayscaleImageSequence( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search(DCM_PixelData, stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search(DCM_PixelData, stack, ESM_fromHere, OFFalse)) && stack.top()->isElement()) { pixelData = new DcmPixelData(DCM_PixelData); if (pixelData) diff --git a/dcmpstat/libsrc/dvpsibl.cc b/dcmpstat/libsrc/dvpsibl.cc index e3768d5a..ef069eb8 100644 --- a/dcmpstat/libsrc/dvpsibl.cc +++ b/dcmpstat/libsrc/dvpsibl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1999-2010, OFFIS e.V. + * Copyright (C) 1999-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -68,7 +68,7 @@ OFCondition DVPSImageBoxContent_PList::read(DcmItem &dset, DVPSPresentationLUT_P DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_RETIRED_ImageBoxContentSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_RETIRED_ImageBoxContentSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) diff --git a/dcmpstat/libsrc/dvpsmsg.cc b/dcmpstat/libsrc/dvpsmsg.cc index 15344e33..743c023b 100644 --- a/dcmpstat/libsrc/dvpsmsg.cc +++ b/dcmpstat/libsrc/dvpsmsg.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -287,7 +287,7 @@ void DVPSIPCClient::requestConnection() if (s < 0) return; #endif OFSockAddr server; - OFStandard::getAddressByHostname("localhost", server); + OFStandard::getAddressByHostname("localhost", AF_INET, server); server.setPort(OFstatic_cast(unsigned short, htons(OFstatic_cast(unsigned short, port)))); if (connect(s, server.getSockaddr(), server.size()) < 0) diff --git a/dcmpstat/libsrc/dvpspl.cc b/dcmpstat/libsrc/dvpspl.cc index ec4cccf9..f5574ab3 100644 --- a/dcmpstat/libsrc/dvpspl.cc +++ b/dcmpstat/libsrc/dvpspl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1999-2018, OFFIS e.V. + * Copyright (C) 1999-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,6 +24,7 @@ #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcsequen.h" #include "dcmtk/dcmdata/dcvrcs.h" +#include "dcmtk/dcmdata/dcvrobow.h" #include "dcmtk/dcmpstat/dvpspl.h" #include "dcmtk/dcmpstat/dvpsdef.h" /* for constants and macros */ #include "dcmtk/dcmnet/dimse.h" @@ -79,29 +80,36 @@ OFCondition DVPSPresentationLUT::read(DcmItem &dset, OFBool withSOPInstance) if (result==EC_Normal) { stack.clear(); - if (EC_Normal == dset.search(DCM_PresentationLUTSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_PresentationLUTSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() ==1) { item = seq->getItem(0); stack.clear(); - if (EC_Normal == item->search((DcmTagKey &)presentationLUTDescriptor.getTag(), - stack, ESM_fromHere, OFFalse)) + + // LUTDescriptor can be US or SS + if ((EC_Normal == item->search((DcmTagKey &)presentationLUTDescriptor.getTag(), + stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_SS)) { - presentationLUTDescriptor = *((DcmUnsignedShort *)(stack.top())); + // We explicitly use DcmElement::operator=(), which works for US and SS + DcmElement *pLUTDescriptor = &presentationLUTDescriptor; + pLUTDescriptor->operator=(* OFstatic_cast(DcmElement *, stack.top())); } + stack.clear(); if (EC_Normal == item->search((DcmTagKey &)presentationLUTExplanation.getTag(), - stack, ESM_fromHere, OFFalse)) + stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_LO)) { presentationLUTExplanation = *((DcmLongString *)(stack.top())); } stack.clear(); if (EC_Normal == item->search((DcmTagKey &)presentationLUTData.getTag(), - stack, ESM_fromHere, OFFalse)) + stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_OW)) { - presentationLUTData = *((DcmUnsignedShort *)(stack.top())); + // we deliberately call DcmElement::operator=() here, which will work for both DcmUnsignedShort and DcmOtherByteOtherWord parameters + DcmElement *pldata = &presentationLUTData; + pldata->operator=(*(DcmElement *)(stack.top())); } } else { result=EC_TagNotFound; @@ -187,10 +195,16 @@ OFCondition DVPSPresentationLUT::write(DcmItem &dset, OFBool withSOPInstance) dseq = new DcmSequenceOfItems(DCM_PresentationLUTSequence); if (dseq) { - delem = new DcmUnsignedShort(presentationLUTDescriptor); + // we clone presentationLUTDescriptor in order to retain the VR (US or SS) + delem = OFstatic_cast(DcmElement *, presentationLUTDescriptor.clone()); if (delem) ditem->insert(delem, OFTrue /*replaceOld*/); else result=EC_MemoryExhausted; - delem = new DcmUnsignedShort(presentationLUTData); + + // we write LUTData as OW in order to avoid the 64 kByte limit for US + delem = new DcmOtherByteOtherWord(DCM_LUTData); + delem->operator=(presentationLUTData); + OFstatic_cast(DcmOtherByteOtherWord *, delem)->setVR(EVR_OW); if (delem) ditem->insert(delem, OFTrue /*replaceOld*/); else result=EC_MemoryExhausted; + if (presentationLUTExplanation.getLength() >0) { delem = new DcmLongString(presentationLUTExplanation); diff --git a/dcmpstat/libsrc/dvpspll.cc b/dcmpstat/libsrc/dvpspll.cc index 1b2b7a35..46465171 100644 --- a/dcmpstat/libsrc/dvpspll.cc +++ b/dcmpstat/libsrc/dvpspll.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1999-2022, OFFIS e.V. + * Copyright (C) 1999-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -72,7 +72,7 @@ OFCondition DVPSPresentationLUT_PList::read(DcmItem &dset) DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_RETIRED_PresentationLUTContentSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_RETIRED_PresentationLUTContentSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) diff --git a/dcmpstat/libsrc/dvpspr.cc b/dcmpstat/libsrc/dvpspr.cc index cb0edf68..9e2e1da0 100644 --- a/dcmpstat/libsrc/dvpspr.cc +++ b/dcmpstat/libsrc/dvpspr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2022, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,11 +21,11 @@ */ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ - +#include "dcmtk/dcmpstat/dvpspr.h" #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofstd.h" +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmpstat/dvpsdef.h" -#include "dcmtk/dcmpstat/dvpspr.h" /* --------------- class DVPSPrintMessageHandler --------------- */ @@ -154,7 +154,7 @@ OFCondition DVPSPrintMessageHandler::sendNRequest( if (response.CommandField != expectedResponse) { char buf1[256]; - sprintf(buf1, "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)response.CommandField); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)response.CommandField); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf1); } T_DIMSE_DataSetType responseDataset = DIMSE_DATASET_NULL; @@ -185,7 +185,7 @@ OFCondition DVPSPrintMessageHandler::sendNRequest( default: { char buf1[256]; - sprintf(buf1, "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)response.CommandField); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)response.CommandField); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf1); } /* break; */ @@ -193,7 +193,7 @@ OFCondition DVPSPrintMessageHandler::sendNRequest( if (responseMessageID != expectedMessageID) { char buf1[256]; - sprintf(buf1, "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)response.CommandField); + OFStandard::snprintf(buf1, sizeof(buf1), "DIMSE: Unexpected Response Command Field: 0x%x", (unsigned)response.CommandField); return makeDcmnetCondition(DIMSEC_UNEXPECTEDRESPONSE, OF_error, buf1); } rspDataset = NULL; @@ -469,6 +469,7 @@ OFCondition DVPSPrintMessageHandler::negotiateAssociation( const char *peerAEtitle, const char *peerHost, int peerPort, + T_ASC_ProtocolFamily protocolFamily, long peerMaxPDU, OFBool negotiatePresentationLUT, OFBool negotiateAnnotationBox, @@ -498,7 +499,8 @@ OFCondition DVPSPrintMessageHandler::negotiateAssociation( if (cond.bad()) return cond; ASC_setAPTitles(params, myAEtitle, peerAEtitle, NULL); - sprintf(dnpeerHost, "%s:%d", peerHost, peerPort); + ASC_setProtocolFamily(params, protocolFamily); + OFStandard::snprintf(dnpeerHost, sizeof(dnpeerHost), "%s:%d", peerHost, peerPort); ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), dnpeerHost); /* presentation contexts */ diff --git a/dcmpstat/libsrc/dvpsri.cc b/dcmpstat/libsrc/dvpsri.cc index 684229a7..2cc9d11e 100644 --- a/dcmpstat/libsrc/dvpsri.cc +++ b/dcmpstat/libsrc/dvpsri.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,10 +21,11 @@ */ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmpstat/dvpsri.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcitem.h" -#include "dcmtk/dcmpstat/dvpsri.h" #include "dcmtk/dcmpstat/dvpsdef.h" /* for constants and macros */ +#include "dcmtk/ofstd/ofstd.h" /* --------------- class DVPSReferencedImage --------------- */ @@ -235,7 +236,8 @@ void DVPSReferencedImage::removeFrameReference(unsigned long frame, unsigned lon { if (frameCache[i] != (Sint32)frame) { - if (aString.size() ==0) sprintf(str, "%ld", (long)(frameCache[i])); else sprintf(str, "\\%ld", (long)(frameCache[i])); + if (aString.size() ==0) OFStandard::snprintf(str, sizeof(str), "%ld", (long)(frameCache[i])); + else OFStandard::snprintf(str, sizeof(str), "\\%ld", (long)(frameCache[i])); aString += str; } } @@ -244,7 +246,8 @@ void DVPSReferencedImage::removeFrameReference(unsigned long frame, unsigned lon { if (i != frame) { - if (aString.size() ==0) sprintf(str, "%ld", i); else sprintf(str, "\\%ld", i); + if (aString.size() ==0) OFStandard::snprintf(str, sizeof(str), "%ld", i); + else OFStandard::snprintf(str, sizeof(str), "\\%ld", i); aString += str; } } diff --git a/dcmpstat/libsrc/dvpsril.cc b/dcmpstat/libsrc/dvpsril.cc index 793e6906..3a7f022a 100644 --- a/dcmpstat/libsrc/dvpsril.cc +++ b/dcmpstat/libsrc/dvpsril.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2022, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,13 +21,14 @@ */ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/dcmpstat/dvpsril.h" #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcsequen.h" -#include "dcmtk/dcmpstat/dvpsril.h" #include "dcmtk/dcmpstat/dvpsri.h" /* for DVPSReferencedImage */ #include "dcmtk/dcmpstat/dvpsrsl.h" /* DVPSReferencedSeries_PList */ #include "dcmtk/dcmpstat/dvpsrs.h" /* for DVPSReferencedSeries, needed by MSVC5 with STL */ #include "dcmtk/dcmpstat/dvpsdef.h" +#include "dcmtk/ofstd/ofstd.h" DVPSReferencedImage_PList::DVPSReferencedImage_PList() @@ -71,7 +72,7 @@ OFCondition DVPSReferencedImage_PList::read(DcmItem &dset) DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_ReferencedImageSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_ReferencedImageSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) @@ -221,7 +222,7 @@ OFCondition DVPSReferencedImage_PList::addImageReference( char frameString[24]; if (applicability==DVPSB_currentFrame) { - sprintf(frameString, "%ld", frame); + OFStandard::snprintf(frameString, sizeof(frameString), "%ld", frame); framenumber = frameString; } return addImageReference(sopclassUID, instanceUID, framenumber); diff --git a/dcmpstat/libsrc/dvpsrsl.cc b/dcmpstat/libsrc/dvpsrsl.cc index 4b0c83aa..d2f9dcff 100644 --- a/dcmpstat/libsrc/dvpsrsl.cc +++ b/dcmpstat/libsrc/dvpsrsl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2010, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -69,7 +69,7 @@ OFCondition DVPSReferencedSeries_PList::read(DcmItem &dset) DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_ReferencedSeriesSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_ReferencedSeriesSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) diff --git a/dcmpstat/libsrc/dvpssp.cc b/dcmpstat/libsrc/dvpssp.cc index 98b1201a..4cb03f10 100644 --- a/dcmpstat/libsrc/dvpssp.cc +++ b/dcmpstat/libsrc/dvpssp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -45,6 +45,7 @@ #include "dcmtk/dcmpstat/dvpstx.h" /* for DVPSTextObject, needed by MSVC5 with STL */ #include "dcmtk/dcmpstat/dvpsgr.h" /* for DVPSGraphicObject, needed by MSVC5 with STL */ #include "dcmtk/dcmpstat/dvpsri.h" /* for DVPSReferencedImage, needed by MSVC5 with STL */ +#include "dcmtk/ofstd/ofstd.h" #include @@ -328,7 +329,7 @@ OFCondition DVPSStoredPrint::read(DcmItem &dset) if (result==EC_Normal) { stack.clear(); - if (EC_Normal == dset.search(DCM_RETIRED_FilmBoxContentSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_RETIRED_FilmBoxContentSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() ==1) @@ -362,7 +363,7 @@ OFCondition DVPSStoredPrint::read(DcmItem &dset) // check referenced presentation LUT sequence // if there is any reference, it must refer to one of the presentation LUTs we are managing. stack.clear(); - if (EC_Normal == item->search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == item->search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() ==1) @@ -445,7 +446,7 @@ OFCondition DVPSStoredPrint::read(DcmItem &dset) if (result==EC_Normal) { stack.clear(); - if (EC_Normal == dset.search(DCM_RETIRED_PrintManagementCapabilitiesSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_RETIRED_PrintManagementCapabilitiesSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { OFBool haveFilmBox = OFFalse; OFBool haveGrayscaleImageBox = OFFalse; @@ -511,7 +512,7 @@ OFCondition DVPSStoredPrint::read(DcmItem &dset) destination.clear(); printerName.clear(); stack.clear(); - if (EC_Normal == dset.search(DCM_RETIRED_PrinterCharacteristicsSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_RETIRED_PrinterCharacteristicsSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { seq = (DcmSequenceOfItems *)stack.top(); if (seq->card() > 0) @@ -928,7 +929,7 @@ OFCondition DVPSStoredPrint::setImageDisplayFormat(unsigned long columns, unsign { if ((columns==0)||(rows==0)) return EC_IllegalCall; char newFormat[80]; - sprintf(newFormat, "STANDARD\\%lu,%lu", columns, rows); + OFStandard::snprintf(newFormat, sizeof(newFormat), "STANDARD\\%lu,%lu", columns, rows); OFCondition result = imageDisplayFormat.putString(newFormat); if (EC_Normal == result) @@ -1536,7 +1537,7 @@ OFCondition DVPSStoredPrint::printSCUcreateBasicFilmBox(DVPSPrintMessageHandler& { // N-CREATE was successful, now evaluate Referenced Image Box SQ stack.clear(); - if (EC_Normal == attributeListOut->search(DCM_ReferencedImageBoxSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == attributeListOut->search(DCM_ReferencedImageBoxSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { seq=(DcmSequenceOfItems *)stack.top(); numItems = (size_t)seq->card(); @@ -1559,7 +1560,7 @@ OFCondition DVPSStoredPrint::printSCUcreateBasicFilmBox(DVPSPrintMessageHandler& // evaluate Referenced Basic Annotation Box SQ if present stack.clear(); annotationContentList.clearAnnotationSOPInstanceUIDs(); - if (EC_Normal == attributeListOut->search(DCM_ReferencedBasicAnnotationBoxSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == attributeListOut->search(DCM_ReferencedBasicAnnotationBoxSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { seq=(DcmSequenceOfItems *)stack.top(); numItems = (size_t)seq->card(); @@ -1717,7 +1718,7 @@ OFCondition DVPSStoredPrint::printSCUsetBasicImageBox( double aspectRatio = image.getWidthHeightRatio(); if ((aspectRatio != 1.0)&&(aspectRatio != 0)) { - sprintf(str, "10000\\%ld", (long)(aspectRatio*10000.0)); + OFStandard::snprintf(str, sizeof(str), "10000\\%ld", (long)(aspectRatio*10000.0)); if (EC_Normal==result) result = DVPSHelper::putStringValue(ditem, DCM_PixelAspectRatio, str); } if (transmitImagesIn12Bit) @@ -1819,7 +1820,7 @@ const char *DVPSStoredPrint::getMaxDensity() if (EC_Normal == maxDensity.getUint16(density,0)) { char buf[20]; - sprintf(buf, "%hu", density); + OFStandard::snprintf(buf, sizeof(buf), "%hu", density); tempDensity = buf; return tempDensity.c_str(); } @@ -1835,7 +1836,7 @@ const char *DVPSStoredPrint::getMinDensity() if (EC_Normal == minDensity.getUint16(density,0)) { char buf[20]; - sprintf(buf, "%hu", density); + OFStandard::snprintf(buf, sizeof(buf), "%hu", density); tempDensity = buf; return tempDensity.c_str(); } @@ -2419,7 +2420,7 @@ OFBool DVPSStoredPrint::printSCPCreate( { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_SQ)) { DcmSequenceOfItems *seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() ==1) @@ -2487,7 +2488,7 @@ OFBool DVPSStoredPrint::printSCPCreate( { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search(DCM_ReferencedFilmSessionSequence, stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search(DCM_ReferencedFilmSessionSequence, stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_SQ)) { DcmUniqueIdentifier classUID(DCM_ReferencedSOPClassUID); DcmUniqueIdentifier instanceUID(DCM_ReferencedSOPInstanceUID); @@ -2706,7 +2707,7 @@ OFBool DVPSStoredPrint::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)magnificationType.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)magnificationType.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { magnificationType = *((DcmCodeString *)(stack.top())); Uint32 numMagnifications = cfg.getTargetPrinterNumberOfMagnificationTypes(cfgname); @@ -2739,7 +2740,7 @@ OFBool DVPSStoredPrint::printSCPSet( { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)smoothingType.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)smoothingType.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { smoothingType = *((DcmCodeString *)(stack.top())); Uint32 numSmoothings = cfg.getTargetPrinterNumberOfSmoothingTypes(cfgname); @@ -2781,7 +2782,7 @@ OFBool DVPSStoredPrint::printSCPSet( { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)borderDensity.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)borderDensity.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { borderDensity = *((DcmCodeString *)(stack.top())); Uint32 numBorderDensities = cfg.getTargetPrinterNumberOfBorderDensities(cfgname); @@ -2832,7 +2833,7 @@ OFBool DVPSStoredPrint::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)emptyImageDensity.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)emptyImageDensity.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { emptyImageDensity = *((DcmCodeString *)(stack.top())); Uint32 numEmptyImageDensities = cfg.getTargetPrinterNumberOfEmptyImageDensities(cfgname); @@ -2883,7 +2884,7 @@ OFBool DVPSStoredPrint::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)maxDensity.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)maxDensity.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { maxDensity = *((DcmUnsignedShort *)(stack.top())); // we don't check a max density set by the user (for now) @@ -2895,7 +2896,7 @@ OFBool DVPSStoredPrint::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)minDensity.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)minDensity.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { minDensity = *((DcmUnsignedShort *)(stack.top())); Uint32 numMinDensities = cfg.getTargetPrinterNumberOfMinDensities(cfgname); @@ -2917,7 +2918,7 @@ OFBool DVPSStoredPrint::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)trim.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)trim.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_CS)) { trim = *((DcmCodeString *)(stack.top())); @@ -2945,7 +2946,7 @@ OFBool DVPSStoredPrint::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)configurationInformation.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)configurationInformation.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_ST)) { configurationInformation = *((DcmShortText *)(stack.top())); Uint32 numConfigurationInformation = cfg.getTargetPrinterNumberOfConfigurationSettings(cfgname); @@ -2987,7 +2988,7 @@ OFBool DVPSStoredPrint::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)illumination.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)illumination.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { illumination = *((DcmUnsignedShort *)(stack.top())); // we don't check illumination set by the user (for now) @@ -2999,7 +3000,7 @@ OFBool DVPSStoredPrint::printSCPSet( if (result) { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)reflectedAmbientLight.getTag(), stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)reflectedAmbientLight.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US)) { reflectedAmbientLight = *((DcmUnsignedShort *)(stack.top())); // we don't check reflected ambient light set by the user (for now) @@ -3012,7 +3013,7 @@ OFBool DVPSStoredPrint::printSCPSet( { stack.clear(); - if (rqDataset && (EC_Normal == rqDataset->search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse))) + if (rqDataset && (EC_Normal == rqDataset->search(DCM_ReferencedPresentationLUTSequence, stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_SQ)) { DcmSequenceOfItems *seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() ==1) diff --git a/dcmpstat/libsrc/dvpssv.cc b/dcmpstat/libsrc/dvpssv.cc index 8e3d49bd..4a7fd0e3 100644 --- a/dcmpstat/libsrc/dvpssv.cc +++ b/dcmpstat/libsrc/dvpssv.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2018, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -23,6 +23,7 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcsequen.h" +#include "dcmtk/dcmdata/dcvrobow.h" #include "dcmtk/dcmpstat/dvpssv.h" #include "dcmtk/dcmpstat/dvpsri.h" /* for DVPSReferencedImage */ #include "dcmtk/dcmpstat/dvpsrsl.h" /* DVPSReferencedSeries_PList */ @@ -75,29 +76,36 @@ OFCondition DVPSSoftcopyVOI::read(DcmItem &dset) if (result==EC_Normal) { stack.clear(); - if (EC_Normal == dset.search(DCM_VOILUTSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_VOILUTSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() ==1) { item = seq->getItem(0); stack.clear(); - if (EC_Normal == item->search((DcmTagKey &)voiLUTDescriptor.getTag(), - stack, ESM_fromHere, OFFalse)) + + // LUTDescriptor can be US or SS + if ((EC_Normal == item->search((DcmTagKey &)voiLUTDescriptor.getTag(), + stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_SS)) { - voiLUTDescriptor = *((DcmUnsignedShort *)(stack.top())); + // We explicitly use DcmElement::operator=(), which works for US and SS + DcmElement *vLUTDescriptor = &voiLUTDescriptor; + vLUTDescriptor->operator=(* OFstatic_cast(DcmElement *, stack.top())); } + stack.clear(); if (EC_Normal == item->search((DcmTagKey &)voiLUTExplanation.getTag(), - stack, ESM_fromHere, OFFalse)) + stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_LO)) { voiLUTExplanation = *((DcmLongString *)(stack.top())); } stack.clear(); if (EC_Normal == item->search((DcmTagKey &)voiLUTData.getTag(), - stack, ESM_fromHere, OFFalse)) + stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_OW)) { - voiLUTData = *((DcmUnsignedShort *)(stack.top())); + // we deliberately call DcmElement::operator=() here, which will work for both DcmUnsignedShort and DcmOtherByteOtherWord parameters + DcmElement *vldata = &voiLUTData; + vldata->operator=(*(DcmElement *)(stack.top())); } } else { result=EC_TagNotFound; @@ -177,10 +185,16 @@ OFCondition DVPSSoftcopyVOI::write(DcmItem &dset) dseq = new DcmSequenceOfItems(DCM_VOILUTSequence); if (dseq) { - delem = new DcmUnsignedShort(voiLUTDescriptor); + // we clone voiLUTDescriptor in order to retain the VR (US or SS) + delem = OFstatic_cast(DcmElement *, voiLUTDescriptor.clone()); if (delem) ditem->insert(delem, OFTrue /*replaceOld*/); else result=EC_MemoryExhausted; - delem = new DcmUnsignedShort(voiLUTData); + + // we write LUTData as OW in order to avoid the 64 kByte limit for US + delem = new DcmOtherByteOtherWord(DCM_LUTData); + delem->operator=(voiLUTData); + OFstatic_cast(DcmOtherByteOtherWord *, delem)->setVR(EVR_OW); if (delem) ditem->insert(delem, OFTrue /*replaceOld*/); else result=EC_MemoryExhausted; + if (voiLUTExplanation.getLength() >0) { delem = new DcmLongString(voiLUTExplanation); diff --git a/dcmpstat/libsrc/dvpssvl.cc b/dcmpstat/libsrc/dvpssvl.cc index d1532db5..efcb6a26 100644 --- a/dcmpstat/libsrc/dvpssvl.cc +++ b/dcmpstat/libsrc/dvpssvl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1999-2023, OFFIS e.V. + * Copyright (C) 1999-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -72,7 +72,7 @@ OFCondition DVPSSoftcopyVOI_PList::read(DcmItem &dset) DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_SoftcopyVOILUTSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_SoftcopyVOILUTSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) @@ -249,29 +249,36 @@ OFCondition DVPSSoftcopyVOI_PList::createFromImage( if (result==EC_Normal) { stack.clear(); - if (EC_Normal == dset.search(DCM_VOILUTSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_VOILUTSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { seq=(DcmSequenceOfItems *)stack.top(); if (seq->card() > 0) { item = seq->getItem(0); stack.clear(); - if (EC_Normal == item->search((DcmTagKey &)voiLUTDescriptor.getTag(), - stack, ESM_fromHere, OFFalse)) + + // LUTDescriptor can be US or SS + if ((EC_Normal == item->search((DcmTagKey &)voiLUTDescriptor.getTag(), + stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_SS)) { - voiLUTDescriptor = *((DcmUnsignedShort *)(stack.top())); + // We explicitly use DcmElement::operator=(), which works for US and SS + DcmElement *vLUTDescriptor = &voiLUTDescriptor; + vLUTDescriptor->operator=(* OFstatic_cast(DcmElement *, stack.top())); } + stack.clear(); if (EC_Normal == item->search((DcmTagKey &)voiLUTExplanation.getTag(), - stack, ESM_fromHere, OFFalse)) + stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_LO)) { voiLUTExplanation = *((DcmLongString *)(stack.top())); } stack.clear(); if (EC_Normal == item->search((DcmTagKey &)voiLUTData.getTag(), - stack, ESM_fromHere, OFFalse)) + stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_OW)) { - voiLUTData = *((DcmUnsignedShort *)(stack.top())); + // we deliberately call DcmElement::operator=() here, which will work for both DcmUnsignedShort and DcmOtherByteOtherWord parameters + DcmElement *vldata = &voiLUTData; + vldata->operator=(*(DcmElement *)(stack.top())); } } else result=EC_TagNotFound; } diff --git a/dcmpstat/libsrc/dvpstat.cc b/dcmpstat/libsrc/dvpstat.cc index ce2f5ad5..040f9024 100644 --- a/dcmpstat/libsrc/dvpstat.cc +++ b/dcmpstat/libsrc/dvpstat.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -578,14 +578,14 @@ OFCondition DVPresentationState::attachImage(DcmDataset *dataset, OFBool transfe currentImageSelectedFrame = 1; // default: first frame // get Modality - if (EC_Normal == dataset->search(DCM_Modality, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dataset->search(DCM_Modality, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_CS)) { currentImageModality = *((DcmCodeString *)(stack.top())); } stack.clear(); // determine default Presentation LUT Shape - if (EC_Normal == dataset->search(DCM_PhotometricInterpretation, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dataset->search(DCM_PhotometricInterpretation, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_CS)) { DcmCodeString *photometricInterpretation = (DcmCodeString *)(stack.top()); if (photometricInterpretation->getVM() == 1) @@ -598,12 +598,12 @@ OFCondition DVPresentationState::attachImage(DcmDataset *dataset, OFBool transfe stack.clear(); // get SOP class UID and SOP instance UID. - if ((EC_Normal == result)&&(EC_Normal == dataset->search(DCM_SOPClassUID, stack, ESM_fromHere, OFFalse))) + if ((EC_Normal == result)&&(EC_Normal == dataset->search(DCM_SOPClassUID, stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_UI)) { result = ((DcmUniqueIdentifier *)(stack.top()))->getString(currentImageSOPClassUID); } stack.clear(); - if ((EC_Normal == result)&&(EC_Normal == dataset->search(DCM_SOPInstanceUID, stack, ESM_fromHere, OFFalse))) + if ((EC_Normal == result)&&(EC_Normal == dataset->search(DCM_SOPInstanceUID, stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_UI)) { result = ((DcmUniqueIdentifier *)(stack.top()))->getString(currentImageSOPInstanceUID); } @@ -745,13 +745,13 @@ OFCondition DVPresentationState::setRectShutter(Sint32 lv, Sint32 rv, Sint32 uh, OFCondition result=EC_Normal; char buf[80]; - sprintf(buf, "%ld", (long)lv); + OFStandard::snprintf(buf, sizeof(buf), "%ld", (long)lv); result = shutterLeftVerticalEdge.putString(buf); - sprintf(buf, "%ld", (long)rv); + OFStandard::snprintf(buf, sizeof(buf), "%ld", (long)rv); if (EC_Normal==result) result = shutterRightVerticalEdge.putString(buf); - sprintf(buf, "%ld", (long)uh); + OFStandard::snprintf(buf, sizeof(buf), "%ld", (long)uh); if (EC_Normal==result) result = shutterUpperHorizontalEdge.putString(buf); - sprintf(buf, "%ld", (long)lh); + OFStandard::snprintf(buf, sizeof(buf), "%ld", (long)lh); if (EC_Normal==result) result = shutterLowerHorizontalEdge.putString(buf); if ((EC_Normal==result)&&(shutterPresentationValue.getLength()==0)) result = shutterPresentationValue.putUint16(0,0); @@ -770,9 +770,9 @@ OFCondition DVPresentationState::setCircularShutter(Sint32 centerX, Sint32 cente OFCondition result=EC_Normal; char buf[80]; - sprintf(buf, "%ld\\%ld", (long)centerY, (long)centerX); + OFStandard::snprintf(buf, sizeof(buf), "%ld\\%ld", (long)centerY, (long)centerX); result = centerOfCircularShutter.putString(buf); - sprintf(buf, "%ld", (long)radius); + OFStandard::snprintf(buf, sizeof(buf), "%ld", (long)radius); if (EC_Normal==result) result = radiusOfCircularShutter.putString(buf); if ((EC_Normal==result)&&(shutterPresentationValue.getLength()==0)) result = shutterPresentationValue.putUint16(0,0); @@ -794,7 +794,7 @@ OFCondition DVPresentationState::addPolyShutterVertex(Sint32 x, Sint32 y) if (result==EC_Normal) { char buf[80]; - sprintf(buf, "\\%ld\\%ld", (long)y, (long)x); + OFStandard::snprintf(buf, sizeof(buf), "\\%ld\\%ld", (long)y, (long)x); aString += buf; result = verticesOfThePolygonalShutter.putOFStringArray(aString); } @@ -1124,40 +1124,36 @@ OFCondition DVPresentationState::setGammaVOILUT(double gammaValue, DVPSObjectApp numEntries16 = (Uint16)numberOfEntries; /* LUT Descriptor */ - DcmElement *lutDescriptor = NULL; - if (firstMapped < 0) + DcmUnsignedShort *lutDescriptor = new DcmUnsignedShort(DcmTag(DCM_LUTDescriptor, EVR_US)); + if (lutDescriptor == NULL) status = EC_MemoryExhausted; + else { - // LUT Descriptor is SS - lutDescriptor = new DcmSignedShort(DcmTag(DCM_LUTDescriptor, EVR_SS)); - if (lutDescriptor != NULL) + if (firstMapped < 0) { - status = lutDescriptor->putSint16((Sint16)numEntries16, 0); - if (EC_Normal == status) - status = lutDescriptor->putSint16((Sint16)firstMapped, 1); - if (EC_Normal == status) - status = lutDescriptor->putSint16((Sint16)numberOfBits, 2); - } else - status = EC_MemoryExhausted; - } else { - // LUT Descriptor is US - lutDescriptor = new DcmUnsignedShort(DcmTag(DCM_LUTDescriptor, EVR_US)); - if (lutDescriptor != NULL) - { - status = lutDescriptor->putUint16(numEntries16, 0); - if (EC_Normal == status) - status = lutDescriptor->putUint16((Uint16)firstMapped, 1); - if (EC_Normal == status) - status = lutDescriptor->putUint16((Uint16)numberOfBits, 2); - } else - status = EC_MemoryExhausted; + // LUT Descriptor is SS + DcmSignedShort ldesc(DcmTag(DCM_LUTDescriptor, EVR_SS)); + status = ldesc.putSint16((Sint16)numEntries16, 0); + if (EC_Normal == status) status = ldesc.putSint16((Sint16)firstMapped, 1); + if (EC_Normal == status) status = ldesc.putSint16((Sint16)numberOfBits, 2); + if (EC_Normal == status) + { + // copy content of SS element into DcmUnsignedShort using DcmElement::operator= + DcmElement *ld = lutDescriptor; + ld->operator=(ldesc); + } + } else { + // LUT Descriptor is US + status = lutDescriptor->putUint16(numEntries16, 0); + if (EC_Normal == status) status = lutDescriptor->putUint16((Uint16)firstMapped, 1); + if (EC_Normal == status) status = lutDescriptor->putUint16((Uint16)numberOfBits, 2); + } } /* LUT Data */ - DcmElement *lutData = NULL; + DcmUnsignedShort *lutData = NULL; if (status == EC_Normal) { - // LUT Data as OW, because of max size = 64K - lutData = new DcmOtherByteOtherWord(DcmTag(DCM_LUTData, EVR_OW)); + lutData = new DcmUnsignedShort(DcmTag(DCM_LUTData, EVR_US)); if (lutData != NULL) status = lutData->putUint16Array(data, numberOfEntries); else @@ -1172,7 +1168,7 @@ OFCondition DVPresentationState::setGammaVOILUT(double gammaValue, DVPSObjectApp char gammabuf[16]; OFStandard::ftoa(gammabuf, sizeof(gammabuf), gammaValue, OFStandard::ftoa_format_f, 3, 1); - sprintf(explanation, "LUT with gamma %s, descriptor %u/%ld/%u", gammabuf, + OFStandard::snprintf(explanation, sizeof(explanation), "LUT with gamma %s, descriptor %u/%ld/%u", gammabuf, (numberOfEntries < 65536) ? (Uint16)numberOfEntries : 0, firstMapped, numberOfBits); lutExplanation = new DcmLongString(DCM_LUTExplanation); @@ -1186,15 +1182,14 @@ OFCondition DVPresentationState::setGammaVOILUT(double gammaValue, DVPSObjectApp if (status == EC_Normal) { if ((lutDescriptor != NULL) && (lutData != NULL) && (lutExplanation != NULL)) - status = setVOILUT(*(DcmUnsignedShort *)lutDescriptor, *(DcmUnsignedShort *)lutData, *lutExplanation, applicability); + status = setVOILUT(*lutDescriptor, *lutData, *lutExplanation, applicability); } /* delete temporary dcmtk structures */ delete lutDescriptor; delete lutData; delete lutExplanation; - } else - status = EC_MemoryExhausted; + } else status = EC_MemoryExhausted; delete[] data; } return status; diff --git a/dcmpstat/libsrc/dvpstxl.cc b/dcmpstat/libsrc/dvpstxl.cc index ffb6dcc1..8e35ff7a 100644 --- a/dcmpstat/libsrc/dvpstxl.cc +++ b/dcmpstat/libsrc/dvpstxl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2010, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -66,7 +66,7 @@ OFCondition DVPSTextObject_PList::read(DcmItem &dset) DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_TextObjectSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_TextObjectSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) diff --git a/dcmpstat/libsrc/dvpsvl.cc b/dcmpstat/libsrc/dvpsvl.cc index b10b83f2..157668dd 100644 --- a/dcmpstat/libsrc/dvpsvl.cc +++ b/dcmpstat/libsrc/dvpsvl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2018, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -25,7 +25,7 @@ #include "dcmtk/dcmpstat/dvpssv.h" /* for DVPSSoftcopyVOI */ #include "dcmtk/dcmpstat/dvpsdef.h" /* for constants and macros */ #include "dcmtk/dcmpstat/dvpsri.h" /* for DVPSReferencedImage, needed by MSVC5 with STL */ - +#include "dcmtk/ofstd/ofstd.h" /* --------------- class DVPSVOILUT --------------- */ @@ -59,9 +59,24 @@ OFCondition DVPSVOILUT::read(DcmItem &dset) OFCondition result = EC_Normal; DcmStack stack; - READ_FROM_DATASET(DcmUnsignedShort, EVR_US, voiLUTDescriptor) + // LUTDescriptor can be US or SS + if ((EC_Normal == dset.search((DcmTagKey &)voiLUTDescriptor.getTag(), + stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_SS)) + { + // We explicitly use DcmElement::operator=(), which works for US and SS + DcmElement *vLUTDescriptor = &voiLUTDescriptor; + vLUTDescriptor->operator=(* OFstatic_cast(DcmElement *, stack.top())); + } + READ_FROM_DATASET(DcmLongString, EVR_LO, voiLUTExplanation) - READ_FROM_DATASET(DcmUnsignedShort, EVR_US, voiLUTData) + + stack.clear(); + if ((EC_Normal == dset.search((DcmTagKey &)voiLUTData.getTag(), stack, ESM_fromHere, OFFalse)) && (stack.top()->ident() == EVR_US || stack.top()->ident() == EVR_OW)) + { + // we deliberately call DcmElement::operator=() here, which will work for both DcmUnsignedShort and DcmOtherByteOtherWord parameters + DcmElement *vldata = &voiLUTData; + vldata->operator=(*(DcmElement *)(stack.top())); + } if (EC_Normal == result) { @@ -74,7 +89,7 @@ OFCondition DVPSVOILUT::read(DcmItem &dset) voiLUTDescriptor.getUint16(numEntries,0); voiLUTDescriptor.getUint16(bits,2); char descr[100]; - sprintf(descr, "VOI LUT entries=%u bits=%u", (unsigned int)numEntries, (unsigned int)bits); + OFStandard::snprintf(descr, sizeof(descr), "VOI LUT entries=%u bits=%u", (unsigned int)numEntries, (unsigned int)bits); voiLUTExplanation.putString(descr); } return result; diff --git a/dcmpstat/libsrc/dvpsvll.cc b/dcmpstat/libsrc/dvpsvll.cc index 3859f4ab..17a62770 100644 --- a/dcmpstat/libsrc/dvpsvll.cc +++ b/dcmpstat/libsrc/dvpsvll.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2010, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -66,7 +66,7 @@ OFCondition DVPSVOILUT_PList::read(DcmItem &dset) DcmSequenceOfItems *dseq=NULL; DcmItem *ditem=NULL; - if (EC_Normal == dset.search(DCM_VOILUTSequence, stack, ESM_fromHere, OFFalse)) + if (EC_Normal == dset.search(DCM_VOILUTSequence, stack, ESM_fromHere, OFFalse) && (stack.top()->ident() == EVR_SQ)) { dseq=(DcmSequenceOfItems *)stack.top(); if (dseq) diff --git a/dcmpstat/libsrc/dvsighdl.cc b/dcmpstat/libsrc/dvsighdl.cc index 083b4f76..690792cf 100644 --- a/dcmpstat/libsrc/dvsighdl.cc +++ b/dcmpstat/libsrc/dvsighdl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2001-2021, OFFIS e.V. + * Copyright (C) 2001-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -36,6 +36,7 @@ #include "dcmtk/dcmsign/simdmac.h" #include "dcmtk/ofstd/ofstream.h" +#include "dcmtk/ofstd/ofstd.h" #ifdef WITH_OPENSSL BEGIN_EXTERN_C @@ -169,7 +170,7 @@ void DVSignatureHandler::printSignatureItemPosition(DcmStack& stack, STD_NAMESPA { if (sq->getItem(m) == elem) { - sprintf(buf, "[%lu]", m); + OFStandard::snprintf(buf, sizeof(buf), "[%lu]", m); os << buf; printed = OFTrue; } @@ -183,7 +184,7 @@ void DVSignatureHandler::printSignatureItemPosition(DcmStack& stack, STD_NAMESPA tagname = currentTag.getTagName(); if (tagname) os << tagname; else { - sprintf(buf, "(%04x,%04x)", elem->getTag().getGroup(), elem->getTag().getElement()); + OFStandard::snprintf(buf, sizeof(buf), "(%04x,%04x)", elem->getTag().getGroup(), elem->getTag().getElement()); os << buf; printed = OFTrue; } diff --git a/dcmpstat/tests/CMakeLists.txt b/dcmpstat/tests/CMakeLists.txt index b5ce1da9..3b30f509 100644 --- a/dcmpstat/tests/CMakeLists.txt +++ b/dcmpstat/tests/CMakeLists.txt @@ -1,5 +1,5 @@ # declare executables -DCMTK_ADD_EXECUTABLE(msgserv msgserv.cc) +DCMTK_ADD_TEST_EXECUTABLE(msgserv msgserv.cc) # make sure executables are linked to the corresponding libraries DCMTK_TARGET_LINK_MODULES(msgserv dcmpstat dcmdsig dcmsr dcmimage dcmimgle dcmqrdb dcmnet dcmtls dcmdata oflog ofstd) diff --git a/dcmpstat/tests/Makefile.dep b/dcmpstat/tests/Makefile.dep index e83cc869..48e343a2 100644 --- a/dcmpstat/tests/Makefile.dep +++ b/dcmpstat/tests/Makefile.dep @@ -13,9 +13,9 @@ msgserv.o: msgserv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -49,7 +49,6 @@ msgserv.o: msgserv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmnet/include/dcmtk/dcmnet/dcmtrans.h \ diff --git a/dcmpstat/tests/msgserv.cc b/dcmpstat/tests/msgserv.cc index 93a96c3f..dd5f45fd 100644 --- a/dcmpstat/tests/msgserv.cc +++ b/dcmpstat/tests/msgserv.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2022, OFFIS e.V. + * Copyright (C) 2000-2024 OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -61,7 +61,7 @@ END_EXTERN_C #define OFFIS_CONSOLE_APPLICATION "msgserv" -static OFLogger msgservLogger = OFLog::getLogger("dcmtk.tests." OFFIS_CONSOLE_APPLICATION); +static OFLogger msgservLogger = OFLog::getLogger("dcmtk.test." OFFIS_CONSOLE_APPLICATION); static char rcsid[] = "$dcmtk: " OFFIS_CONSOLE_APPLICATION " v" OFFIS_DCMTK_VERSION " " OFFIS_DCMTK_RELEASEDATE " $"; @@ -197,12 +197,8 @@ int main(int argc, char *argv[]) t.tv_sec = 10; // 10 seconds timeout t.tv_usec = 0; -#ifdef HAVE_INTP_SELECT - nfound = select(OFstatic_cast(int, s + 1), (int *)(&fdset), NULL, NULL, &t); -#else // the typecast is safe because Windows ignores the first select() parameter anyway nfound = select(OFstatic_cast(int, s + 1), &fdset, NULL, NULL, &t); -#endif if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) { @@ -218,13 +214,8 @@ int main(int argc, char *argv[]) int sock=0; #endif struct sockaddr from; -#ifdef HAVE_DECLARATION_SOCKLEN_T socklen_t len = sizeof(from); -#elif !defined(HAVE_PROTOTYPE_ACCEPT) || defined(HAVE_INTP_ACCEPT) - int len = sizeof(from); -#else - size_t len = sizeof(from); -#endif + do { sock = accept(s, &from, &len); diff --git a/dcmqrdb/apps/CMakeLists.txt b/dcmqrdb/apps/CMakeLists.txt index 7f4938ac..128d6bc2 100644 --- a/dcmqrdb/apps/CMakeLists.txt +++ b/dcmqrdb/apps/CMakeLists.txt @@ -5,5 +5,5 @@ endforeach() # make sure executables are linked to the corresponding libraries foreach(PROGRAM dcmqrscp dcmqridx dcmqrti) - DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmqrdb dcmnet dcmdata oflog ofstd) + DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmqrdb dcmtls dcmnet dcmdata oflog ofstd) endforeach() diff --git a/dcmqrdb/apps/Makefile.dep b/dcmqrdb/apps/Makefile.dep index cea57517..b5a43d53 100644 --- a/dcmqrdb/apps/Makefile.dep +++ b/dcmqrdb/apps/Makefile.dep @@ -5,12 +5,12 @@ dcmqridx.o: dcmqridx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -21,7 +21,6 @@ dcmqridx.o: dcmqridx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ @@ -90,12 +89,12 @@ dcmqrscp.o: dcmqrscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -106,7 +105,6 @@ dcmqrscp.o: dcmqrscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ @@ -180,6 +178,11 @@ dcmqrscp.o: dcmqrscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../ofstd/include/dcmtk/ofstd/ofgrp.h \ ../../ofstd/include/dcmtk/ofstd/ofpwd.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlsopt.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlslayer.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcmlayer.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlsdefin.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlsciphr.h \ ../include/dcmtk/dcmqrdb/dcmqrdbi.h ../include/dcmtk/dcmqrdb/dcmqrdba.h \ ../../ofstd/include/dcmtk/ofstd/offname.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h @@ -247,7 +250,6 @@ dcmqrti.o: dcmqrti.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ diff --git a/dcmqrdb/apps/Makefile.in b/dcmqrdb/apps/Makefile.in index f2e5488c..afa2fc26 100644 --- a/dcmqrdb/apps/Makefile.in +++ b/dcmqrdb/apps/Makefile.in @@ -37,20 +37,25 @@ dcmnetinc = -I$(dcmnetdir)/include dcmnetlibdir = -L$(dcmnetdir)/libsrc dcmnetlib = -ldcmnet -LOCALINCLUDES = $(dcmnetinc) $(dcmdatainc) $(ofstdinc) $(ofloginc) -LIBDIRS = -L$(top_srcdir)/libsrc $(dcmnetlibdir) $(dcmdatalibdir) $(ofloglibdir) \ - $(ofstdlibdir) $(oficonvlibdir) -LOCALLIBS = -ldcmqrdb $(dcmnetlib) $(dcmdatalib) $(ofloglib) $(ofstdlib) $(oficonvlib) \ +dcmtlsdir = $(top_srcdir)/../dcmtls +dcmtlsinc = -I$(dcmtlsdir)/include +dcmtlslibdir = -L$(dcmtlsdir)/libsrc +dcmtlslib = -ldcmtls + +LOCALINCLUDES = $(dcmnetinc) $(dcmdatainc) $(ofstdinc) $(ofloginc) $(dcmtlsinc) +LIBDIRS = -L$(top_srcdir)/libsrc $(dcmnetlibdir) $(dcmdatalibdir) \ + $(ofstdlibdir) $(ofloglibdir) $(dcmtlslibdir) $(oficonvlibdir) +LOCALLIBS = -ldcmqrdb $(dcmnetlib) $(dcmtlslib) $(dcmdatalib) $(ofstdlib) \ + $(ofloglib) $(oficonvlib) \ $(ZLIBLIBS) $(TCPWRAPPERLIBS) $(CHARCONVLIBS) $(MATHLIBS) objs = dcmqrscp.o dcmqrti.o dcmqridx.o progs = dcmqrscp dcmqrti dcmqridx - all: $(progs) dcmqrscp: dcmqrscp.o - $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmqrscp.o $(LOCALLIBS) $(LIBS) + $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmqrscp.o $(dcmtlslib) $(LOCALLIBS) $(OPENSSLLIBS) $(LIBS) dcmqrti: dcmqrti.o $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ dcmqrti.o $(LOCALLIBS) $(LIBS) diff --git a/dcmqrdb/apps/dcmqrscp.cc b/dcmqrdb/apps/dcmqrscp.cc index 8b29ed13..b4ddc2b3 100644 --- a/dcmqrdb/apps/dcmqrscp.cc +++ b/dcmqrdb/apps/dcmqrscp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1993-2022, OFFIS e.V. + * Copyright (C) 1993-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -58,6 +58,8 @@ END_EXTERN_C #include "dcmtk/dcmdata/dcostrmz.h" /* for dcmZlibCompressionLevel */ #include "dcmtk/ofstd/ofgrp.h" #include "dcmtk/ofstd/ofpwd.h" +#include "dcmtk/ofstd/ofstd.h" +#include "dcmtk/dcmtls/tlsopt.h" /* for DcmTLSOptions */ #ifdef WITH_SQL_DATABASE #include "dcmtk/dcmqrdbx/dcmqrdbq.h" @@ -94,7 +96,7 @@ static void mangleAssociationProfileKey(OFString& key) { for (size_t ui = 0; ui < key.size();) { - if (!isspace(key[ui])) + if (!OFStandard::isspace(key[ui])) { key[ui] = OFstatic_cast(char, toupper(key[ui])); ++ui; @@ -113,8 +115,12 @@ main(int argc, char *argv[]) OFCmdUnsignedInt overrideMaxPDU = 0; DcmQueryRetrieveOptions options; DcmAssociationConfiguration asccfg; + DcmTLSOptions tlsOptions(NET_ACCEPTORREQUESTOR); OFStandard::initializeNetwork(); +#ifdef WITH_OPENSSL + DcmTLSTransportLayer::initializeOpenSSL(); +#endif char tempstr[20]; OFString temp_str; @@ -180,8 +186,8 @@ main(int argc, char *argv[]) cmd.addGroup("network options:"); cmd.addSubGroup("association negotiation profiles from configuration file:"); - cmd.addOption("--assoc-config-file", "-xf", 3, "[f]ilename, [i]n-profile, [o]ut-profile: string", - "use profile i from f for incoming associations,\nuse profile o from f for outgoing associations"); + cmd.addOption("--assoc-config-file", "-xf", 3, "[f]ilename, [i]n-prof, [o]ut-prof: string", + "use profile i from f for incoming,\nand profile o from f for outgoing associations"); cmd.addSubGroup("preferred network transfer syntaxes (incoming associations):"); cmd.addOption("--prefer-uncompr", "+x=", "prefer explicit VR local byte order (default)"); cmd.addOption("--prefer-little", "+xe", "prefer explicit VR little endian TS"); @@ -202,7 +208,7 @@ main(int argc, char *argv[]) cmd.addOption("--prefer-mpeg4-2-3d", "+x3", "prefer MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)"); cmd.addOption("--prefer-mpeg4-2-st", "+xo", "prefer MPEG4 AVC/H.264 Stereo / Level 4.2 TS"); cmd.addOption("--prefer-hevc", "+x4", "prefer HEVC/H.265 Main Profile / Level 5.1 TS"); - cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / Level 5.1 TS"); + cmd.addOption("--prefer-hevc10", "+x5", "prefer HEVC/H.265 Main 10 Profile / L5.1 TS"); cmd.addOption("--prefer-rle", "+xr", "prefer RLE lossless TS"); #ifdef WITH_ZLIB cmd.addOption("--prefer-deflated", "+xd", "prefer deflated expl. VR little endian TS"); @@ -231,7 +237,7 @@ main(int argc, char *argv[]) cmd.addOption("--propose-mpeg4-2-3d", "-x3", "propose MPEG4 AVC/H.264 HP / Level 4.2 TS (3D)"); cmd.addOption("--propose-mpeg4-2-st", "-xo", "propose MPEG4 AVC/H.264 Stereo / Level 4.2 TS"); cmd.addOption("--propose-hevc", "-x4", "propose HEVC/H.265 Main Profile / Level 5.1 TS"); - cmd.addOption("--propose-hevc10", "-x5", "propose HEVC/H.265 Main 10 Profile / Level 5.1 TS"); + cmd.addOption("--propose-hevc10", "-x5", "propose HEVC/H.265 Main 10 Profile / L5.1 TS"); cmd.addOption("--propose-rle", "-xr", "propose RLE lossless TS\nand all uncompressed transfer syntaxes"); #ifdef WITH_ZLIB cmd.addOption("--propose-deflated", "-xd", "propose deflated expl. VR little endian TS\nand all uncompressed transfer syntaxes"); @@ -252,10 +258,10 @@ main(int argc, char *argv[]) cmd.addOption("--dimse-timeout", "-td", 1, "[s]econds: integer (default: unlimited)", "timeout for DIMSE messages"); OFString opt4 = "[n]umber of bytes: integer ("; - sprintf(tempstr, "%ld", (long)ASC_MINIMUMPDUSIZE); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", (long)ASC_MINIMUMPDUSIZE); opt4 += tempstr; opt4 += ".."; - sprintf(tempstr, "%ld", (long)ASC_MAXIMUMPDUSIZE); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", (long)ASC_MAXIMUMPDUSIZE); opt4 += tempstr; opt4 += ")"; cmd.addOption("--max-pdu", "-pdu", 1, opt4.c_str(), @@ -271,18 +277,21 @@ main(int argc, char *argv[]) cmd.addSubGroup("specific character set:"); cmd.addOption("--use-request-charset", "+Cr", "try to convert all element values that are\naffected by Specific Character Set (0008,0005)\n" "to the one specified in the request data set,\nfall back to the one specified via\n" - "--convert-to-xxx if that is not possible\n(default, unless overridden by config file)"); + "--convert-to-xxx if that is not possible\n(default, unless overridden by config file)", OFCommandLine::AF_NoWarning); cmd.addOption("--override-charset", "-Cr", "convert affected element values to the\ncharacter set specified via --convert-to-xxx,\n" - "ignoring the one specified in the request"); - cmd.addOption("--convert-to-ascii", "+A7", "convert affected element values to 7-bit ASCII\n(default, unless overridden by config file)"); - cmd.addOption("--convert-to-utf8", "+U8", "convert affected element values to UTF-8"); - cmd.addOption("--convert-to-latin1", "+L1", "convert affected element values to ISO 8859-1"); + "ignoring the one specified in the request", OFCommandLine::AF_NoWarning); + cmd.addOption("--convert-to-ascii", "+A7", "convert affected element values to 7-bit ASCII\n(default, unless overridden by config file)", OFCommandLine::AF_NoWarning); + cmd.addOption("--convert-to-utf8", "+U8", "convert affected element values to UTF-8", OFCommandLine::AF_NoWarning); + cmd.addOption("--convert-to-latin1", "+L1", "convert affected element values to ISO 8859-1", OFCommandLine::AF_NoWarning); cmd.addOption("--convert-to-charset", "+C", 1, "[c]harset: string", - "convert affected element values to the char.\nset specified by the DICOM defined term c"); - cmd.addOption("--transliterate", "-Ct", "try to approximate characters that cannot be\nrepresented through similar looking characters"); - cmd.addOption("--discard-illegal", "-Cd", "discard characters that cannot be represented\nin destination character set"); + "convert affected element values to the char.\nset specified by the DICOM defined term c", OFCommandLine::AF_NoWarning); + cmd.addOption("--transliterate", "-Ct", "try to approximate characters that cannot be\nrepresented through similar looking characters", OFCommandLine::AF_NoWarning); + cmd.addOption("--discard-illegal", "-Cd", "discard characters that cannot be represented\nin destination character set", OFCommandLine::AF_NoWarning); #endif + // add TLS specific command line options if (and only if) we are compiling with OpenSSL + tlsOptions.addTLSCommandlineOptions(cmd); + cmd.addGroup("output options:"); cmd.addSubGroup("bit preserving mode:"); cmd.addOption("--normal", "-B", "allow implicit format conversions (default)"); @@ -333,11 +342,13 @@ main(int argc, char *argv[]) { app.printHeader(OFTrue /*print host identifier*/); COUT << OFendl << "External libraries used:"; -#if !defined(WITH_ZLIB) && !defined(WITH_TCPWRAPPER) && !defined(DCMTK_ENABLE_CHARSET_CONVERSION) +#if !defined(WITH_ZLIB) && !defined(WITH_TCPWRAPPER) && !defined(DCMTK_ENABLE_CHARSET_CONVERSION) && !defined(WITH_OPENSSL) COUT << " none" << OFendl; #else COUT << OFendl; #endif + // print OpenSSL version if (and only if) we are compiling with OpenSSL + tlsOptions.printLibraryVersion(); #ifdef WITH_ZLIB COUT << "- ZLIB, Version " << zlibVersion() << OFendl; #endif @@ -349,6 +360,21 @@ main(int argc, char *argv[]) #endif return 0; } + + // check if the command line contains the --list-ciphers option + if (tlsOptions.listOfCiphersRequested(cmd)) + { + tlsOptions.printSupportedCiphersuites(app, COUT); + return 0; + } + + // check if the command line contains the --list-profiles option + if (tlsOptions.listOfProfilesRequested(cmd)) + { + tlsOptions.printSupportedTLSProfiles(app, COUT); + return 0; + } + } /* command line parameters and options */ @@ -769,6 +795,9 @@ main(int argc, char *argv[]) dcmZlibCompressionLevel.set(OFstatic_cast(int, compressionLevel)); } #endif + + // evaluate (most of) the TLS command line options (if we are compiling with OpenSSL) + tlsOptions.parseArguments(app, cmd); } /* print resource identifier */ @@ -862,6 +891,13 @@ main(int argc, char *argv[]) return 10; } + /* create a secure transport layer if requested and OpenSSL is available */ + cond = tlsOptions.createTransportLayer(options.net_, NULL, app, cmd); + if (cond.bad()) { + OFLOG_FATAL(dcmqrscpLogger, DimseCondition::dump(temp_str, cond)); + return 10; + } + #if defined(HAVE_SETUID) && defined(HAVE_GRP_H) && defined(HAVE_PWD_H) OFStandard::OFGroup grp; OFStandard::OFPasswd pwd; @@ -904,7 +940,7 @@ main(int argc, char *argv[]) DcmQueryRetrieveIndexDatabaseHandleFactory factory(&config); #endif - DcmQueryRetrieveSCP scp(config, options, factory, asccfg); + DcmQueryRetrieveSCP scp(config, options, factory, asccfg, tlsOptions); scp.setDatabaseFlags(opt_checkFindIdentifier, opt_checkMoveIdentifier); /* loop waiting for associations */ @@ -912,6 +948,15 @@ main(int argc, char *argv[]) { cond = scp.waitForAssociation(options.net_); if (!options.singleProcess_) scp.cleanChildren(); /* clean up any child processes */ + + /* since dcmqrscp is usually terminated with SIGTERM or the like, + * we write back an updated random seed after every association handled. + */ + const OFCondition cond2 = tlsOptions.writeRandomSeed(); + if (cond2.bad()) { + // failure to write back the random seed is a warning, not an error + OFLOG_WARN(dcmqrscpLogger, DimseCondition::dump(temp_str, cond2)); + } } cond = ASC_dropNetwork(&options.net_); diff --git a/dcmqrdb/apps/dcmqrti.cc b/dcmqrdb/apps/dcmqrti.cc index e99cf753..0a230a93 100644 --- a/dcmqrdb/apps/dcmqrti.cc +++ b/dcmqrdb/apps/dcmqrti.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1993-2022, OFFIS e.V. + * Copyright (C) 1993-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -25,11 +25,11 @@ BEGIN_EXTERN_C #ifdef HAVE_SYS_FILE_H #include #endif -#ifdef HAVE_SIGNAL_H + // On Solaris with Sun Workshop 11, declares signal() but does not #include -#endif END_EXTERN_C + #include "dcmtk/dcmqrdb/dcmqrtis.h" #include "dcmtk/dcmnet/assoc.h" #include "dcmtk/dcmnet/dimse.h" @@ -39,6 +39,8 @@ END_EXTERN_C #include "dcmtk/dcmdata/cmdlnarg.h" #include "dcmtk/dcmdata/dcuid.h" #include "dcmtk/ofstd/ofconapp.h" +#include "dcmtk/ofstd/ofstd.h" + #ifdef WITH_ZLIB #include /* for zlibVersion() */ #endif @@ -60,11 +62,7 @@ DcmQueryRetrieveTelnetInitiator conf(config); * We only really need to make sure that the display is clear * before quitting. */ -#ifdef SIGNAL_HANDLER_WITH_ELLIPSE -extern "C" void TI_signalHandler(...) -#else extern "C" void TI_signalHandler(int) -#endif { conf.TI_detachAssociation(OFTrue); exit( 1 ); @@ -128,10 +126,10 @@ int main( int argc, char *argv[] ) opt1 += ")"; cmd.addOption( "--aetitle", "-aet", 1, "[a]etitle: string", opt1.c_str() ); OFString opt2 = "[n]umber of bytes: integer ("; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_MINIMUMPDUSIZE)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_MINIMUMPDUSIZE)); opt2 += tempstr; opt2 += ".."; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_MAXIMUMPDUSIZE)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_MAXIMUMPDUSIZE)); opt2 += tempstr; opt2 += ")"; cmd.addOption( "--max-pdu", "-pdu", 1, opt2.c_str(), "set max receive pdu to n bytes\n(default: use value from configuration file)" ); diff --git a/dcmqrdb/docs/CMakeLists.txt b/dcmqrdb/docs/CMakeLists.txt index cbd469f6..ec15335f 100644 --- a/dcmqrdb/docs/CMakeLists.txt +++ b/dcmqrdb/docs/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES dcmqrcnf.txt dcmqrset.txt DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}" COMPONENT doc) +install(FILES dcmqrcnf.txt dcmqrset.txt DESTINATION "${CMAKE_INSTALL_DOCDIR}" COMPONENT doc) diff --git a/dcmqrdb/docs/dcmqridx.man b/dcmqrdb/docs/dcmqridx.man index 1fa8eae1..7f4c6e0b 100644 --- a/dcmqrdb/docs/dcmqridx.man +++ b/dcmqrdb/docs/dcmqridx.man @@ -131,6 +131,6 @@ It is an error if no data dictionary can be loaded. \section dcmqridx_copyright COPYRIGHT -Copyright (C) 1993-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1993-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmqrdb/docs/dcmqrscp.man b/dcmqrdb/docs/dcmqrscp.man index 753f8939..cf820047 100644 --- a/dcmqrdb/docs/dcmqrscp.man +++ b/dcmqrdb/docs/dcmqrscp.man @@ -188,7 +188,7 @@ association negotiation profiles from configuration file: -xf --assoc-config-file [f]ilename, [i]n-profile, [o]ut-profile: string use profile i from f for incoming associations, - use profile o from f for outgoing associations + and profile o from f for outgoing associations preferred network transfer syntaxes (incoming associations): @@ -244,10 +244,10 @@ preferred network transfer syntaxes (incoming associations): prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS +x4 --prefer-hevc - prefer HEVC H.265 Main Profile / Level 5.1 TS + prefer HEVC/H.265 Main Profile / Level 5.1 TS +x5 --prefer-hevc10 - prefer HEVC H.265 Main 10 Profile / Level 5.1 TS + prefer HEVC/H.265 Main 10 Profile / Level 5.1 TS +xr --prefer-rle prefer RLE lossless TS @@ -323,10 +323,10 @@ proposed transmission transfer syntaxes (outgoing associations): propose MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS only -x4 --propose-hevc - propose HEVC H.265 Main Profile / Level 5.1 TS only + propose HEVC/H.265 Main Profile / Level 5.1 TS only -x5 --propose-hevc10 - propose HEVC H.265 Main 10 Profile / Level 5.1 TS only + propose HEVC/H.265 Main 10 Profile / Level 5.1 TS only -xr --propose-rle propose RLE lossless TS @@ -422,6 +422,130 @@ specific character set: in destination character set \endverbatim +\subsection dcmqrscp_tls_options transport layer security (TLS) options +\verbatim +transport protocol stack: + + -tls --disable-tls + use normal TCP/IP connection (default) + + +tls --enable-tls [p]rivate key file, [c]ertificate file: string + use authenticated secure TLS connection + +private key password (only with --enable-tls): + + +ps --std-passwd + prompt user to type password on stdin (default) + + +pw --use-passwd [p]assword: string + use specified password + + -pw --null-passwd + use empty string as password + +key and certificate file format: + + -pem --pem-keys + read keys and certificates as PEM file (default) + + -der --der-keys + read keys and certificates as DER file + +certification authority: + + +cf --add-cert-file [f]ilename: string + add certificate file to list of certificates + + +cd --add-cert-dir [d]irectory: string + add certificates in d to list of certificates + + +crl --add-crl-file [f]ilename: string + add certificate revocation list file + (implies --enable-crl-vfy) + + +crv --enable-crl-vfy + enable leaf CRL verification + + +cra --enable-crl-all + enable full chain CRL verification + +security profile: + + +ph --list-profiles + list supported TLS profiles and exit + + +pg --profile-8996 + BCP 195 RFC 8996 TLS Profile (default) + + +pm --profile-8996-mod + Modified BCP 195 RFC 8996 TLS Profile + + # only available if underlying TLS library supports + # all TLS features required for this profile + + +py --profile-bcp195-nd + Non-downgrading BCP 195 TLS Profile (retired) + + +px --profile-bcp195 + BCP 195 TLS Profile (retired) + + +pz --profile-bcp195-ex + Extended BCP 195 TLS Profile (retired) + + +pb --profile-basic + Basic TLS Secure Transport Connection Profile (retired) + + # only available if underlying TLS library supports 3DES + + +pa --profile-aes + AES TLS Secure Transport Connection Profile (retired) + + +pn --profile-null + Authenticated unencrypted communication + (retired, was used in IHE ATNA) + +ciphersuite: + + +cc --list-ciphers + list supported TLS ciphersuites and exit + + +cs --cipher [c]iphersuite name: string + add ciphersuite to list of negotiated suites + + +dp --dhparam [f]ilename: string + read DH parameters for DH/DSS ciphersuites + +server name indication: + + --no-sni + do not use SNI (default) + + --expect-sni [s]erver name: string + expect requests for server name s + +pseudo random generator: + + +rs --seed [f]ilename: string + seed random generator with contents of f + + +ws --write-seed + write back modified seed (only with --seed) + + +wf --write-seed-file [f]ilename: string (only with --seed) + write modified seed to file f + +peer authentication: + + -rc --require-peer-cert + verify peer certificate, fail if absent (default) + + -vc --verify-peer-cert + verify peer certificate if present + + -ic --ignore-peer-cert + don't verify peer certificate +\endverbatim + \subsection dcmqrscp_output_options output options \verbatim bit preserving mode: @@ -674,7 +798,7 @@ Depending on these options, the following transfer syntaxes are supported: \verbatim LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 @@ -695,12 +819,14 @@ HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108 RLELosslessTransferSyntax 1.2.840.10008.1.2.5 \endverbatim +(*) if compiled with zlib support enabled (see \e --version output) + The \b dcmqrscp application does not support extended negotiation. -Presentation contexts for other SOP Classes may be configured via the -\e --assoc-config-file option by selecting an appropriate profile for outgoing -associations. The selected profile will completely override the above mentioned -default configuration. +Presentation contexts for other SOP Classes and/or transfer syntaxes may be +configured via the \e --assoc-config-file option by selecting an appropriate +profile for outgoing associations. The selected profile will completely +override the above mentioned default configuration. \subsubsection dcmqrscp_scp_conformance SCP Conformance @@ -803,6 +929,8 @@ DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66. SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4 SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5 TractographyResultsStorage 1.2.840.10008.5.1.4.1.1.66.6 +LabelMapSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.7 +HeightMapSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.8 RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67 SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1 SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2 @@ -824,6 +952,8 @@ OphthalmicOpticalCoherenceTomogr.EnFaceImageStorage 1.2.840.10008.5.1.4.1.1.77. OphthalmicOpticalCoh.Tomogr.BscanVolumeAnalysisStor. 1.2.840.10008.5.1.4.1.1.77.1.5.8 VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6 DermoscopicPhotographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.7 +ConfocalMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.8 +ConfocalMicroscopyTiledPyramidalImageStorage 1.2.840.10008.5.1.4.1.1.77.1.9 RETIRED_VLMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.77.2 LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1 AutorefractionMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.2 @@ -860,6 +990,7 @@ PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88. PlannedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.74 PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75 EnhancedXRayRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.76 +WaveformAnnotationSRStorage 1.2.840.10008.5.1.4.1.1.88.77 ContentAssessmentResultsStorage 1.2.840.10008.5.1.4.1.1.90.1 MicroscopyBulkSimpleAnnotationsStorage 1.2.840.10008.5.1.4.1.1.91.1 EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1 @@ -908,6 +1039,8 @@ DICOS_3DAITStorage 1.2.840.10008.5.1.4.1.1.501 DICOS_QuadrupoleResonanceStorage 1.2.840.10008.5.1.4.1.1.501.6 DICONDE_EddyCurrentImageStorage 1.2.840.10008.5.1.4.1.1.601.1 DICONDE_EddyCurrentMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.601.2 +DICONDE_ThermographyImageStorage 1.2.840.10008.5.1.4.1.1.601.3 +DICONDE_ThermographyMultiFrameImageStorage 1.2.840.10008.5.1.4.1.1.601.4 DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1 RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7 RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10 @@ -957,13 +1090,14 @@ RLELosslessTransferSyntax 1.2.840.10008.1.2.5 The \b dcmqrscp application does not support extended negotiation. -Presentation contexts for other SOP Classes may be configured via the -\e --assoc-config-file option by selecting an appropriate profile for incoming -associations. The selected profile will override only the above mentioned -storage SOP classes, \b dcmqrscp will accept contexts with the above mentioned -FIND, GET, MOVE and private shutdown SOP Classes additionally to the ones -defined in the selected profile. Please note that an appropriate profile for -role negotiation must be defined and used for enabling GET support. +Presentation contexts for other SOP Classes and Transfer Syntax may be +configured via the \e --assoc-config-file option by selecting an appropriate +profile for incoming associations. The selected profile will override only the +above mentioned storage SOP classes, \b dcmqrscp will accept contexts with the +above mentioned FIND, GET, MOVE and private shutdown SOP Classes additionally +to the ones defined in the selected profile. Please note that an appropriate +profile for role negotiation must be defined and used for enabling GET +support. \subsubsection dcmqrscp_query_keys Query Keys @@ -1114,6 +1248,6 @@ profiles \section dcmqrscp_copyright COPYRIGHT -Copyright (C) 1993-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1993-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmqrdb/docs/dcmqrti.man b/dcmqrdb/docs/dcmqrti.man index 4bce9aab..23fa203f 100644 --- a/dcmqrdb/docs/dcmqrti.man +++ b/dcmqrdb/docs/dcmqrti.man @@ -443,6 +443,6 @@ It is an error if no data dictionary can be loaded. \section dcmqrti_copyright COPYRIGHT -Copyright (C) 1993-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1993-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmqrdb/etc/CMakeLists.txt b/dcmqrdb/etc/CMakeLists.txt index cd6d506a..35b33fe1 100644 --- a/dcmqrdb/etc/CMakeLists.txt +++ b/dcmqrdb/etc/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES dcmqrscp.cfg DESTINATION "${CMAKE_INSTALL_FULL_SYSCONFDIR}" COMPONENT etc) +install(FILES dcmqrscp.cfg dcmqrprf.cfg DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}" COMPONENT etc) diff --git a/dcmqrdb/etc/Makefile.in b/dcmqrdb/etc/Makefile.in index 1506fb10..df67caae 100644 --- a/dcmqrdb/etc/Makefile.in +++ b/dcmqrdb/etc/Makefile.in @@ -11,7 +11,7 @@ configdir = @top_srcdir@/@configdir@ include $(configdir)/@common_makefile@ -files = dcmqrscp.cfg +files = dcmqrscp.cfg dcmqrprf.cfg all: diff --git a/dcmqrdb/etc/dcmqrprf.cfg b/dcmqrdb/etc/dcmqrprf.cfg index 96badec3..8c5a72b2 100644 --- a/dcmqrdb/etc/dcmqrprf.cfg +++ b/dcmqrdb/etc/dcmqrprf.cfg @@ -1,5 +1,5 @@ # -# Copyright (C) 2017-2023, OFFIS e.V. +# Copyright (C) 2017-2024, OFFIS e.V. # All rights reserved. See COPYRIGHT file for details. # # This software and supporting documentation were developed by @@ -31,12 +31,29 @@ TransferSyntax1 = LocalEndianExplicit TransferSyntax2 = OppositeEndianExplicit TransferSyntax3 = LittleEndianImplicit +[UncompressedEncapsulated] +TransferSyntax1 = EncapsulatedUncompressedLittleEndianExplicit +TransferSyntax2 = LittleEndianExplicit +TransferSyntax3 = LittleEndianImplicit +# +# The retired "Big Endian Explicit" transfer syntax is not accepted. +# + [UncompressedOrZlib] TransferSyntax1 = DeflatedLittleEndianExplicit TransferSyntax2 = LocalEndianExplicit TransferSyntax3 = OppositeEndianExplicit TransferSyntax4 = LittleEndianImplicit +[UncompressedEncapsulatedOrZlib] +TransferSyntax1 = DeflatedLittleEndianExplicit +TransferSyntax2 = EncapsulatedUncompressedLittleEndianExplicit +TransferSyntax3 = LittleEndianExplicit +TransferSyntax4 = LittleEndianImplicit +# +# The retired "Big Endian Explicit" transfer syntax is not accepted. +# + [JPEGBaseline] TransferSyntax1 = JPEGBaseline @@ -113,10 +130,17 @@ TransferSyntax38 = FragmentableMPEG4HighProfile/Level4.2For3DVideo TransferSyntax39 = FragmentableMPEG4StereoHighProfile/Level4.2 TransferSyntax40 = HEVCMainProfile/Level5.1 TransferSyntax41 = HEVCMain10Profile/Level5.1 -TransferSyntax42 = DeflatedLittleEndianExplicit -TransferSyntax43 = LocalEndianExplicit -TransferSyntax44 = OppositeEndianExplicit -TransferSyntax45 = LittleEndianImplicit +TransferSyntax42 = HighThroughputJPEG2000ImageCompressionLosslessOnly +TransferSyntax43 = HighThroughputJPEG2000withRPCLOptionsImageCompressionLosslessOnly +TransferSyntax44 = HighThroughputJPEG2000ImageCompression +TransferSyntax45 = JPEGXLLossless +TransferSyntax46 = JPEGXLJPEGRecompression +TransferSyntax47 = JPEGXL +TransferSyntax48 = DeflatedLittleEndianExplicit +TransferSyntax49 = EncapsulatedUncompressedLittleEndianExplicit +TransferSyntax50 = LocalEndianExplicit +TransferSyntax51 = OppositeEndianExplicit +TransferSyntax52 = LittleEndianImplicit # ============================================================================ [[PresentationContexts]] @@ -131,228 +155,234 @@ PresentationContext1 = VerificationSOPClass\Uncompressed # Accept image SOP classes with virtually any transfer syntax we know. # Accept non-image SOP classes uncompressed or with zlib compression only. # -# Please do not add any Storage SOP Class that does not fit into the -# PATIENT-STUDY-SERIES-INSTANCE information model. -# PresentationContext2 = BreastProjectionXRayImageStorageForPresentation\AnyTransferSyntax PresentationContext3 = BreastProjectionXRayImageStorageForProcessing\AnyTransferSyntax PresentationContext4 = BreastTomosynthesisImageStorage\AnyTransferSyntax PresentationContext5 = CTImageStorage\AnyTransferSyntax PresentationContext6 = ComputedRadiographyImageStorage\AnyTransferSyntax -PresentationContext7 = CornealTopographyMapStorage\AnyTransferSyntax -PresentationContext8 = DermoscopicPhotographyImageStorage\AnyTransferSyntax -PresentationContext9 = DigitalIntraOralXRayImageStorageForPresentation\AnyTransferSyntax -PresentationContext10 = DigitalIntraOralXRayImageStorageForProcessing\AnyTransferSyntax -PresentationContext11 = DigitalMammographyXRayImageStorageForPresentation\AnyTransferSyntax -PresentationContext12 = DigitalMammographyXRayImageStorageForProcessing\AnyTransferSyntax -PresentationContext13 = DigitalXRayImageStorageForPresentation\AnyTransferSyntax -PresentationContext14 = DigitalXRayImageStorageForProcessing\AnyTransferSyntax -PresentationContext15 = EnhancedContinuousRTImageStorage\AnyTransferSyntax -PresentationContext16 = EnhancedCTImageStorage\AnyTransferSyntax -PresentationContext17 = EnhancedMRColorImageStorage\AnyTransferSyntax -PresentationContext18 = EnhancedMRImageStorage\AnyTransferSyntax -PresentationContext19 = EnhancedPETImageStorage\AnyTransferSyntax -PresentationContext20 = EnhancedRTImageStorage\AnyTransferSyntax -PresentationContext21 = EnhancedUSVolumeStorage\AnyTransferSyntax -PresentationContext22 = EnhancedXAImageStorage\AnyTransferSyntax -PresentationContext23 = EnhancedXRFImageStorage\AnyTransferSyntax -PresentationContext24 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\AnyTransferSyntax -PresentationContext25 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\AnyTransferSyntax -PresentationContext26 = LegacyConvertedEnhancedCTImageStorage\AnyTransferSyntax -PresentationContext27 = LegacyConvertedEnhancedMRImageStorage\AnyTransferSyntax -PresentationContext28 = LegacyConvertedEnhancedPETImageStorage\AnyTransferSyntax -PresentationContext29 = MRImageStorage\AnyTransferSyntax -PresentationContext30 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext31 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext32 = MultiframeSingleBitSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext33 = MultiframeTrueColorSecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext34 = NuclearMedicineImageStorage\AnyTransferSyntax -PresentationContext35 = OphthalmicOpticalCoherenceTomographyEnFaceImageStorage\AnyTransferSyntax -PresentationContext36 = OphthalmicPhotography16BitImageStorage\AnyTransferSyntax -PresentationContext37 = OphthalmicPhotography8BitImageStorage\AnyTransferSyntax -PresentationContext38 = OphthalmicThicknessMapStorage\AnyTransferSyntax -PresentationContext39 = OphthalmicTomographyImageStorage\AnyTransferSyntax -PresentationContext40 = PhotoacousticImageStorage\AnyTransferSyntax -PresentationContext41 = PositronEmissionTomographyImageStorage\AnyTransferSyntax -PresentationContext42 = RTImageStorage\AnyTransferSyntax -PresentationContext43 = SecondaryCaptureImageStorage\AnyTransferSyntax -PresentationContext44 = UltrasoundImageStorage\AnyTransferSyntax -PresentationContext45 = UltrasoundMultiframeImageStorage\AnyTransferSyntax -PresentationContext46 = VLEndoscopicImageStorage\AnyTransferSyntax -PresentationContext47 = VLMicroscopicImageStorage\AnyTransferSyntax -PresentationContext48 = VLPhotographicImageStorage\AnyTransferSyntax -PresentationContext49 = VLSlideCoordinatesMicroscopicImageStorage\AnyTransferSyntax -PresentationContext50 = VLWholeSlideMicroscopyImageStorage\AnyTransferSyntax -PresentationContext51 = VideoEndoscopicImageStorage\AnyTransferSyntax -PresentationContext52 = VideoMicroscopicImageStorage\AnyTransferSyntax -PresentationContext53 = VideoPhotographicImageStorage\AnyTransferSyntax -PresentationContext54 = WideFieldOphthalmicPhotography3DCoordinatesImageStorage\AnyTransferSyntax -PresentationContext55 = WideFieldOphthalmicPhotographyStereographicProjectionImageStorage\AnyTransferSyntax -PresentationContext56 = XRay3DAngiographicImageStorage\AnyTransferSyntax -PresentationContext57 = XRay3DCraniofacialImageStorage\AnyTransferSyntax -PresentationContext58 = XRayAngiographicImageStorage\AnyTransferSyntax -PresentationContext59 = XRayRadiofluoroscopicImageStorage\AnyTransferSyntax +PresentationContext7 = ConfocalMicroscopyImageStorage\AnyTransferSyntax +PresentationContext8 = ConfocalMicroscopyTiledPyramidalImageStorage\AnyTransferSyntax +PresentationContext9 = CornealTopographyMapStorage\AnyTransferSyntax +PresentationContext10 = DermoscopicPhotographyImageStorage\AnyTransferSyntax +PresentationContext11 = DigitalIntraOralXRayImageStorageForPresentation\AnyTransferSyntax +PresentationContext12 = DigitalIntraOralXRayImageStorageForProcessing\AnyTransferSyntax +PresentationContext13 = DigitalMammographyXRayImageStorageForPresentation\AnyTransferSyntax +PresentationContext14 = DigitalMammographyXRayImageStorageForProcessing\AnyTransferSyntax +PresentationContext15 = DigitalXRayImageStorageForPresentation\AnyTransferSyntax +PresentationContext16 = DigitalXRayImageStorageForProcessing\AnyTransferSyntax +PresentationContext17 = EnhancedContinuousRTImageStorage\AnyTransferSyntax +PresentationContext18 = EnhancedCTImageStorage\AnyTransferSyntax +PresentationContext19 = EnhancedMRColorImageStorage\AnyTransferSyntax +PresentationContext20 = EnhancedMRImageStorage\AnyTransferSyntax +PresentationContext21 = EnhancedPETImageStorage\AnyTransferSyntax +PresentationContext22 = EnhancedRTImageStorage\AnyTransferSyntax +PresentationContext23 = EnhancedUSVolumeStorage\AnyTransferSyntax +PresentationContext24 = EnhancedXAImageStorage\AnyTransferSyntax +PresentationContext25 = EnhancedXRFImageStorage\AnyTransferSyntax +PresentationContext26 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\AnyTransferSyntax +PresentationContext27 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\AnyTransferSyntax +PresentationContext28 = LegacyConvertedEnhancedCTImageStorage\AnyTransferSyntax +PresentationContext29 = LegacyConvertedEnhancedMRImageStorage\AnyTransferSyntax +PresentationContext30 = LegacyConvertedEnhancedPETImageStorage\AnyTransferSyntax +PresentationContext31 = MRImageStorage\AnyTransferSyntax +PresentationContext32 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext33 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext34 = MultiframeSingleBitSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext35 = MultiframeTrueColorSecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext36 = NuclearMedicineImageStorage\AnyTransferSyntax +PresentationContext37 = OphthalmicOpticalCoherenceTomographyEnFaceImageStorage\AnyTransferSyntax +PresentationContext38 = OphthalmicPhotography16BitImageStorage\AnyTransferSyntax +PresentationContext39 = OphthalmicPhotography8BitImageStorage\AnyTransferSyntax +PresentationContext40 = OphthalmicThicknessMapStorage\AnyTransferSyntax +PresentationContext41 = OphthalmicTomographyImageStorage\AnyTransferSyntax +PresentationContext42 = PhotoacousticImageStorage\AnyTransferSyntax +PresentationContext43 = PositronEmissionTomographyImageStorage\AnyTransferSyntax +PresentationContext44 = RTImageStorage\AnyTransferSyntax +PresentationContext45 = SecondaryCaptureImageStorage\AnyTransferSyntax +PresentationContext46 = UltrasoundImageStorage\AnyTransferSyntax +PresentationContext47 = UltrasoundMultiframeImageStorage\AnyTransferSyntax +PresentationContext48 = VLEndoscopicImageStorage\AnyTransferSyntax +PresentationContext49 = VLMicroscopicImageStorage\AnyTransferSyntax +PresentationContext50 = VLPhotographicImageStorage\AnyTransferSyntax +PresentationContext51 = VLSlideCoordinatesMicroscopicImageStorage\AnyTransferSyntax +PresentationContext52 = VLWholeSlideMicroscopyImageStorage\AnyTransferSyntax +PresentationContext53 = VideoEndoscopicImageStorage\AnyTransferSyntax +PresentationContext54 = VideoMicroscopicImageStorage\AnyTransferSyntax +PresentationContext55 = VideoPhotographicImageStorage\AnyTransferSyntax +PresentationContext56 = WideFieldOphthalmicPhotography3DCoordinatesImageStorage\AnyTransferSyntax +PresentationContext57 = WideFieldOphthalmicPhotographyStereographicProjectionImageStorage\AnyTransferSyntax +PresentationContext58 = XRay3DAngiographicImageStorage\AnyTransferSyntax +PresentationContext59 = XRay3DCraniofacialImageStorage\AnyTransferSyntax +PresentationContext60 = XRayAngiographicImageStorage\AnyTransferSyntax +PresentationContext61 = XRayRadiofluoroscopicImageStorage\AnyTransferSyntax # # retired image SOP classes # -PresentationContext60 = RETIRED_HardcopyColorImageStorage\AnyTransferSyntax -PresentationContext61 = RETIRED_HardcopyGrayscaleImageStorage\AnyTransferSyntax -PresentationContext62 = RETIRED_NuclearMedicineImageStorage\AnyTransferSyntax -PresentationContext63 = RETIRED_UltrasoundImageStorage\AnyTransferSyntax -PresentationContext64 = RETIRED_UltrasoundMultiframeImageStorage\AnyTransferSyntax -PresentationContext65 = RETIRED_VLImageStorage\AnyTransferSyntax -PresentationContext66 = RETIRED_VLMultiframeImageStorage\AnyTransferSyntax -PresentationContext67 = RETIRED_XRayAngiographicBiPlaneImageStorage\AnyTransferSyntax +PresentationContext62 = RETIRED_HardcopyColorImageStorage\AnyTransferSyntax +PresentationContext63 = RETIRED_HardcopyGrayscaleImageStorage\AnyTransferSyntax +PresentationContext64 = RETIRED_NuclearMedicineImageStorage\AnyTransferSyntax +PresentationContext65 = RETIRED_UltrasoundImageStorage\AnyTransferSyntax +PresentationContext66 = RETIRED_UltrasoundMultiframeImageStorage\AnyTransferSyntax +PresentationContext67 = RETIRED_VLImageStorage\AnyTransferSyntax +PresentationContext68 = RETIRED_VLMultiframeImageStorage\AnyTransferSyntax +PresentationContext69 = RETIRED_XRayAngiographicBiPlaneImageStorage\AnyTransferSyntax # # the following presentation contexts are for non-image SOP classes -# -PresentationContext68 = AcquisitionContextSRStorage\UncompressedOrZlib -PresentationContext69 = AdvancedBlendingPresentationStateStorage\UncompressedOrZlib -PresentationContext70 = AmbulatoryECGWaveformStorage\UncompressedOrZlib -PresentationContext71 = ArterialPulseWaveformStorage\UncompressedOrZlib -PresentationContext72 = AutorefractionMeasurementsStorage\UncompressedOrZlib -PresentationContext73 = BasicStructuredDisplayStorage\UncompressedOrZlib -PresentationContext74 = BasicTextSRStorage\UncompressedOrZlib -PresentationContext75 = BasicVoiceAudioWaveformStorage\UncompressedOrZlib -PresentationContext76 = BlendingSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext77 = BodyPositionWaveformStorage\UncompressedOrZlib -PresentationContext78 = CArmPhotonElectronRadiationRecordStorage\UncompressedOrZlib -PresentationContext79 = CArmPhotonElectronRadiationStorage\UncompressedOrZlib -PresentationContext80 = CTDefinedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext81 = CTPerformedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext82 = CardiacElectrophysiologyWaveformStorage\UncompressedOrZlib -PresentationContext83 = ChestCADSRStorage\UncompressedOrZlib -PresentationContext84 = ColonCADSRStorage\UncompressedOrZlib -PresentationContext85 = ColorPaletteStorage\UncompressedOrZlib -PresentationContext86 = ColorSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext87 = CompositingPlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext88 = Comprehensive3DSRStorage\UncompressedOrZlib -PresentationContext89 = ComprehensiveSRStorage\UncompressedOrZlib -PresentationContext90 = ContentAssessmentResultsStorage\UncompressedOrZlib -PresentationContext91 = DeformableSpatialRegistrationStorage\UncompressedOrZlib -PresentationContext92 = ElectromyogramWaveformStorage\UncompressedOrZlib -PresentationContext93 = ElectrooculogramWaveformStorage\UncompressedOrZlib -PresentationContext94 = EncapsulatedCDAStorage\UncompressedOrZlib -PresentationContext95 = EncapsulatedMTLStorage\UncompressedOrZlib -PresentationContext96 = EncapsulatedOBJStorage\UncompressedOrZlib -PresentationContext97 = EncapsulatedPDFStorage\UncompressedOrZlib -PresentationContext98 = EncapsulatedSTLStorage\UncompressedOrZlib -PresentationContext99 = EnhancedSRStorage\UncompressedOrZlib -PresentationContext100 = EnhancedXRayRadiationDoseSRStorage\UncompressedOrZlib -PresentationContext101 = ExtensibleSRStorage\UncompressedOrZlib -PresentationContext102 = General32BitECGWaveformStorage\UncompressedOrZlib -PresentationContext103 = GeneralAudioWaveformStorage\UncompressedOrZlib -PresentationContext104 = GeneralECGWaveformStorage\UncompressedOrZlib -PresentationContext105 = GenericImplantTemplateStorage\UncompressedOrZlib -PresentationContext106 = GrayscalePlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext107 = GrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext108 = HangingProtocolStorage\UncompressedOrZlib -PresentationContext109 = HemodynamicWaveformStorage\UncompressedOrZlib -PresentationContext110 = ImplantAssemblyTemplateStorage\UncompressedOrZlib -PresentationContext111 = ImplantTemplateGroupStorage\UncompressedOrZlib -PresentationContext112 = ImplantationPlanSRStorage\UncompressedOrZlib -PresentationContext113 = IntraocularLensCalculationsStorage\UncompressedOrZlib -PresentationContext114 = InventoryStorage\UncompressedOrZlib -PresentationContext115 = KeratometryMeasurementsStorage\UncompressedOrZlib -PresentationContext116 = KeyObjectSelectionDocumentStorage\UncompressedOrZlib -PresentationContext117 = LensometryMeasurementsStorage\UncompressedOrZlib -PresentationContext118 = MRSpectroscopyStorage\UncompressedOrZlib -PresentationContext119 = MacularGridThicknessAndVolumeReportStorage\UncompressedOrZlib -PresentationContext120 = MammographyCADSRStorage\UncompressedOrZlib -PresentationContext121 = MicroscopyBulkSimpleAnnotationsStorage\UncompressedOrZlib -PresentationContext122 = MultichannelRespiratoryWaveformStorage\UncompressedOrZlib -PresentationContext123 = MultipleVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext124 = OphthalmicAxialMeasurementsStorage\UncompressedOrZlib -PresentationContext125 = OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage\UncompressedOrZlib -PresentationContext126 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\UncompressedOrZlib -PresentationContext127 = ParametricMapStorage\UncompressedOrZlib -PresentationContext128 = PatientRadiationDoseSRStorage\UncompressedOrZlib -PresentationContext129 = PerformedImagingAgentAdministrationSRStorage\UncompressedOrZlib -PresentationContext130 = PlannedImagingAgentAdministrationSRStorage\UncompressedOrZlib -PresentationContext131 = ProcedureLogStorage\UncompressedOrZlib -PresentationContext132 = ProtocolApprovalStorage\UncompressedOrZlib -PresentationContext133 = PseudoColorSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext134 = RTBeamsDeliveryInstructionStorage\UncompressedOrZlib -PresentationContext135 = RTBeamsTreatmentRecordStorage\UncompressedOrZlib -PresentationContext136 = RTBrachyApplicationSetupDeliveryInstructionStorage\UncompressedOrZlib -PresentationContext137 = RTBrachyTreatmentRecordStorage\UncompressedOrZlib -PresentationContext138 = RTDoseStorage\UncompressedOrZlib -PresentationContext139 = RTIonBeamsTreatmentRecordStorage\UncompressedOrZlib -PresentationContext140 = RTIonPlanStorage\UncompressedOrZlib -PresentationContext141 = RTPatientPositionAcquisitionInstructionStorage\UncompressedOrZlib -PresentationContext142 = RTPhysicianIntentStorage\UncompressedOrZlib -PresentationContext143 = RTPlanStorage\UncompressedOrZlib -PresentationContext144 = RTRadiationRecordSetStorage\UncompressedOrZlib -PresentationContext145 = RTRadiationSalvageRecordStorage\UncompressedOrZlib -PresentationContext146 = RTRadiationSetDeliveryInstructionStorage\UncompressedOrZlib -PresentationContext147 = RTRadiationSetStorage\UncompressedOrZlib -PresentationContext148 = RTSegmentAnnotationStorage\UncompressedOrZlib -PresentationContext149 = RTStructureSetStorage\UncompressedOrZlib -PresentationContext150 = RTTreatmentPreparationStorage\UncompressedOrZlib -PresentationContext151 = RTTreatmentSummaryRecordStorage\UncompressedOrZlib -PresentationContext152 = RadiopharmaceuticalRadiationDoseSRStorage\UncompressedOrZlib -PresentationContext153 = RawDataStorage\UncompressedOrZlib -PresentationContext154 = RealWorldValueMappingStorage\UncompressedOrZlib -PresentationContext155 = RespiratoryWaveformStorage\UncompressedOrZlib -PresentationContext156 = RoboticArmRadiationStorage\UncompressedOrZlib -PresentationContext157 = RoboticRadiationRecordStorage\UncompressedOrZlib -PresentationContext158 = RoutineScalpElectroencephalogramWaveformStorage\UncompressedOrZlib -PresentationContext159 = SegmentationStorage\UncompressedOrZlib -PresentationContext160 = SegmentedVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext161 = SimplifiedAdultEchoSRStorage\UncompressedOrZlib -PresentationContext162 = SleepElectroencephalogramWaveformStorage\UncompressedOrZlib -PresentationContext163 = SpatialFiducialsStorage\UncompressedOrZlib -PresentationContext164 = SpatialRegistrationStorage\UncompressedOrZlib -PresentationContext165 = SpectaclePrescriptionReportStorage\UncompressedOrZlib -PresentationContext166 = StereometricRelationshipStorage\UncompressedOrZlib -PresentationContext167 = SubjectiveRefractionMeasurementsStorage\UncompressedOrZlib -PresentationContext168 = SurfaceScanMeshStorage\UncompressedOrZlib -PresentationContext169 = SurfaceScanPointCloudStorage\UncompressedOrZlib -PresentationContext170 = SurfaceSegmentationStorage\UncompressedOrZlib -PresentationContext171 = TomotherapeuticRadiationRecordStorage\UncompressedOrZlib -PresentationContext172 = TomotherapeuticRadiationStorage\UncompressedOrZlib -PresentationContext173 = TractographyResultsStorage\UncompressedOrZlib -PresentationContext174 = TwelveLeadECGWaveformStorage\UncompressedOrZlib -PresentationContext175 = VariableModalityLUTSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext176 = VisualAcuityMeasurementsStorage\UncompressedOrZlib -PresentationContext177 = VolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib -PresentationContext178 = XADefinedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext179 = XAPerformedProcedureProtocolStorage\UncompressedOrZlib -PresentationContext180 = XAXRFGrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib -PresentationContext181 = XRayRadiationDoseSRStorage\UncompressedOrZlib +# (including segmentation and some SOP classes that do not fit into +# the PATIENT-STUDY-SERIES-INSTANCE model) +# +PresentationContext70 = AcquisitionContextSRStorage\UncompressedOrZlib +PresentationContext71 = AdvancedBlendingPresentationStateStorage\UncompressedOrZlib +PresentationContext72 = AmbulatoryECGWaveformStorage\UncompressedOrZlib +PresentationContext73 = ArterialPulseWaveformStorage\UncompressedOrZlib +PresentationContext74 = AutorefractionMeasurementsStorage\UncompressedOrZlib +PresentationContext75 = BasicStructuredDisplayStorage\UncompressedOrZlib +PresentationContext76 = BasicTextSRStorage\UncompressedOrZlib +PresentationContext77 = BasicVoiceAudioWaveformStorage\UncompressedOrZlib +PresentationContext78 = BlendingSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext79 = BodyPositionWaveformStorage\UncompressedOrZlib +PresentationContext80 = CArmPhotonElectronRadiationRecordStorage\UncompressedOrZlib +PresentationContext81 = CArmPhotonElectronRadiationStorage\UncompressedOrZlib +PresentationContext82 = CTDefinedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext83 = CTPerformedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext84 = CardiacElectrophysiologyWaveformStorage\UncompressedOrZlib +PresentationContext85 = ChestCADSRStorage\UncompressedOrZlib +PresentationContext86 = ColonCADSRStorage\UncompressedOrZlib +PresentationContext87 = ColorPaletteStorage\UncompressedOrZlib +PresentationContext88 = ColorSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext89 = CompositingPlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext90 = Comprehensive3DSRStorage\UncompressedOrZlib +PresentationContext91 = ComprehensiveSRStorage\UncompressedOrZlib +PresentationContext92 = ContentAssessmentResultsStorage\UncompressedOrZlib +PresentationContext93 = DeformableSpatialRegistrationStorage\UncompressedOrZlib +PresentationContext94 = ElectromyogramWaveformStorage\UncompressedOrZlib +PresentationContext95 = ElectrooculogramWaveformStorage\UncompressedOrZlib +PresentationContext96 = EncapsulatedCDAStorage\UncompressedOrZlib +PresentationContext97 = EncapsulatedMTLStorage\UncompressedOrZlib +PresentationContext98 = EncapsulatedOBJStorage\UncompressedOrZlib +PresentationContext99 = EncapsulatedPDFStorage\UncompressedOrZlib +PresentationContext100 = EncapsulatedSTLStorage\UncompressedOrZlib +PresentationContext101 = EnhancedSRStorage\UncompressedOrZlib +PresentationContext102 = EnhancedXRayRadiationDoseSRStorage\UncompressedOrZlib +PresentationContext103 = ExtensibleSRStorage\UncompressedOrZlib +PresentationContext104 = General32BitECGWaveformStorage\UncompressedOrZlib +PresentationContext105 = GeneralAudioWaveformStorage\UncompressedOrZlib +PresentationContext106 = GeneralECGWaveformStorage\UncompressedOrZlib +PresentationContext107 = GenericImplantTemplateStorage\UncompressedOrZlib +PresentationContext108 = GrayscalePlanarMPRVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext109 = GrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext110 = HangingProtocolStorage\UncompressedOrZlib +PresentationContext111 = HeightMapSegmentationStorage\UncompressedOrZlib +PresentationContext112 = HemodynamicWaveformStorage\UncompressedOrZlib +PresentationContext113 = ImplantAssemblyTemplateStorage\UncompressedOrZlib +PresentationContext114 = ImplantTemplateGroupStorage\UncompressedOrZlib +PresentationContext115 = ImplantationPlanSRStorage\UncompressedOrZlib +PresentationContext116 = IntraocularLensCalculationsStorage\UncompressedOrZlib +PresentationContext117 = InventoryStorage\UncompressedOrZlib +PresentationContext118 = KeratometryMeasurementsStorage\UncompressedOrZlib +PresentationContext119 = KeyObjectSelectionDocumentStorage\UncompressedOrZlib +PresentationContext120 = LabelMapSegmentationStorage\UncompressedOrZlib +PresentationContext121 = LensometryMeasurementsStorage\UncompressedOrZlib +PresentationContext122 = MRSpectroscopyStorage\UncompressedOrZlib +PresentationContext123 = MacularGridThicknessAndVolumeReportStorage\UncompressedOrZlib +PresentationContext124 = MammographyCADSRStorage\UncompressedOrZlib +PresentationContext125 = MicroscopyBulkSimpleAnnotationsStorage\UncompressedOrZlib +PresentationContext126 = MultichannelRespiratoryWaveformStorage\UncompressedOrZlib +PresentationContext127 = MultipleVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext128 = OphthalmicAxialMeasurementsStorage\UncompressedOrZlib +PresentationContext129 = OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage\UncompressedOrZlib +PresentationContext130 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\UncompressedOrZlib +PresentationContext131 = ParametricMapStorage\UncompressedOrZlib +PresentationContext132 = PatientRadiationDoseSRStorage\UncompressedOrZlib +PresentationContext133 = PerformedImagingAgentAdministrationSRStorage\UncompressedOrZlib +PresentationContext134 = PlannedImagingAgentAdministrationSRStorage\UncompressedOrZlib +PresentationContext135 = ProcedureLogStorage\UncompressedOrZlib +PresentationContext136 = ProtocolApprovalStorage\UncompressedOrZlib +PresentationContext137 = PseudoColorSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext138 = RTBeamsDeliveryInstructionStorage\UncompressedOrZlib +PresentationContext139 = RTBeamsTreatmentRecordStorage\UncompressedOrZlib +PresentationContext140 = RTBrachyApplicationSetupDeliveryInstructionStorage\UncompressedOrZlib +PresentationContext141 = RTBrachyTreatmentRecordStorage\UncompressedOrZlib +PresentationContext142 = RTDoseStorage\UncompressedOrZlib +PresentationContext143 = RTIonBeamsTreatmentRecordStorage\UncompressedOrZlib +PresentationContext144 = RTIonPlanStorage\UncompressedOrZlib +PresentationContext145 = RTPatientPositionAcquisitionInstructionStorage\UncompressedOrZlib +PresentationContext146 = RTPhysicianIntentStorage\UncompressedOrZlib +PresentationContext147 = RTPlanStorage\UncompressedOrZlib +PresentationContext148 = RTRadiationRecordSetStorage\UncompressedOrZlib +PresentationContext149 = RTRadiationSalvageRecordStorage\UncompressedOrZlib +PresentationContext150 = RTRadiationSetDeliveryInstructionStorage\UncompressedOrZlib +PresentationContext151 = RTRadiationSetStorage\UncompressedOrZlib +PresentationContext152 = RTSegmentAnnotationStorage\UncompressedOrZlib +PresentationContext153 = RTStructureSetStorage\UncompressedOrZlib +PresentationContext154 = RTTreatmentPreparationStorage\UncompressedOrZlib +PresentationContext155 = RTTreatmentSummaryRecordStorage\UncompressedOrZlib +PresentationContext156 = RadiopharmaceuticalRadiationDoseSRStorage\UncompressedOrZlib +PresentationContext157 = RawDataStorage\UncompressedOrZlib +PresentationContext158 = RealWorldValueMappingStorage\UncompressedOrZlib +PresentationContext159 = RespiratoryWaveformStorage\UncompressedOrZlib +PresentationContext160 = RoboticArmRadiationStorage\UncompressedOrZlib +PresentationContext161 = RoboticRadiationRecordStorage\UncompressedOrZlib +PresentationContext162 = RoutineScalpElectroencephalogramWaveformStorage\UncompressedOrZlib +PresentationContext163 = SegmentationStorage\UncompressedOrZlib +PresentationContext164 = SegmentedVolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext165 = SimplifiedAdultEchoSRStorage\UncompressedOrZlib +PresentationContext166 = SleepElectroencephalogramWaveformStorage\UncompressedOrZlib +PresentationContext167 = SpatialFiducialsStorage\UncompressedOrZlib +PresentationContext168 = SpatialRegistrationStorage\UncompressedOrZlib +PresentationContext169 = SpectaclePrescriptionReportStorage\UncompressedOrZlib +PresentationContext170 = StereometricRelationshipStorage\UncompressedOrZlib +PresentationContext171 = SubjectiveRefractionMeasurementsStorage\UncompressedOrZlib +PresentationContext172 = SurfaceScanMeshStorage\UncompressedOrZlib +PresentationContext173 = SurfaceScanPointCloudStorage\UncompressedOrZlib +PresentationContext174 = SurfaceSegmentationStorage\UncompressedOrZlib +PresentationContext175 = TomotherapeuticRadiationRecordStorage\UncompressedOrZlib +PresentationContext176 = TomotherapeuticRadiationStorage\UncompressedOrZlib +PresentationContext177 = TractographyResultsStorage\UncompressedOrZlib +PresentationContext178 = TwelveLeadECGWaveformStorage\UncompressedOrZlib +PresentationContext179 = VariableModalityLUTSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext180 = VisualAcuityMeasurementsStorage\UncompressedOrZlib +PresentationContext181 = VolumeRenderingVolumetricPresentationStateStorage\UncompressedOrZlib +PresentationContext182 = WaveformAnnotationSRStorage\UncompressedOrZlib +PresentationContext183 = XADefinedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext184 = XAPerformedProcedureProtocolStorage\UncompressedOrZlib +PresentationContext185 = XAXRFGrayscaleSoftcopyPresentationStateStorage\UncompressedOrZlib +PresentationContext186 = XRayRadiationDoseSRStorage\UncompressedOrZlib # # retired non-image SOP classes # -PresentationContext182 = RETIRED_StandaloneCurveStorage\UncompressedOrZlib -PresentationContext183 = RETIRED_StandaloneModalityLUTStorage\UncompressedOrZlib -PresentationContext184 = RETIRED_StandaloneOverlayStorage\UncompressedOrZlib -PresentationContext185 = RETIRED_StandalonePETCurveStorage\UncompressedOrZlib -PresentationContext186 = RETIRED_StandaloneVOILUTStorage\UncompressedOrZlib -PresentationContext187 = RETIRED_StoredPrintStorage\UncompressedOrZlib +PresentationContext187 = RETIRED_StandaloneCurveStorage\UncompressedOrZlib +PresentationContext188 = RETIRED_StandaloneModalityLUTStorage\UncompressedOrZlib +PresentationContext189 = RETIRED_StandaloneOverlayStorage\UncompressedOrZlib +PresentationContext190 = RETIRED_StandalonePETCurveStorage\UncompressedOrZlib +PresentationContext191 = RETIRED_StandaloneVOILUTStorage\UncompressedOrZlib +PresentationContext192 = RETIRED_StoredPrintStorage\UncompressedOrZlib # # draft non-image SOP classes # -PresentationContext188 = DRAFT_RTBeamsDeliveryInstructionStorage\UncompressedOrZlib -PresentationContext189 = DRAFT_SRAudioStorage\UncompressedOrZlib -PresentationContext190 = DRAFT_SRComprehensiveStorage\UncompressedOrZlib -PresentationContext191 = DRAFT_SRDetailStorage\UncompressedOrZlib -PresentationContext192 = DRAFT_SRTextStorage\UncompressedOrZlib -PresentationContext193 = DRAFT_WaveformStorage\UncompressedOrZlib +PresentationContext193 = DRAFT_RTBeamsDeliveryInstructionStorage\UncompressedOrZlib +PresentationContext194 = DRAFT_SRAudioStorage\UncompressedOrZlib +PresentationContext195 = DRAFT_SRComprehensiveStorage\UncompressedOrZlib +PresentationContext196 = DRAFT_SRDetailStorage\UncompressedOrZlib +PresentationContext197 = DRAFT_SRTextStorage\UncompressedOrZlib +PresentationContext198 = DRAFT_WaveformStorage\UncompressedOrZlib # # DICOS Storage # -PresentationContext194 = DICOS_CTImageStorage\AnyTransferSyntax -PresentationContext195 = DICOS_DigitalXRayImageStorageForPresentation\AnyTransferSyntax -PresentationContext196 = DICOS_DigitalXRayImageStorageForProcessing\AnyTransferSyntax -PresentationContext197 = DICOS_2DAITStorage\AnyTransferSyntax -PresentationContext198 = DICOS_3DAITStorage\AnyTransferSyntax -PresentationContext199 = DICOS_QuadrupoleResonanceStorage\UncompressedOrZlib -PresentationContext200 = DICOS_ThreatDetectionReportStorage\UncompressedOrZlib +PresentationContext199 = DICOS_CTImageStorage\AnyTransferSyntax +PresentationContext200 = DICOS_DigitalXRayImageStorageForPresentation\AnyTransferSyntax +PresentationContext201 = DICOS_DigitalXRayImageStorageForProcessing\AnyTransferSyntax +PresentationContext202 = DICOS_2DAITStorage\AnyTransferSyntax +PresentationContext203 = DICOS_3DAITStorage\AnyTransferSyntax +PresentationContext204 = DICOS_QuadrupoleResonanceStorage\UncompressedOrZlib +PresentationContext205 = DICOS_ThreatDetectionReportStorage\UncompressedOrZlib # # DICONDE Storage # -PresentationContext201 = DICONDE_EddyCurrentImageStorage\AnyTransferSyntax -PresentationContext202 = DICONDE_EddyCurrentMultiframeImageStorage\AnyTransferSyntax +PresentationContext206 = DICONDE_EddyCurrentImageStorage\AnyTransferSyntax +PresentationContext207 = DICONDE_EddyCurrentMultiframeImageStorage\AnyTransferSyntax +PresentationContext208 = DICONDE_ThermographyImageStorage\AnyTransferSyntax +PresentationContext209 = DICONDE_ThermographyMultiFrameImageStorage\AnyTransferSyntax # ---------------------------------------------------------------------------- @@ -517,6 +547,8 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # - CArmPhotonElectronRadiationStorage # - CompositingPlanarMPRVolumetricPresentationStateStorage # - Comprehensive3DSRStorage +# - ConfocalMicroscopyImageStorage +# - ConfocalMicroscopyTiledPyramidalImageStorage # - ContentAssessmentResultsStorage # - CornealTopographyMapStorage # - CTPerformedProcedureProtocolStorage @@ -538,12 +570,14 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # - General32BitECGWaveformStorage # - GeneralAudioWaveformStorage # - GrayscalePlanarMPRVolumetricPresentationStateStorage +# - HeightMapSegmentationStorage # - ImplantationPlanSRStorage # - IntraocularLensCalculationsStorage # - IntravascularOpticalCoherenceTomographyImageStorageForPresentation # - IntravascularOpticalCoherenceTomographyImageStorageForProcessing # - InventoryStorage # - KeratometryMeasurementsStorage +# - LabelMapSegmentationStorage # - LegacyConvertedEnhancedCTImageStorage # - LegacyConvertedEnhancedMRImageStorage # - LegacyConvertedEnhancedPETImageStorage @@ -597,6 +631,7 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # - VisualAcuityMeasurementsStorage # - VLWholeSlideMicroscopyImageStorage # - VolumeRenderingVolumetricPresentationStateStorage +# - WaveformAnnotationSRStorage # - WideFieldOphthalmicPhotographyStereographicProjectionImageStorage # - WideFieldOphthalmicPhotography3DCoordinatesImageStorage # - XAPerformedProcedureProtocolStorage @@ -628,6 +663,8 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # # - DICONDE_EddyCurrentImageStorage # - DICONDE_EddyCurrentMultiframeImageStorage +# - DICONDE_ThermographyImageStorage +# - DICONDE_ThermographyMultiFrameImageStorage # ============================================================================ [[SCPSCURoleSelection]] @@ -639,202 +676,209 @@ Role2 = BreastProjectionXRayImageStorageForProcessing\BOTH Role3 = BreastTomosynthesisImageStorage\BOTH Role4 = CTImageStorage\BOTH Role5 = ComputedRadiographyImageStorage\BOTH -Role6 = CornealTopographyMapStorage\BOTH -Role7 = DermoscopicPhotographyImageStorage\BOTH -Role8 = DigitalIntraOralXRayImageStorageForPresentation\BOTH -Role9 = DigitalIntraOralXRayImageStorageForProcessing\BOTH -Role10 = DigitalMammographyXRayImageStorageForPresentation\BOTH -Role11 = DigitalMammographyXRayImageStorageForProcessing\BOTH -Role12 = DigitalXRayImageStorageForPresentation\BOTH -Role13 = DigitalXRayImageStorageForProcessing\BOTH -Role14 = EnhancedContinuousRTImageStorage\BOTH -Role15 = EnhancedCTImageStorage\BOTH -Role16 = EnhancedMRColorImageStorage\BOTH -Role17 = EnhancedMRImageStorage\BOTH -Role18 = EnhancedPETImageStorage\BOTH -Role19 = EnhancedRTImageStorage\BOTH -Role20 = EnhancedUSVolumeStorage\BOTH -Role21 = EnhancedXAImageStorage\BOTH -Role22 = EnhancedXRFImageStorage\BOTH -Role23 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\BOTH -Role24 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\BOTH -Role25 = LegacyConvertedEnhancedCTImageStorage\BOTH -Role26 = LegacyConvertedEnhancedMRImageStorage\BOTH -Role27 = LegacyConvertedEnhancedPETImageStorage\BOTH -Role28 = MRImageStorage\BOTH -Role29 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\BOTH -Role30 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\BOTH -Role31 = MultiframeSingleBitSecondaryCaptureImageStorage\BOTH -Role32 = MultiframeTrueColorSecondaryCaptureImageStorage\BOTH -Role33 = NuclearMedicineImageStorage\BOTH -Role34 = OphthalmicOpticalCoherenceTomographyEnFaceImageStorage\BOTH -Role35 = OphthalmicPhotography16BitImageStorage\BOTH -Role36 = OphthalmicPhotography8BitImageStorage\BOTH -Role37 = OphthalmicThicknessMapStorage\BOTH -Role38 = OphthalmicTomographyImageStorage\BOTH -Role39 = PhotoacousticImageStorage\BOTH -Role40 = PositronEmissionTomographyImageStorage\BOTH -Role41 = RTImageStorage\BOTH -Role42 = SecondaryCaptureImageStorage\BOTH -Role43 = UltrasoundImageStorage\BOTH -Role44 = UltrasoundMultiframeImageStorage\BOTH -Role45 = VLEndoscopicImageStorage\BOTH -Role46 = VLMicroscopicImageStorage\BOTH -Role47 = VLPhotographicImageStorage\BOTH -Role48 = VLSlideCoordinatesMicroscopicImageStorage\BOTH -Role49 = VLWholeSlideMicroscopyImageStorage\BOTH -Role50 = VideoEndoscopicImageStorage\BOTH -Role51 = VideoMicroscopicImageStorage\BOTH -Role52 = VideoPhotographicImageStorage\BOTH -Role53 = WideFieldOphthalmicPhotography3DCoordinatesImageStorage\BOTH -Role54 = WideFieldOphthalmicPhotographyStereographicProjectionImageStorage\BOTH -Role55 = XRay3DAngiographicImageStorage\BOTH -Role56 = XRay3DCraniofacialImageStorage\BOTH -Role57 = XRayAngiographicImageStorage\BOTH -Role58 = XRayRadiofluoroscopicImageStorage\BOTH -Role59 = RETIRED_HardcopyColorImageStorage\BOTH -Role60 = RETIRED_HardcopyGrayscaleImageStorage\BOTH -Role61 = RETIRED_NuclearMedicineImageStorage\BOTH -Role62 = RETIRED_UltrasoundImageStorage\BOTH -Role63 = RETIRED_UltrasoundMultiframeImageStorage\BOTH -Role64 = RETIRED_VLImageStorage\BOTH -Role65 = RETIRED_VLMultiframeImageStorage\BOTH -Role66 = RETIRED_XRayAngiographicBiPlaneImageStorage\BOTH -Role67 = AcquisitionContextSRStorage\BOTH -Role68 = AdvancedBlendingPresentationStateStorage\BOTH -Role69 = AmbulatoryECGWaveformStorage\BOTH -Role70 = ArterialPulseWaveformStorage\BOTH -Role71 = AutorefractionMeasurementsStorage\BOTH -Role72 = BasicStructuredDisplayStorage\BOTH -Role73 = BasicTextSRStorage\BOTH -Role74 = BasicVoiceAudioWaveformStorage\BOTH -Role75 = BlendingSoftcopyPresentationStateStorage\BOTH -Role76 = BodyPositionWaveformStorage\BOTH -Role77 = CArmPhotonElectronRadiationRecordStorage\BOTH -Role78 = CArmPhotonElectronRadiationStorage\BOTH -Role79 = CTDefinedProcedureProtocolStorage\BOTH -Role80 = CTPerformedProcedureProtocolStorage\BOTH -Role81 = CardiacElectrophysiologyWaveformStorage\BOTH -Role82 = ChestCADSRStorage\BOTH -Role83 = ColonCADSRStorage\BOTH -Role84 = ColorPaletteStorage\BOTH -Role85 = ColorSoftcopyPresentationStateStorage\BOTH -Role86 = CompositingPlanarMPRVolumetricPresentationStateStorage\BOTH -Role87 = Comprehensive3DSRStorage\BOTH -Role88 = ComprehensiveSRStorage\BOTH -Role89 = ContentAssessmentResultsStorage\BOTH -Role90 = DeformableSpatialRegistrationStorage\BOTH -Role91 = ElectromyogramWaveformStorage\BOTH -Role92 = ElectrooculogramWaveformStorage\BOTH -Role93 = EncapsulatedCDAStorage\BOTH -Role94 = EncapsulatedMTLStorage\BOTH -Role95 = EncapsulatedOBJStorage\BOTH -Role96 = EncapsulatedPDFStorage\BOTH -Role97 = EncapsulatedSTLStorage\BOTH -Role98 = EnhancedSRStorage\BOTH -Role99 = EnhancedXRayRadiationDoseSRStorage\BOTH -Role100 = ExtensibleSRStorage\BOTH -Role101 = General32BitECGWaveformStorage\BOTH -Role102 = GeneralAudioWaveformStorage\BOTH -Role103 = GeneralECGWaveformStorage\BOTH -Role104 = GenericImplantTemplateStorage\BOTH -Role105 = GrayscalePlanarMPRVolumetricPresentationStateStorage\BOTH -Role106 = GrayscaleSoftcopyPresentationStateStorage\BOTH -Role107 = HangingProtocolStorage\BOTH -Role108 = HemodynamicWaveformStorage\BOTH -Role109 = ImplantAssemblyTemplateStorage\BOTH -Role110 = ImplantTemplateGroupStorage\BOTH -Role111 = ImplantationPlanSRStorage\BOTH -Role112 = IntraocularLensCalculationsStorage\BOTH -Role113 = InventoryStorage\BOTH -Role114 = KeratometryMeasurementsStorage\BOTH -Role115 = KeyObjectSelectionDocumentStorage\BOTH -Role116 = LensometryMeasurementsStorage\BOTH -Role117 = MRSpectroscopyStorage\BOTH -Role118 = MacularGridThicknessAndVolumeReportStorage\BOTH -Role119 = MammographyCADSRStorage\BOTH -Role120 = MicroscopyBulkSimpleAnnotationsStorage\BOTH -Role121 = MultichannelRespiratoryWaveformStorage\BOTH -Role122 = MultipleVolumeRenderingVolumetricPresentationStateStorage\BOTH -Role123 = OphthalmicAxialMeasurementsStorage\BOTH -Role124 = OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage\BOTH -Role125 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\BOTH -Role126 = ParametricMapStorage\BOTH -Role127 = PatientRadiationDoseSRStorage\BOTH -Role128 = PerformedImagingAgentAdministrationSRStorage\BOTH -Role129 = PlannedImagingAgentAdministrationSRStorage\BOTH -Role130 = ProcedureLogStorage\BOTH -Role131 = ProtocolApprovalStorage\BOTH -Role132 = PseudoColorSoftcopyPresentationStateStorage\BOTH -Role133 = RTBeamsDeliveryInstructionStorage\BOTH -Role134 = RTBeamsTreatmentRecordStorage\BOTH -Role135 = RTBrachyApplicationSetupDeliveryInstructionStorage\BOTH -Role136 = RTBrachyTreatmentRecordStorage\BOTH -Role137 = RTDoseStorage\BOTH -Role138 = RTIonBeamsTreatmentRecordStorage\BOTH -Role139 = RTIonPlanStorage\BOTH -Role140 = RTPatientPositionAcquisitionInstructionStorage\BOTH -Role141 = RTPhysicianIntentStorage\BOTH -Role142 = RTPlanStorage\BOTH -Role143 = RTRadiationRecordSetStorage\BOTH -Role144 = RTRadiationSalvageRecordStorage\BOTH -Role145 = RTRadiationSetDeliveryInstructionStorage\BOTH -Role146 = RTRadiationSetStorage\BOTH -Role147 = RTSegmentAnnotationStorage\BOTH -Role148 = RTStructureSetStorage\BOTH -Role149 = RTTreatmentPreparationStorage\BOTH -Role150 = RTTreatmentSummaryRecordStorage\BOTH -Role151 = RadiopharmaceuticalRadiationDoseSRStorage\BOTH -Role152 = RawDataStorage\BOTH -Role153 = RealWorldValueMappingStorage\BOTH -Role154 = RespiratoryWaveformStorage\BOTH -Role155 = RoboticArmRadiationStorage\BOTH -Role156 = RoboticRadiationRecordStorage\BOTH -Role157 = RoutineScalpElectroencephalogramWaveformStorage\BOTH -Role158 = SegmentationStorage\BOTH -Role159 = SegmentedVolumeRenderingVolumetricPresentationStateStorage\BOTH -Role160 = SimplifiedAdultEchoSRStorage\BOTH -Role161 = SleepElectroencephalogramWaveformStorage\BOTH -Role162 = SpatialFiducialsStorage\BOTH -Role163 = SpatialRegistrationStorage\BOTH -Role164 = SpectaclePrescriptionReportStorage\BOTH -Role165 = StereometricRelationshipStorage\BOTH -Role166 = SubjectiveRefractionMeasurementsStorage\BOTH -Role167 = SurfaceScanMeshStorage\BOTH -Role168 = SurfaceScanPointCloudStorage\BOTH -Role169 = SurfaceSegmentationStorage\BOTH -Role170 = TomotherapeuticRadiationRecordStorage\BOTH -Role171 = TomotherapeuticRadiationStorage\BOTH -Role172 = TractographyResultsStorage\BOTH -Role173 = TwelveLeadECGWaveformStorage\BOTH -Role174 = VariableModalityLUTSoftcopyPresentationStateStorage\BOTH -Role175 = VisualAcuityMeasurementsStorage\BOTH -Role176 = VolumeRenderingVolumetricPresentationStateStorage\BOTH -Role177 = XADefinedProcedureProtocolStorage\BOTH -Role178 = XAPerformedProcedureProtocolStorage\BOTH -Role179 = XAXRFGrayscaleSoftcopyPresentationStateStorage\BOTH -Role180 = XRayRadiationDoseSRStorage\BOTH -Role181 = RETIRED_StandaloneCurveStorage\BOTH -Role182 = RETIRED_StandaloneModalityLUTStorage\BOTH -Role183 = RETIRED_StandaloneOverlayStorage\BOTH -Role184 = RETIRED_StandalonePETCurveStorage\BOTH -Role185 = RETIRED_StandaloneVOILUTStorage\BOTH -Role186 = RETIRED_StoredPrintStorage\BOTH -Role187 = DRAFT_RTBeamsDeliveryInstructionStorage\BOTH -Role188 = DRAFT_SRAudioStorage\BOTH -Role189 = DRAFT_SRComprehensiveStorage\BOTH -Role190 = DRAFT_SRDetailStorage\BOTH -Role191 = DRAFT_SRTextStorage\BOTH -Role192 = DRAFT_WaveformStorage\BOTH -Role193 = DICOS_CTImageStorage\BOTH -Role194 = DICOS_DigitalXRayImageStorageForPresentation\BOTH -Role195 = DICOS_DigitalXRayImageStorageForProcessing\BOTH -Role196 = DICOS_2DAITStorage\BOTH -Role197 = DICOS_3DAITStorage\BOTH -Role198 = DICOS_QuadrupoleResonanceStorage\BOTH -Role199 = DICOS_ThreatDetectionReportStorage\BOTH -Role200 = DICONDE_EddyCurrentImageStorage\BOTH -Role201 = DICONDE_EddyCurrentMultiframeImageStorage\BOTH +Role6 = ConfocalMicroscopyImageStorage\BOTH +Role7 = ConfocalMicroscopyTiledPyramidalImageStorage\BOTH +Role8 = CornealTopographyMapStorage\BOTH +Role9 = DermoscopicPhotographyImageStorage\BOTH +Role10 = DigitalIntraOralXRayImageStorageForPresentation\BOTH +Role11 = DigitalIntraOralXRayImageStorageForProcessing\BOTH +Role12 = DigitalMammographyXRayImageStorageForPresentation\BOTH +Role13 = DigitalMammographyXRayImageStorageForProcessing\BOTH +Role14 = DigitalXRayImageStorageForPresentation\BOTH +Role15 = DigitalXRayImageStorageForProcessing\BOTH +Role16 = EnhancedContinuousRTImageStorage\BOTH +Role17 = EnhancedCTImageStorage\BOTH +Role18 = EnhancedMRColorImageStorage\BOTH +Role19 = EnhancedMRImageStorage\BOTH +Role20 = EnhancedPETImageStorage\BOTH +Role21 = EnhancedRTImageStorage\BOTH +Role22 = EnhancedUSVolumeStorage\BOTH +Role23 = EnhancedXAImageStorage\BOTH +Role24 = EnhancedXRFImageStorage\BOTH +Role25 = IntravascularOpticalCoherenceTomographyImageStorageForPresentation\BOTH +Role26 = IntravascularOpticalCoherenceTomographyImageStorageForProcessing\BOTH +Role27 = LegacyConvertedEnhancedCTImageStorage\BOTH +Role28 = LegacyConvertedEnhancedMRImageStorage\BOTH +Role29 = LegacyConvertedEnhancedPETImageStorage\BOTH +Role30 = MRImageStorage\BOTH +Role31 = MultiframeGrayscaleByteSecondaryCaptureImageStorage\BOTH +Role32 = MultiframeGrayscaleWordSecondaryCaptureImageStorage\BOTH +Role33 = MultiframeSingleBitSecondaryCaptureImageStorage\BOTH +Role34 = MultiframeTrueColorSecondaryCaptureImageStorage\BOTH +Role35 = NuclearMedicineImageStorage\BOTH +Role36 = OphthalmicOpticalCoherenceTomographyEnFaceImageStorage\BOTH +Role37 = OphthalmicPhotography16BitImageStorage\BOTH +Role38 = OphthalmicPhotography8BitImageStorage\BOTH +Role39 = OphthalmicThicknessMapStorage\BOTH +Role40 = OphthalmicTomographyImageStorage\BOTH +Role41 = PhotoacousticImageStorage\BOTH +Role42 = PositronEmissionTomographyImageStorage\BOTH +Role43 = RTImageStorage\BOTH +Role44 = SecondaryCaptureImageStorage\BOTH +Role45 = UltrasoundImageStorage\BOTH +Role46 = UltrasoundMultiframeImageStorage\BOTH +Role47 = VLEndoscopicImageStorage\BOTH +Role48 = VLMicroscopicImageStorage\BOTH +Role49 = VLPhotographicImageStorage\BOTH +Role50 = VLSlideCoordinatesMicroscopicImageStorage\BOTH +Role51 = VLWholeSlideMicroscopyImageStorage\BOTH +Role52 = VideoEndoscopicImageStorage\BOTH +Role53 = VideoMicroscopicImageStorage\BOTH +Role54 = VideoPhotographicImageStorage\BOTH +Role55 = WideFieldOphthalmicPhotography3DCoordinatesImageStorage\BOTH +Role56 = WideFieldOphthalmicPhotographyStereographicProjectionImageStorage\BOTH +Role57 = XRay3DAngiographicImageStorage\BOTH +Role58 = XRay3DCraniofacialImageStorage\BOTH +Role59 = XRayAngiographicImageStorage\BOTH +Role60 = XRayRadiofluoroscopicImageStorage\BOTH +Role61 = RETIRED_HardcopyColorImageStorage\BOTH +Role62 = RETIRED_HardcopyGrayscaleImageStorage\BOTH +Role63 = RETIRED_NuclearMedicineImageStorage\BOTH +Role64 = RETIRED_UltrasoundImageStorage\BOTH +Role65 = RETIRED_UltrasoundMultiframeImageStorage\BOTH +Role66 = RETIRED_VLImageStorage\BOTH +Role67 = RETIRED_VLMultiframeImageStorage\BOTH +Role68 = RETIRED_XRayAngiographicBiPlaneImageStorage\BOTH +Role69 = AcquisitionContextSRStorage\BOTH +Role70 = AdvancedBlendingPresentationStateStorage\BOTH +Role71 = AmbulatoryECGWaveformStorage\BOTH +Role72 = ArterialPulseWaveformStorage\BOTH +Role73 = AutorefractionMeasurementsStorage\BOTH +Role74 = BasicStructuredDisplayStorage\BOTH +Role75 = BasicTextSRStorage\BOTH +Role76 = BasicVoiceAudioWaveformStorage\BOTH +Role77 = BlendingSoftcopyPresentationStateStorage\BOTH +Role78 = BodyPositionWaveformStorage\BOTH +Role79 = CArmPhotonElectronRadiationRecordStorage\BOTH +Role80 = CArmPhotonElectronRadiationStorage\BOTH +Role81 = CTDefinedProcedureProtocolStorage\BOTH +Role82 = CTPerformedProcedureProtocolStorage\BOTH +Role83 = CardiacElectrophysiologyWaveformStorage\BOTH +Role84 = ChestCADSRStorage\BOTH +Role85 = ColonCADSRStorage\BOTH +Role86 = ColorPaletteStorage\BOTH +Role87 = ColorSoftcopyPresentationStateStorage\BOTH +Role88 = CompositingPlanarMPRVolumetricPresentationStateStorage\BOTH +Role89 = Comprehensive3DSRStorage\BOTH +Role90 = ComprehensiveSRStorage\BOTH +Role91 = ContentAssessmentResultsStorage\BOTH +Role92 = DeformableSpatialRegistrationStorage\BOTH +Role93 = ElectromyogramWaveformStorage\BOTH +Role94 = ElectrooculogramWaveformStorage\BOTH +Role95 = EncapsulatedCDAStorage\BOTH +Role96 = EncapsulatedMTLStorage\BOTH +Role97 = EncapsulatedOBJStorage\BOTH +Role98 = EncapsulatedPDFStorage\BOTH +Role99 = EncapsulatedSTLStorage\BOTH +Role100 = EnhancedSRStorage\BOTH +Role101 = EnhancedXRayRadiationDoseSRStorage\BOTH +Role102 = ExtensibleSRStorage\BOTH +Role103 = General32BitECGWaveformStorage\BOTH +Role104 = GeneralAudioWaveformStorage\BOTH +Role105 = GeneralECGWaveformStorage\BOTH +Role106 = GenericImplantTemplateStorage\BOTH +Role107 = GrayscalePlanarMPRVolumetricPresentationStateStorage\BOTH +Role108 = GrayscaleSoftcopyPresentationStateStorage\BOTH +Role109 = HangingProtocolStorage\BOTH +Role110 = HeightMapSegmentationStorage\BOTH +Role111 = HemodynamicWaveformStorage\BOTH +Role112 = ImplantAssemblyTemplateStorage\BOTH +Role113 = ImplantTemplateGroupStorage\BOTH +Role114 = ImplantationPlanSRStorage\BOTH +Role115 = IntraocularLensCalculationsStorage\BOTH +Role116 = InventoryStorage\BOTH +Role117 = KeratometryMeasurementsStorage\BOTH +Role118 = KeyObjectSelectionDocumentStorage\BOTH +Role119 = LabelMapSegmentationStorage\BOTH +Role120 = LensometryMeasurementsStorage\BOTH +Role121 = MRSpectroscopyStorage\BOTH +Role122 = MacularGridThicknessAndVolumeReportStorage\BOTH +Role123 = MammographyCADSRStorage\BOTH +Role124 = MicroscopyBulkSimpleAnnotationsStorage\BOTH +Role125 = MultichannelRespiratoryWaveformStorage\BOTH +Role126 = MultipleVolumeRenderingVolumetricPresentationStateStorage\BOTH +Role127 = OphthalmicAxialMeasurementsStorage\BOTH +Role128 = OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage\BOTH +Role129 = OphthalmicVisualFieldStaticPerimetryMeasurementsStorage\BOTH +Role130 = ParametricMapStorage\BOTH +Role131 = PatientRadiationDoseSRStorage\BOTH +Role132 = PerformedImagingAgentAdministrationSRStorage\BOTH +Role133 = PlannedImagingAgentAdministrationSRStorage\BOTH +Role134 = ProcedureLogStorage\BOTH +Role135 = ProtocolApprovalStorage\BOTH +Role136 = PseudoColorSoftcopyPresentationStateStorage\BOTH +Role137 = RTBeamsDeliveryInstructionStorage\BOTH +Role138 = RTBeamsTreatmentRecordStorage\BOTH +Role139 = RTBrachyApplicationSetupDeliveryInstructionStorage\BOTH +Role140 = RTBrachyTreatmentRecordStorage\BOTH +Role141 = RTDoseStorage\BOTH +Role142 = RTIonBeamsTreatmentRecordStorage\BOTH +Role143 = RTIonPlanStorage\BOTH +Role144 = RTPatientPositionAcquisitionInstructionStorage\BOTH +Role145 = RTPhysicianIntentStorage\BOTH +Role146 = RTPlanStorage\BOTH +Role147 = RTRadiationRecordSetStorage\BOTH +Role148 = RTRadiationSalvageRecordStorage\BOTH +Role149 = RTRadiationSetDeliveryInstructionStorage\BOTH +Role150 = RTRadiationSetStorage\BOTH +Role151 = RTSegmentAnnotationStorage\BOTH +Role152 = RTStructureSetStorage\BOTH +Role153 = RTTreatmentPreparationStorage\BOTH +Role154 = RTTreatmentSummaryRecordStorage\BOTH +Role155 = RadiopharmaceuticalRadiationDoseSRStorage\BOTH +Role156 = RawDataStorage\BOTH +Role157 = RealWorldValueMappingStorage\BOTH +Role158 = RespiratoryWaveformStorage\BOTH +Role159 = RoboticArmRadiationStorage\BOTH +Role160 = RoboticRadiationRecordStorage\BOTH +Role161 = RoutineScalpElectroencephalogramWaveformStorage\BOTH +Role162 = SegmentationStorage\BOTH +Role163 = SegmentedVolumeRenderingVolumetricPresentationStateStorage\BOTH +Role164 = SimplifiedAdultEchoSRStorage\BOTH +Role165 = SleepElectroencephalogramWaveformStorage\BOTH +Role166 = SpatialFiducialsStorage\BOTH +Role167 = SpatialRegistrationStorage\BOTH +Role168 = SpectaclePrescriptionReportStorage\BOTH +Role169 = StereometricRelationshipStorage\BOTH +Role170 = SubjectiveRefractionMeasurementsStorage\BOTH +Role171 = SurfaceScanMeshStorage\BOTH +Role172 = SurfaceScanPointCloudStorage\BOTH +Role173 = SurfaceSegmentationStorage\BOTH +Role174 = TomotherapeuticRadiationRecordStorage\BOTH +Role175 = TomotherapeuticRadiationStorage\BOTH +Role176 = TractographyResultsStorage\BOTH +Role177 = TwelveLeadECGWaveformStorage\BOTH +Role178 = VariableModalityLUTSoftcopyPresentationStateStorage\BOTH +Role179 = VisualAcuityMeasurementsStorage\BOTH +Role180 = VolumeRenderingVolumetricPresentationStateStorage\BOTH +Role181 = WaveformAnnotationSRStorage\BOTH +Role182 = XADefinedProcedureProtocolStorage\BOTH +Role183 = XAPerformedProcedureProtocolStorage\BOTH +Role184 = XAXRFGrayscaleSoftcopyPresentationStateStorage\BOTH +Role185 = XRayRadiationDoseSRStorage\BOTH +Role186 = RETIRED_StandaloneCurveStorage\BOTH +Role187 = RETIRED_StandaloneModalityLUTStorage\BOTH +Role188 = RETIRED_StandaloneOverlayStorage\BOTH +Role189 = RETIRED_StandalonePETCurveStorage\BOTH +Role190 = RETIRED_StandaloneVOILUTStorage\BOTH +Role191 = RETIRED_StoredPrintStorage\BOTH +Role192 = DRAFT_RTBeamsDeliveryInstructionStorage\BOTH +Role193 = DRAFT_SRAudioStorage\BOTH +Role194 = DRAFT_SRComprehensiveStorage\BOTH +Role195 = DRAFT_SRDetailStorage\BOTH +Role196 = DRAFT_SRTextStorage\BOTH +Role197 = DRAFT_WaveformStorage\BOTH +Role198 = DICOS_CTImageStorage\BOTH +Role199 = DICOS_DigitalXRayImageStorageForPresentation\BOTH +Role200 = DICOS_DigitalXRayImageStorageForProcessing\BOTH +Role201 = DICOS_2DAITStorage\BOTH +Role202 = DICOS_3DAITStorage\BOTH +Role203 = DICOS_QuadrupoleResonanceStorage\BOTH +Role204 = DICOS_ThreatDetectionReportStorage\BOTH +Role205 = DICONDE_EddyCurrentImageStorage\BOTH +Role206 = DICONDE_EddyCurrentMultiframeImageStorage\BOTH +Role207 = DICONDE_ThermographyImageStorage\BOTH +Role208 = DICONDE_ThermographyMultiFrameImageStorage\BOTH # ============================================================================ [[Profiles]] diff --git a/dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h b/dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h index 30f40bd2..0e61f031 100644 --- a/dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h +++ b/dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1993-2018, OFFIS e.V. + * Copyright (C) 1993-2023, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -119,10 +119,11 @@ enum DB_QUERY_CLASS struct DCMTK_DCMQRDB_EXPORT DB_SerializedTagKey { inline DB_SerializedTagKey() {} - inline DB_SerializedTagKey(const DcmTagKey& rhs) { *this = rhs; } + inline DB_SerializedTagKey(const DcmTagKey& tk) { *this = tk; } inline DB_SerializedTagKey& operator=(const DcmTagKey& tk) { key[0] = tk.getGroup(); key[1] = tk.getElement(); return *this; } inline operator DcmTagKey() const { return DcmTagKey( key[0], key[1] ); } inline bool operator==(const DB_SerializedTagKey& rhs) const { return key[0] == rhs.key[0] && key[1] == rhs.key[1]; } + inline bool operator==(const DcmTagKey& tk) const { return key[0] == tk.getGroup() && key[1] == tk.getElement(); } Uint16 key[2]; }; diff --git a/dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h b/dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h index 24bdef93..4adf29bb 100644 --- a/dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h +++ b/dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h @@ -33,6 +33,7 @@ class DcmQueryRetrieveConfig; class DcmQueryRetrieveOptions; class DcmQueryRetrieveDatabaseHandle; class DcmQueryRetrieveDatabaseHandleFactory; +class DcmTLSOptions; /// enumeration describing reasons for refusing an association request enum CTN_RefuseReason @@ -61,12 +62,14 @@ public: * @param config SCP configuration facility * @param options SCP configuration options * @param factory factory object used to create database handles + * @param object managing the TLS options for network connections */ DcmQueryRetrieveSCP( const DcmQueryRetrieveConfig& config, const DcmQueryRetrieveOptions& options, const DcmQueryRetrieveDatabaseHandleFactory& factory, - const DcmAssociationConfiguration& associationConfiguration); + const DcmAssociationConfiguration& associationConfiguration, + DcmTLSOptions& tlsOptions); /// destructor virtual ~DcmQueryRetrieveSCP() { } @@ -169,6 +172,9 @@ private: /// Association configuration profiles read from configuration file const DcmAssociationConfiguration& associationConfiguration_; + + /// reference to object managing the TLS options + DcmTLSOptions& tlsOptions_; }; #endif diff --git a/dcmqrdb/libsrc/CMakeLists.txt b/dcmqrdb/libsrc/CMakeLists.txt index 832fa9fc..46afcd5b 100644 --- a/dcmqrdb/libsrc/CMakeLists.txt +++ b/dcmqrdb/libsrc/CMakeLists.txt @@ -13,4 +13,8 @@ DCMTK_ADD_LIBRARY(dcmqrdb dcmqrtis.cc ) -DCMTK_TARGET_LINK_MODULES(dcmqrdb ofstd dcmdata dcmnet) +DCMTK_TARGET_LINK_MODULES(dcmqrdb ofstd dcmdata dcmnet dcmtls) + +if(TARGET dcmqrdb) + set_property(TARGET dcmqrdb PROPERTY OUTPUT_NAME "dcmqrdb${DCMTK_TLS_LIBRARY_POSTFIX}") +endif() diff --git a/dcmqrdb/libsrc/Makefile.dep b/dcmqrdb/libsrc/Makefile.dep index d5771331..68750409 100644 --- a/dcmqrdb/libsrc/Makefile.dep +++ b/dcmqrdb/libsrc/Makefile.dep @@ -62,7 +62,6 @@ dcmqrcbf.o: dcmqrcbf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -151,7 +150,6 @@ dcmqrcbg.o: dcmqrcbg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -240,7 +238,6 @@ dcmqrcbm.o: dcmqrcbm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -337,7 +334,6 @@ dcmqrcbs.o: dcmqrcbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -370,11 +366,11 @@ dcmqrcnf.o: dcmqrcnf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -385,7 +381,6 @@ dcmqrcnf.o: dcmqrcnf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -422,8 +417,8 @@ dcmqrdbi.o: dcmqrdbi.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -431,7 +426,6 @@ dcmqrdbi.o: dcmqrdbi.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmqrdb/dcmqrdbs.h ../include/dcmtk/dcmqrdb/qrdefine.h \ ../include/dcmtk/dcmqrdb/dcmqrdbi.h ../include/dcmtk/dcmqrdb/dcmqrdba.h \ @@ -516,12 +510,12 @@ dcmqrdbs.o: dcmqrdbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmqrdb/qrdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -531,7 +525,6 @@ dcmqrdbs.o: dcmqrdbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -565,6 +558,7 @@ dcmqrdbs.o: dcmqrdbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -587,9 +581,9 @@ dcmqropt.o: dcmqropt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -611,10 +605,10 @@ dcmqropt.o: dcmqropt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -637,7 +631,6 @@ dcmqropt.o: dcmqropt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmqrdb/qrdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ @@ -659,8 +652,8 @@ dcmqrptb.o: dcmqrptb.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ @@ -719,7 +712,6 @@ dcmqrptb.o: dcmqrptb.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ @@ -740,12 +732,12 @@ dcmqrsrv.o: dcmqrsrv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -797,7 +789,6 @@ dcmqrsrv.o: dcmqrsrv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ @@ -829,7 +820,12 @@ dcmqrsrv.o: dcmqrsrv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ ../include/dcmtk/dcmqrdb/dcmqrdba.h ../include/dcmtk/dcmqrdb/dcmqrcbf.h \ ../include/dcmtk/dcmqrdb/dcmqrcbm.h ../include/dcmtk/dcmqrdb/dcmqrcbg.h \ - ../include/dcmtk/dcmqrdb/dcmqrcbs.h + ../include/dcmtk/dcmqrdb/dcmqrcbs.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlsopt.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlslayer.h \ + ../../dcmnet/include/dcmtk/dcmnet/dcmlayer.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlsdefin.h \ + ../../dcmtls/include/dcmtk/dcmtls/tlsciphr.h dcmqrtis.o: dcmqrtis.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmqrdb/dcmqrtis.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ @@ -894,7 +890,6 @@ dcmqrtis.o: dcmqrtis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ diff --git a/dcmqrdb/libsrc/Makefile.in b/dcmqrdb/libsrc/Makefile.in index 0b2ade8b..6d2db3b5 100644 --- a/dcmqrdb/libsrc/Makefile.in +++ b/dcmqrdb/libsrc/Makefile.in @@ -16,9 +16,10 @@ ofstddir = $(top_srcdir)/../ofstd oflogdir = $(top_srcdir)/../oflog dcmdatadir = $(top_srcdir)/../dcmdata dcmnetdir = $(top_srcdir)/../dcmnet +dcmtlsdir = $(top_srcdir)/../dcmtls LOCALINCLUDES = -I$(dcmnetdir)/include -I$(dcmdatadir)/include \ - -I$(ofstddir)/include -I$(oflogdir)/include + -I$(ofstddir)/include -I$(oflogdir)/include -I$(dcmtlsdir)/include LOCALDEFS = objs = dcmqrcbf.o dcmqrcbg.o dcmqrcbm.o dcmqrcbs.o dcmqrcnf.o dcmqrdbi.o \ diff --git a/dcmqrdb/libsrc/dcmqrcnf.cc b/dcmqrdb/libsrc/dcmqrcnf.cc index dd120325..0a02f060 100644 --- a/dcmqrdb/libsrc/dcmqrcnf.cc +++ b/dcmqrdb/libsrc/dcmqrcnf.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1993-2022, OFFIS e.V. + * Copyright (C) 1993-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -749,7 +749,7 @@ char *DcmQueryRetrieveConfig::skipmnemonic (char *rcline) else break; } while(*help != '\0') { - if (!isspace(OFstatic_cast(unsigned char, *help))) help++; /* Mnemonic */ + if (!OFStandard::isspace(*help)) help++; /* Mnemonic */ else break; } while(*help != '\0') { @@ -762,7 +762,7 @@ char *DcmQueryRetrieveConfig::skipmnemonic (char *rcline) int DcmQueryRetrieveConfig::isgap (char gap) { - if (isspace(OFstatic_cast(unsigned char, gap))) + if (OFStandard::isspace(gap)) return(1); if (gap == '=' || gap == ',' || gap == 10 || gap == 13) return(1); diff --git a/dcmqrdb/libsrc/dcmqrdbi.cc b/dcmqrdb/libsrc/dcmqrdbi.cc index e8e41357..132f8a11 100644 --- a/dcmqrdb/libsrc/dcmqrdbi.cc +++ b/dcmqrdb/libsrc/dcmqrdbi.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1993-2023, OFFIS e.V. + * Copyright (C) 1993-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -2739,6 +2739,7 @@ OFCondition DcmQueryRetrieveIndexDatabaseHandle::storeRequest ( DcmTagKey descrTag = DCM_ImageComments; if (SOPClassUID != NULL) { + DcmUIDProperties properties; /* fill in value depending on SOP class UID (content might be improved) */ if (strcmp(SOPClassUID, UID_GrayscaleSoftcopyPresentationStateStorage) == 0) { @@ -2747,28 +2748,10 @@ OFCondition DcmQueryRetrieveIndexDatabaseHandle::storeRequest ( { OFStandard::strlcpy(idxRec.InstanceDescription, "Hardcopy Grayscale Image", DESCRIPTION_MAX_LENGTH+1); useDescrTag = OFFalse; - } else if ((strcmp(SOPClassUID, UID_BasicTextSRStorage) == 0) || - (strcmp(SOPClassUID, UID_EnhancedSRStorage) == 0) || - (strcmp(SOPClassUID, UID_ComprehensiveSRStorage) == 0) || - (strcmp(SOPClassUID, UID_Comprehensive3DSRStorage) == 0) || - (strcmp(SOPClassUID, UID_ExtensibleSRStorage) == 0) || - (strcmp(SOPClassUID, UID_ProcedureLogStorage) == 0) || - (strcmp(SOPClassUID, UID_MammographyCADSRStorage) == 0) || - (strcmp(SOPClassUID, UID_KeyObjectSelectionDocumentStorage) == 0) || - (strcmp(SOPClassUID, UID_ChestCADSRStorage) == 0) || - (strcmp(SOPClassUID, UID_ColonCADSRStorage) == 0) || - (strcmp(SOPClassUID, UID_XRayRadiationDoseSRStorage) == 0) || - (strcmp(SOPClassUID, UID_EnhancedXRayRadiationDoseSRStorage) == 0) || - (strcmp(SOPClassUID, UID_SpectaclePrescriptionReportStorage) == 0) || - (strcmp(SOPClassUID, UID_MacularGridThicknessAndVolumeReportStorage) == 0) || - (strcmp(SOPClassUID, UID_ImplantationPlanSRStorage) == 0) || - (strcmp(SOPClassUID, UID_RadiopharmaceuticalRadiationDoseSRStorage) == 0) || - (strcmp(SOPClassUID, UID_AcquisitionContextSRStorage) == 0) || - (strcmp(SOPClassUID, UID_SimplifiedAdultEchoSRStorage) == 0) || - (strcmp(SOPClassUID, UID_PatientRadiationDoseSRStorage) == 0) || - (strcmp(SOPClassUID, UID_PerformedImagingAgentAdministrationSRStorage) == 0) || - (strcmp(SOPClassUID, UID_PlannedImagingAgentAdministrationSRStorage) == 0)) + } else if (dcmGetPropertiesOfUID(SOPClassUID, properties) && (properties.uidType == EUT_SOPClass) && + (properties.subType == EUST_Storage) && (properties.iodType == EUIT_StructuredReport)) { + /* this is one of the known SR Storage SOP Classes */ OFString string; OFString description = "unknown SR"; const char *name = dcmFindNameOfUID(SOPClassUID); @@ -3123,8 +3106,8 @@ DcmQueryRetrieveIndexDatabaseHandle::DcmQueryRetrieveIndexDatabaseHandle( } if (handle_) { - sprintf (handle_ -> storageArea,"%s", storageArea); - sprintf (handle_ -> indexFilename,"%s%c%s", storageArea, PATH_SEPARATOR, DBINDEXFILE); + OFStandard::snprintf(handle_->storageArea, sizeof(handle_->storageArea), "%s", storageArea); + OFStandard::snprintf(handle_->indexFilename, sizeof(handle_->indexFilename), "%s%c%s", storageArea, PATH_SEPARATOR, DBINDEXFILE); /* create index file if it does not already exist */ FILE* f = fopen(handle_->indexFilename, "ab"); @@ -3183,7 +3166,7 @@ DcmQueryRetrieveIndexDatabaseHandle::DcmQueryRetrieveIndexDatabaseHandle( // write magic word and version number to the buffer // then write it to the file char header[DBHEADERSIZE + 1]; - sprintf( header, DBMAGIC "%.2X", DBVERSION ); + OFStandard::snprintf(header, sizeof(header), DBMAGIC "%.2X", DBVERSION ); if ( write( handle_ -> pidx, header, DBHEADERSIZE ) != DBHEADERSIZE ) { DCMQRDB_ERROR(handle_->indexFilename << ": " << OFStandard::getLastSystemErrorCode().message()); @@ -3255,7 +3238,7 @@ OFCondition DcmQueryRetrieveIndexDatabaseHandle::makeNewStoreFileName( const char *m = dcmSOPClassUIDToModality(SOPClassUID); if (m==NULL) m = "XX"; - sprintf(prefix, "%s_", m); + OFStandard::snprintf(prefix, sizeof(prefix), "%s_", m); // unsigned int seed = fnamecreator.hashString(SOPInstanceUID); // Make seed static so that multiple/concurrent calls to this method diff --git a/dcmqrdb/libsrc/dcmqrptb.cc b/dcmqrdb/libsrc/dcmqrptb.cc index 5eefbffd..03fd1e8c 100644 --- a/dcmqrdb/libsrc/dcmqrptb.cc +++ b/dcmqrdb/libsrc/dcmqrptb.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1993-2021, OFFIS e.V. + * Copyright (C) 1993-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -182,28 +182,12 @@ OFBool DcmQueryRetrieveProcessTable::haveProcessWithWriteAccess(const char *call void DcmQueryRetrieveProcessTable::cleanChildren() { -#if defined(HAVE_WAITPID) || defined(HAVE_WAIT3) - - /* declare local variables for waitpid/wait3 */ #ifdef HAVE_WAITPID int stat_loc; -#else -#if defined(__NeXT__) - union wait status; /* some systems need a union wait as argument to wait3 */ -#else - int status; -#endif - struct rusage rusage; -#endif - int child = 1; while (child > 0) { -#ifdef HAVE_WAITPID child = OFstatic_cast(int, waitpid(-1, &stat_loc, WNOHANG)); -#else - child = wait3(&status, WNOHANG, &rusage); -#endif if (child < 0) { if (errno == ECHILD) @@ -224,7 +208,5 @@ void DcmQueryRetrieveProcessTable::cleanChildren() removeProcessFromTable(child); } } -#else - /* cannot wait for child processes */ #endif } diff --git a/dcmqrdb/libsrc/dcmqrsrv.cc b/dcmqrdb/libsrc/dcmqrsrv.cc index b95439c0..4c450c28 100644 --- a/dcmqrdb/libsrc/dcmqrsrv.cc +++ b/dcmqrdb/libsrc/dcmqrsrv.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1993-2023, OFFIS e.V. + * Copyright (C) 1993-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -19,7 +19,7 @@ * */ -#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmqrdb/dcmqrsrv.h" #include "dcmtk/dcmqrdb/dcmqropt.h" #include "dcmtk/dcmdata/dcfilefo.h" @@ -30,7 +30,7 @@ #include "dcmtk/dcmqrdb/dcmqrcbm.h" /* for class DcmQueryRetrieveMoveContext */ #include "dcmtk/dcmqrdb/dcmqrcbg.h" /* for class DcmQueryRetrieveGetContext */ #include "dcmtk/dcmqrdb/dcmqrcbs.h" /* for class DcmQueryRetrieveStoreContext */ - +#include "dcmtk/dcmtls/tlsopt.h" /* for DcmTLSOptions */ static void findCallback( /* in */ @@ -100,7 +100,8 @@ DcmQueryRetrieveSCP::DcmQueryRetrieveSCP( const DcmQueryRetrieveConfig& config, const DcmQueryRetrieveOptions& options, const DcmQueryRetrieveDatabaseHandleFactory& factory, - const DcmAssociationConfiguration& associationConfiguration) + const DcmAssociationConfiguration& associationConfiguration, + DcmTLSOptions& tlsOptions) : config_(&config) , processtable_() , dbCheckFindIdentifier_(OFFalse) @@ -108,6 +109,7 @@ DcmQueryRetrieveSCP::DcmQueryRetrieveSCP( , factory_(factory) , options_(options) , associationConfiguration_(associationConfiguration) +, tlsOptions_(tlsOptions) { } @@ -1000,7 +1002,7 @@ OFCondition DcmQueryRetrieveSCP::waitForAssociation(T_ASC_Network * theNet) if (ASC_associationWaiting(theNet, timeout)) { - cond = ASC_receiveAssociation(theNet, &assoc, (int)options_.maxPDU_); + cond = ASC_receiveAssociation(theNet, &assoc, (int)options_.maxPDU_, NULL, NULL, tlsOptions_.secureConnectionRequested()); if (cond.bad()) { DCMQRDB_INFO("Failed to receive association: " << DimseCondition::dump(temp_str, cond)); @@ -1118,7 +1120,13 @@ OFCondition DcmQueryRetrieveSCP::waitForAssociation(T_ASC_Network * theNet) } else if (pid > 0) { - /* parent process, note process in table */ + // parent process, note process in table and close network connection. + + // set the parent process mode in the association. + // This will prevent the TLS connection to be shutdown by ASC_dropAssociation(). + ASC_setParentProcessMode(assoc); + + // note process in table processtable_.addProcessToTable(pid, assoc); } else @@ -1132,20 +1140,22 @@ OFCondition DcmQueryRetrieveSCP::waitForAssociation(T_ASC_Network * theNet) #endif } - // clean-up association - OFCondition oldcond = cond; /* store condition flag for later use */ - cond = ASC_dropAssociation(assoc); - if (cond.bad()) - { - DCMQRDB_ERROR("Cannot Drop Association: " << DimseCondition::dump(temp_str, cond)); - } - cond = ASC_destroyAssociation(&assoc); - if (cond.bad()) + // avoid double deletion of memory + if (cond != ASC_SHUTDOWNAPPLICATION) { - DCMQRDB_ERROR("Cannot Destroy Association: " << DimseCondition::dump(temp_str, cond)); + // clean-up association + cond = ASC_dropAssociation(assoc); + if (cond.bad()) + { + DCMQRDB_ERROR("Cannot Drop Association: " << DimseCondition::dump(temp_str, cond)); + } + cond = ASC_destroyAssociation(&assoc); + if (cond.bad()) + { + DCMQRDB_ERROR("Cannot Destroy Association: " << DimseCondition::dump(temp_str, cond)); + } } - if (oldcond == ASC_SHUTDOWNAPPLICATION) cond = oldcond; /* abort flag is reported to top-level wait loop */ return cond; } diff --git a/dcmqrdb/libsrc/dcmqrtis.cc b/dcmqrdb/libsrc/dcmqrtis.cc index c938234f..30f309f7 100644 --- a/dcmqrdb/libsrc/dcmqrtis.cc +++ b/dcmqrdb/libsrc/dcmqrtis.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1993-2022, OFFIS e.V. + * Copyright (C) 1993-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,7 @@ #include "dcmtk/dcmdata/dcfilefo.h" #include "dcmtk/dcmqrdb/dcmqropt.h" #include "dcmtk/ofstd/ofstdinc.h" +#include "dcmtk/ofstd/ofstd.h" #include @@ -636,7 +637,7 @@ OFBool DcmQueryRetrieveTelnetInitiator::TI_attachAssociation() ASC_destroyAssociationParameters(¶ms); return OFFalse; } - sprintf(presentationAddress, "%s:%d", peer, port); + OFStandard::snprintf(presentationAddress, sizeof(presentationAddress), "%s:%d", peer, port); ASC_setPresentationAddresses(params, OFStandard::getHostName().c_str(), presentationAddress); cond = addPresentationContexts(params); @@ -1736,7 +1737,7 @@ void DcmQueryRetrieveTelnetInitiator::TI_userInput() OFBool DcmQueryRetrieveTelnetInitiator::TI_dbReadable(const char *dbTitle) { char path[MAXPATHLEN+1]; - sprintf(path, "%s%c%s", config.getStorageArea(dbTitle), PATH_SEPARATOR, DBINDEXFILE); + OFStandard::snprintf(path, sizeof(path), "%s%c%s", config.getStorageArea(dbTitle), PATH_SEPARATOR, DBINDEXFILE); return (access(path, R_OK) == 0); } @@ -1746,7 +1747,7 @@ time_t DcmQueryRetrieveTelnetInitiator::TI_dbModifyTime(const char *dbTitle) char path[MAXPATHLEN+1]; struct stat s; - sprintf(path, "%s%c%s", config.getStorageArea(dbTitle), PATH_SEPARATOR, DBINDEXFILE); + OFStandard::snprintf(path, sizeof(path), "%s%c%s", config.getStorageArea(dbTitle), PATH_SEPARATOR, DBINDEXFILE); if (stat(path, &s) < 0) { DCMQRDB_ERROR("cannot stat: " << path); diff --git a/dcmrt/apps/Makefile.dep b/dcmrt/apps/Makefile.dep index f16eb7c0..71f203d8 100644 --- a/dcmrt/apps/Makefile.dep +++ b/dcmrt/apps/Makefile.dep @@ -5,12 +5,12 @@ drtdump.o: drtdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -21,7 +21,6 @@ drtdump.o: drtdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmrt/drtdose.h ../include/dcmtk/dcmrt/drttypes.h \ @@ -57,6 +56,7 @@ drtdump.o: drtdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ diff --git a/dcmrt/docs/drtdump.man b/dcmrt/docs/drtdump.man index bf42b395..0796f417 100644 --- a/dcmrt/docs/drtdump.man +++ b/dcmrt/docs/drtdump.man @@ -181,7 +181,7 @@ It is an error if no data dictionary can be loaded. \section drtdump_copyright COPYRIGHT -Copyright (C) 2010-2023 by OFFIS e.V. and ICSMED AG, Escherweg 2, 26121 +Copyright (C) 2010-2024 by OFFIS e.V. and ICSMED AG, Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmrt/libsrc/Makefile.dep b/dcmrt/libsrc/Makefile.dep index f5c56ca5..37e60e8f 100644 --- a/dcmrt/libsrc/Makefile.dep +++ b/dcmrt/libsrc/Makefile.dep @@ -6,9 +6,9 @@ drmdose.o: drmdose.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -47,12 +47,12 @@ drmdose.o: drmdose.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -218,9 +218,9 @@ drmimage.o: drmimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -259,12 +259,12 @@ drmimage.o: drmimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -453,9 +453,9 @@ drmplan.o: drmplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -494,12 +494,12 @@ drmplan.o: drmplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -685,9 +685,9 @@ drmstrct.o: drmstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -726,12 +726,12 @@ drmstrct.o: drmstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -911,10 +911,10 @@ drtaadcs.o: drtaadcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -953,11 +953,11 @@ drtaadcs.o: drtaadcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1033,10 +1033,10 @@ drtadcs.o: drtadcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1075,11 +1075,11 @@ drtadcs.o: drtadcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1155,10 +1155,10 @@ drtads.o: drtads.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1197,11 +1197,11 @@ drtads.o: drtads.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1277,10 +1277,10 @@ drtafcs.o: drtafcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1319,11 +1319,11 @@ drtafcs.o: drtafcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1399,10 +1399,10 @@ drtafs.o: drtafs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1441,11 +1441,11 @@ drtafs.o: drtafs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1520,10 +1520,10 @@ drtags.o: drtags.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1562,11 +1562,11 @@ drtags.o: drtags.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1641,10 +1641,10 @@ drtajcs.o: drtajcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1683,11 +1683,11 @@ drtajcs.o: drtajcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1763,10 +1763,10 @@ drtancs.o: drtancs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1805,11 +1805,11 @@ drtancs.o: drtancs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -1885,10 +1885,10 @@ drtarms.o: drtarms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1927,11 +1927,11 @@ drtarms.o: drtarms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2007,10 +2007,10 @@ drtars.o: drtars.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2049,11 +2049,11 @@ drtars.o: drtars.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2129,10 +2129,10 @@ drtas1.o: drtas1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2171,11 +2171,11 @@ drtas1.o: drtas1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2251,10 +2251,10 @@ drtas2.o: drtas2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2293,11 +2293,11 @@ drtas2.o: drtas2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2373,10 +2373,10 @@ drtas3.o: drtas3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2415,11 +2415,11 @@ drtas3.o: drtas3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2494,10 +2494,10 @@ drtas4.o: drtas4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2536,11 +2536,11 @@ drtas4.o: drtas4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2615,10 +2615,10 @@ drtass.o: drtass.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2657,11 +2657,11 @@ drtass.o: drtass.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2741,10 +2741,10 @@ drtbads.o: drtbads.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2783,11 +2783,11 @@ drtbads.o: drtbads.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2862,10 +2862,10 @@ drtbas.o: drtbas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2904,11 +2904,11 @@ drtbas.o: drtbas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -2984,10 +2984,10 @@ drtbcps.o: drtbcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -3026,11 +3026,11 @@ drtbcps.o: drtbcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -3106,10 +3106,10 @@ drtbl1.o: drtbl1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -3148,11 +3148,11 @@ drtbl1.o: drtbl1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -3227,10 +3227,10 @@ drtbl2.o: drtbl2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -3269,11 +3269,11 @@ drtbl2.o: drtbl2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -3348,10 +3348,10 @@ drtbldls.o: drtbldls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -3390,11 +3390,11 @@ drtbldls.o: drtbldls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -3469,10 +3469,10 @@ drtbldps.o: drtbldps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -3511,11 +3511,11 @@ drtbldps.o: drtbldps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -3590,10 +3590,10 @@ drtblds1.o: drtblds1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -3632,11 +3632,11 @@ drtblds1.o: drtblds1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -3711,10 +3711,10 @@ drtblds2.o: drtblds2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -3753,11 +3753,11 @@ drtblds2.o: drtblds2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -3832,10 +3832,10 @@ drtbldts.o: drtbldts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -3874,11 +3874,11 @@ drtbldts.o: drtbldts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -3953,10 +3953,10 @@ drtbrcss.o: drtbrcss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -3995,11 +3995,11 @@ drtbrcss.o: drtbrcss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4075,10 +4075,10 @@ drtbrdrs.o: drtbrdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -4117,11 +4117,11 @@ drtbrdrs.o: drtbrdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4196,10 +4196,10 @@ drtbrs.o: drtbrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -4238,11 +4238,11 @@ drtbrs.o: drtbrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4319,10 +4319,10 @@ drtbs.o: drtbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -4361,11 +4361,11 @@ drtbs.o: drtbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4463,10 +4463,10 @@ drtbss.o: drtbss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -4505,11 +4505,11 @@ drtbss.o: drtbss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4584,10 +4584,10 @@ drtbvcps.o: drtbvcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -4626,11 +4626,11 @@ drtbvcps.o: drtbvcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4705,10 +4705,10 @@ drtcbars.o: drtcbars.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -4747,11 +4747,11 @@ drtcbars.o: drtcbars.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4827,10 +4827,10 @@ drtccs.o: drtccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -4869,11 +4869,11 @@ drtccs.o: drtccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -4949,10 +4949,10 @@ drtcctus.o: drtcctus.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -4991,11 +4991,11 @@ drtcctus.o: drtcctus.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -5070,10 +5070,10 @@ drtcdrs.o: drtcdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -5112,11 +5112,11 @@ drtcdrs.o: drtcdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -5191,10 +5191,10 @@ drtces.o: drtces.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -5233,11 +5233,11 @@ drtces.o: drtces.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -5317,10 +5317,10 @@ drtcgis.o: drtcgis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -5359,11 +5359,11 @@ drtcgis.o: drtcgis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -5438,10 +5438,10 @@ drtchs.o: drtchs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -5480,11 +5480,11 @@ drtchs.o: drtchs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -5562,10 +5562,10 @@ drtcims.o: drtcims.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -5604,11 +5604,11 @@ drtcims.o: drtcims.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -5687,10 +5687,10 @@ drtcis.o: drtcis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -5729,11 +5729,11 @@ drtcis.o: drtcis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -5808,10 +5808,10 @@ drtcncs.o: drtcncs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -5850,11 +5850,11 @@ drtcncs.o: drtcncs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -5930,10 +5930,10 @@ drtcos.o: drtcos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -5972,11 +5972,11 @@ drtcos.o: drtcos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -6051,10 +6051,10 @@ drtcpas.o: drtcpas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -6093,11 +6093,11 @@ drtcpas.o: drtcpas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -6172,10 +6172,10 @@ drtcpis.o: drtcpis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -6214,11 +6214,11 @@ drtcpis.o: drtcpis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -6296,10 +6296,10 @@ drtcps.o: drtcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -6338,11 +6338,11 @@ drtcps.o: drtcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -6423,10 +6423,10 @@ drtcs.o: drtcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -6465,11 +6465,11 @@ drtcs.o: drtcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -6545,10 +6545,10 @@ drtcsas.o: drtcsas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -6587,11 +6587,11 @@ drtcsas.o: drtcsas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -6666,10 +6666,10 @@ drtcshs.o: drtcshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -6708,11 +6708,11 @@ drtcshs.o: drtcshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -6787,10 +6787,10 @@ drtcsis.o: drtcsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -6829,11 +6829,11 @@ drtcsis.o: drtcsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -6909,10 +6909,10 @@ drtcsrs.o: drtcsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -6951,11 +6951,11 @@ drtcsrs.o: drtcsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -7030,10 +7030,10 @@ drtcss.o: drtcss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -7072,11 +7072,11 @@ drtcss.o: drtcss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -7152,10 +7152,10 @@ drtcttcs.o: drtcttcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -7194,11 +7194,11 @@ drtcttcs.o: drtcttcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -7274,10 +7274,10 @@ drtcvcss.o: drtcvcss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -7316,11 +7316,11 @@ drtcvcss.o: drtcvcss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -7396,10 +7396,10 @@ drtcvdas.o: drtcvdas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -7438,11 +7438,11 @@ drtcvdas.o: drtcvdas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -7519,10 +7519,10 @@ drtcvis.o: drtcvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -7561,11 +7561,11 @@ drtcvis.o: drtcvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -7650,10 +7650,10 @@ drtdccs.o: drtdccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -7692,11 +7692,11 @@ drtdccs.o: drtdccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -7771,10 +7771,10 @@ drtdcs.o: drtdcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -7813,11 +7813,11 @@ drtdcs.o: drtdcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -7893,10 +7893,10 @@ drtdcvs.o: drtdcvs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -7935,11 +7935,11 @@ drtdcvs.o: drtdcvs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -8020,10 +8020,10 @@ drtdddps.o: drtdddps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -8062,11 +8062,11 @@ drtdddps.o: drtdddps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -8141,10 +8141,10 @@ drtddps.o: drtddps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -8183,11 +8183,11 @@ drtddps.o: drtddps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -8262,10 +8262,10 @@ drtdfss.o: drtdfss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -8304,11 +8304,11 @@ drtdfss.o: drtdfss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -8383,10 +8383,10 @@ drtdias.o: drtdias.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -8425,11 +8425,11 @@ drtdias.o: drtdias.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -8504,10 +8504,10 @@ drtdimcs.o: drtdimcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -8546,11 +8546,11 @@ drtdimcs.o: drtdimcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -8626,10 +8626,10 @@ drtdimrs.o: drtdimrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -8668,11 +8668,11 @@ drtdimrs.o: drtdimrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -8747,10 +8747,10 @@ drtdirs.o: drtdirs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -8789,11 +8789,11 @@ drtdirs.o: drtdirs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -8867,9 +8867,9 @@ drtdose.o: drtdose.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -8908,12 +8908,12 @@ drtdose.o: drtdose.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -9076,10 +9076,10 @@ drtdrs.o: drtdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -9118,11 +9118,11 @@ drtdrs.o: drtdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -9197,10 +9197,10 @@ drtds.o: drtds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -9239,11 +9239,11 @@ drtds.o: drtds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -9319,10 +9319,10 @@ drtdspcs.o: drtdspcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -9361,11 +9361,11 @@ drtdspcs.o: drtdspcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -9441,10 +9441,10 @@ drtdss.o: drtdss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -9483,11 +9483,11 @@ drtdss.o: drtdss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -9564,10 +9564,10 @@ drtdtcs.o: drtdtcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -9606,11 +9606,11 @@ drtdtcs.o: drtdtcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -9686,10 +9686,10 @@ drtdvhs.o: drtdvhs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -9728,11 +9728,11 @@ drtdvhs.o: drtdvhs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -9808,10 +9808,10 @@ drtdvrrs.o: drtdvrrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -9850,11 +9850,11 @@ drtdvrrs.o: drtdvrrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -9929,10 +9929,10 @@ drteas.o: drteas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -9971,11 +9971,11 @@ drteas.o: drteas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -10050,10 +10050,10 @@ drteblds.o: drteblds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -10092,11 +10092,11 @@ drteblds.o: drteblds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -10176,10 +10176,10 @@ drteblos.o: drteblos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -10218,11 +10218,11 @@ drteblos.o: drteblos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -10298,10 +10298,10 @@ drtecs.o: drtecs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -10340,11 +10340,11 @@ drtecs.o: drtecs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -10419,10 +10419,10 @@ drtecvis.o: drtecvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -10461,11 +10461,11 @@ drtecvis.o: drtecvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -10540,10 +10540,10 @@ drtecvs.o: drtecvs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -10582,11 +10582,11 @@ drtecvs.o: drtecvs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -10662,10 +10662,10 @@ drtes.o: drtes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -10704,11 +10704,11 @@ drtes.o: drtes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -10790,10 +10790,10 @@ drtfbdds.o: drtfbdds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -10832,11 +10832,11 @@ drtfbdds.o: drtfbdds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -10911,10 +10911,10 @@ drtfds.o: drtfds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -10953,11 +10953,11 @@ drtfds.o: drtfds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -11032,10 +11032,10 @@ drtfes.o: drtfes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -11074,11 +11074,11 @@ drtfes.o: drtfes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -11153,10 +11153,10 @@ drtfgs.o: drtfgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -11195,11 +11195,11 @@ drtfgs.o: drtfgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -11285,10 +11285,10 @@ drtfgss.o: drtfgss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -11327,11 +11327,11 @@ drtfgss.o: drtfgss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -11407,10 +11407,10 @@ drtfms.o: drtfms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -11449,11 +11449,11 @@ drtfms.o: drtfms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -11528,10 +11528,10 @@ drtfsss.o: drtfsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -11570,11 +11570,11 @@ drtfsss.o: drtfsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -11649,10 +11649,10 @@ drtgas1.o: drtgas1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -11691,11 +11691,11 @@ drtgas1.o: drtgas1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -11770,10 +11770,10 @@ drtgas2.o: drtgas2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -11812,11 +11812,11 @@ drtgas2.o: drtgas2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -11891,10 +11891,10 @@ drtgas3.o: drtgas3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -11933,11 +11933,11 @@ drtgas3.o: drtgas3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -12012,10 +12012,10 @@ drtgas4.o: drtgas4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -12054,11 +12054,11 @@ drtgas4.o: drtgas4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -12133,10 +12133,10 @@ drtgas5.o: drtgas5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -12175,11 +12175,11 @@ drtgas5.o: drtgas5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -12254,10 +12254,10 @@ drtgas6.o: drtgas6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -12296,11 +12296,11 @@ drtgas6.o: drtgas6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -12375,10 +12375,10 @@ drtgmcs.o: drtgmcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -12417,11 +12417,11 @@ drtgmcs.o: drtgmcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -12497,10 +12497,10 @@ drtgms.o: drtgms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -12539,11 +12539,11 @@ drtgms.o: drtgms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -12619,10 +12619,10 @@ drtgpis.o: drtgpis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -12661,11 +12661,11 @@ drtgpis.o: drtgpis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -12744,10 +12744,10 @@ drthsdrs.o: drthsdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -12786,11 +12786,11 @@ drthsdrs.o: drthsdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -12865,10 +12865,10 @@ drtiais.o: drtiais.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -12907,11 +12907,11 @@ drtiais.o: drtiais.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -12986,10 +12986,10 @@ drtians.o: drtians.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -13028,11 +13028,11 @@ drtians.o: drtians.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -13107,10 +13107,10 @@ drtiblds.o: drtiblds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -13149,11 +13149,11 @@ drtiblds.o: drtiblds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -13228,10 +13228,10 @@ drtibls.o: drtibls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -13270,11 +13270,11 @@ drtibls.o: drtibls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -13350,10 +13350,10 @@ drtibs.o: drtibs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -13392,11 +13392,11 @@ drtibs.o: drtibs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -13490,10 +13490,10 @@ drticpds.o: drticpds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -13532,11 +13532,11 @@ drticpds.o: drticpds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -13620,10 +13620,10 @@ drticps.o: drticps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -13662,11 +13662,11 @@ drticps.o: drticps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -13747,10 +13747,10 @@ drtics.o: drtics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -13789,11 +13789,11 @@ drtics.o: drtics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -13869,10 +13869,10 @@ drtidcs.o: drtidcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -13911,11 +13911,11 @@ drtidcs.o: drtidcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -13991,10 +13991,10 @@ drtiis.o: drtiis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -14033,11 +14033,11 @@ drtiis.o: drtiis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -14111,9 +14111,9 @@ drtimage.o: drtimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -14152,12 +14152,12 @@ drtimage.o: drtimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -14328,9 +14328,9 @@ drtionpl.o: drtionpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -14369,12 +14369,12 @@ drtionpl.o: drtionpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -14551,9 +14551,9 @@ drtiontr.o: drtiontr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -14592,12 +14592,12 @@ drtiontr.o: drtiontr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -14779,10 +14779,10 @@ drtipiqs.o: drtipiqs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -14821,11 +14821,11 @@ drtipiqs.o: drtipiqs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -14903,10 +14903,10 @@ drtircs.o: drtircs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -14945,11 +14945,11 @@ drtircs.o: drtircs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -15024,10 +15024,10 @@ drtiseis.o: drtiseis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -15066,11 +15066,11 @@ drtiseis.o: drtiseis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -15145,10 +15145,10 @@ drtitts.o: drtitts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -15187,11 +15187,11 @@ drtitts.o: drtitts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -15267,10 +15267,10 @@ drtiwps.o: drtiwps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -15309,11 +15309,11 @@ drtiwps.o: drtiwps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -15388,10 +15388,10 @@ drtiws.o: drtiws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -15430,11 +15430,11 @@ drtiws.o: drtiws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -15509,10 +15509,10 @@ drtlsds.o: drtlsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -15551,11 +15551,11 @@ drtlsds.o: drtlsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -15630,10 +15630,10 @@ drtlsds1.o: drtlsds1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -15672,11 +15672,11 @@ drtlsds1.o: drtlsds1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -15751,10 +15751,10 @@ drtlsds2.o: drtlsds2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -15793,11 +15793,11 @@ drtlsds2.o: drtlsds2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -15872,10 +15872,10 @@ drtmacds.o: drtmacds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -15914,11 +15914,11 @@ drtmacds.o: drtmacds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -15994,10 +15994,10 @@ drtmas.o: drtmas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -16036,11 +16036,11 @@ drtmas.o: drtmas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -16115,10 +16115,10 @@ drtmdrs.o: drtmdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -16157,11 +16157,11 @@ drtmdrs.o: drtmdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -16236,10 +16236,10 @@ drtmls.o: drtmls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -16278,11 +16278,11 @@ drtmls.o: drtmls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -16357,10 +16357,10 @@ drtmps.o: drtmps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -16399,11 +16399,11 @@ drtmps.o: drtmps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -16478,10 +16478,10 @@ drtmris.o: drtmris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -16520,11 +16520,11 @@ drtmris.o: drtmris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -16599,10 +16599,10 @@ drtmss.o: drtmss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -16641,11 +16641,11 @@ drtmss.o: drtmss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -16720,10 +16720,10 @@ drtmttcs.o: drtmttcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -16762,11 +16762,11 @@ drtmttcs.o: drtmttcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -16842,10 +16842,10 @@ drtmucs.o: drtmucs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -16884,11 +16884,11 @@ drtmucs.o: drtmucs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -16964,10 +16964,10 @@ drtnmas.o: drtnmas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -17006,11 +17006,11 @@ drtnmas.o: drtnmas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -17085,10 +17085,10 @@ drtoas.o: drtoas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -17127,11 +17127,11 @@ drtoas.o: drtoas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -17207,10 +17207,10 @@ drtois.o: drtois.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -17249,11 +17249,11 @@ drtois.o: drtois.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -17331,10 +17331,10 @@ drtopis.o: drtopis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -17373,11 +17373,11 @@ drtopis.o: drtopis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -17456,10 +17456,10 @@ drtos.o: drtos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -17498,11 +17498,11 @@ drtos.o: drtos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -17580,10 +17580,10 @@ drtosirs.o: drtosirs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -17622,11 +17622,11 @@ drtosirs.o: drtosirs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -17701,10 +17701,10 @@ drtpasms.o: drtpasms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -17743,11 +17743,11 @@ drtpasms.o: drtpasms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -17823,10 +17823,10 @@ drtpass.o: drtpass.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -17865,11 +17865,11 @@ drtpass.o: drtpass.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -17946,10 +17946,10 @@ drtpbcs.o: drtpbcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -17988,11 +17988,11 @@ drtpbcs.o: drtpbcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -18068,10 +18068,10 @@ drtpbdds.o: drtpbdds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -18110,11 +18110,11 @@ drtpbdds.o: drtpbdds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -18191,10 +18191,10 @@ drtpbdos.o: drtpbdos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -18233,11 +18233,11 @@ drtpbdos.o: drtpbdos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -18313,10 +18313,10 @@ drtpcs.o: drtpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -18355,11 +18355,11 @@ drtpcs.o: drtpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -18435,10 +18435,10 @@ drtpcxs.o: drtpcxs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -18477,11 +18477,11 @@ drtpcxs.o: drtpcxs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -18561,10 +18561,10 @@ drtpdecs.o: drtpdecs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -18603,11 +18603,11 @@ drtpdecs.o: drtpdecs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -18684,10 +18684,10 @@ drtpdeds.o: drtpdeds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -18726,11 +18726,11 @@ drtpdeds.o: drtpdeds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -18805,10 +18805,10 @@ drtpfms.o: drtpfms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -18847,11 +18847,11 @@ drtpfms.o: drtpfms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -18926,10 +18926,10 @@ drtpics.o: drtpics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -18968,11 +18968,11 @@ drtpics.o: drtpics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -19047,9 +19047,9 @@ drtplan.o: drtplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -19088,12 +19088,12 @@ drtplan.o: drtplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -19279,10 +19279,10 @@ drtplos.o: drtplos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -19321,11 +19321,11 @@ drtplos.o: drtplos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -19405,10 +19405,10 @@ drtporcs.o: drtporcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -19447,11 +19447,11 @@ drtporcs.o: drtporcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -19527,10 +19527,10 @@ drtporis.o: drtporis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -19569,11 +19569,11 @@ drtporis.o: drtporis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -19651,10 +19651,10 @@ drtppcs.o: drtppcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -19693,11 +19693,11 @@ drtppcs.o: drtppcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -19777,10 +19777,10 @@ drtpros.o: drtpros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -19819,11 +19819,11 @@ drtpros.o: drtpros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -19898,10 +19898,10 @@ drtprsis.o: drtprsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -19940,11 +19940,11 @@ drtprsis.o: drtprsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -20022,10 +20022,10 @@ drtpscs.o: drtpscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -20064,11 +20064,11 @@ drtpscs.o: drtpscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -20144,10 +20144,10 @@ drtpsics.o: drtpsics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -20186,11 +20186,11 @@ drtpsics.o: drtpsics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -20266,10 +20266,10 @@ drtpss.o: drtpss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -20308,11 +20308,11 @@ drtpss.o: drtpss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -20390,10 +20390,10 @@ drtpsss.o: drtpsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -20432,11 +20432,11 @@ drtpsss.o: drtpsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -20511,10 +20511,10 @@ drtpvis.o: drtpvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -20553,11 +20553,11 @@ drtpvis.o: drtpvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -20632,10 +20632,10 @@ drtqds.o: drtqds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -20674,11 +20674,11 @@ drtqds.o: drtqds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -20758,10 +20758,10 @@ drtras.o: drtras.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -20800,11 +20800,11 @@ drtras.o: drtras.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -20889,10 +20889,10 @@ drtrbas1.o: drtrbas1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -20931,11 +20931,11 @@ drtrbas1.o: drtrbas1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -21010,10 +21010,10 @@ drtrbas2.o: drtrbas2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -21052,11 +21052,11 @@ drtrbas2.o: drtrbas2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -21131,10 +21131,10 @@ drtrbdgs.o: drtrbdgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -21173,11 +21173,11 @@ drtrbdgs.o: drtrbdgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -21252,10 +21252,10 @@ drtrbls.o: drtrbls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -21294,11 +21294,11 @@ drtrbls.o: drtrbls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -21374,10 +21374,10 @@ drtrbos1.o: drtrbos1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -21416,11 +21416,11 @@ drtrbos1.o: drtrbos1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -21495,10 +21495,10 @@ drtrbos2.o: drtrbos2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -21537,11 +21537,11 @@ drtrbos2.o: drtrbos2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -21616,10 +21616,10 @@ drtrbos3.o: drtrbos3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -21658,11 +21658,11 @@ drtrbos3.o: drtrbos3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -21737,10 +21737,10 @@ drtrbs1.o: drtrbs1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -21779,11 +21779,11 @@ drtrbs1.o: drtrbs1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -21859,10 +21859,10 @@ drtrbs2.o: drtrbs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -21901,11 +21901,11 @@ drtrbs2.o: drtrbs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -21986,10 +21986,10 @@ drtrbs3.o: drtrbs3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -22028,11 +22028,11 @@ drtrbs3.o: drtrbs3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -22113,10 +22113,10 @@ drtrbss.o: drtrbss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -22155,11 +22155,11 @@ drtrbss.o: drtrbss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -22234,10 +22234,10 @@ drtrcdrs.o: drtrcdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -22276,11 +22276,11 @@ drtrcdrs.o: drtrcdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -22355,10 +22355,10 @@ drtrcos.o: drtrcos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -22397,11 +22397,11 @@ drtrcos.o: drtrcos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -22476,10 +22476,10 @@ drtrcps.o: drtrcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -22518,11 +22518,11 @@ drtrcps.o: drtrcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -22597,10 +22597,10 @@ drtrcs.o: drtrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -22639,11 +22639,11 @@ drtrcs.o: drtrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -22720,10 +22720,10 @@ drtrdais.o: drtrdais.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -22762,11 +22762,11 @@ drtrdais.o: drtrdais.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -22843,10 +22843,10 @@ drtrdcks.o: drtrdcks.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -22885,11 +22885,11 @@ drtrdcks.o: drtrdcks.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -22968,10 +22968,10 @@ drtrdps.o: drtrdps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -23010,11 +23010,11 @@ drtrdps.o: drtrdps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -23089,10 +23089,10 @@ drtrdrs1.o: drtrdrs1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -23131,11 +23131,11 @@ drtrdrs1.o: drtrdrs1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -23211,10 +23211,10 @@ drtrdrs2.o: drtrdrs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -23253,11 +23253,11 @@ drtrdrs2.o: drtrdrs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -23332,10 +23332,10 @@ drtrdrs3.o: drtrdrs3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -23374,11 +23374,11 @@ drtrdrs3.o: drtrdrs3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -23453,10 +23453,10 @@ drtrds.o: drtrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -23495,11 +23495,11 @@ drtrds.o: drtrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -23574,10 +23574,10 @@ drtrdsis.o: drtrdsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -23616,11 +23616,11 @@ drtrdsis.o: drtrdsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -23695,10 +23695,10 @@ drtrecs.o: drtrecs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -23737,11 +23737,11 @@ drtrecs.o: drtrecs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -23816,10 +23816,10 @@ drtrfgs.o: drtrfgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -23858,11 +23858,11 @@ drtrfgs.o: drtrfgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -23940,10 +23940,10 @@ drtrfors.o: drtrfors.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -23982,11 +23982,11 @@ drtrfors.o: drtrfors.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -24063,10 +24063,10 @@ drtrics.o: drtrics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -24105,11 +24105,11 @@ drtrics.o: drtrics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -24186,10 +24186,10 @@ drtrims.o: drtrims.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -24228,11 +24228,11 @@ drtrims.o: drtrims.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -24309,10 +24309,10 @@ drtris.o: drtris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -24351,11 +24351,11 @@ drtris.o: drtris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -24432,10 +24432,10 @@ drtrlsds.o: drtrlsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -24474,11 +24474,11 @@ drtrlsds.o: drtrlsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -24553,10 +24553,10 @@ drtrmdrs.o: drtrmdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -24595,11 +24595,11 @@ drtrmdrs.o: drtrmdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -24674,10 +24674,10 @@ drtrms.o: drtrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -24716,11 +24716,11 @@ drtrms.o: drtrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -24795,10 +24795,10 @@ drtrmss1.o: drtrmss1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -24837,11 +24837,11 @@ drtrmss1.o: drtrmss1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -24916,10 +24916,10 @@ drtrmss2.o: drtrmss2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -24958,11 +24958,11 @@ drtrmss2.o: drtrmss2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -25037,10 +25037,10 @@ drtrpcs.o: drtrpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -25079,11 +25079,11 @@ drtrpcs.o: drtrpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -25159,10 +25159,10 @@ drtrpis.o: drtrpis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -25201,11 +25201,11 @@ drtrpis.o: drtrpis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -25283,10 +25283,10 @@ drtrppcs.o: drtrppcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -25325,11 +25325,11 @@ drtrppcs.o: drtrppcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -25405,10 +25405,10 @@ drtrpphs.o: drtrpphs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -25447,11 +25447,11 @@ drtrpphs.o: drtrpphs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -25531,10 +25531,10 @@ drtrpprs.o: drtrpprs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -25573,11 +25573,11 @@ drtrpprs.o: drtrpprs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -25652,10 +25652,10 @@ drtrpps.o: drtrpps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -25694,11 +25694,11 @@ drtrpps.o: drtrpps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -25774,10 +25774,10 @@ drtrppss.o: drtrppss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -25816,11 +25816,11 @@ drtrppss.o: drtrppss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -25895,10 +25895,10 @@ drtrps.o: drtrps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -25937,11 +25937,11 @@ drtrps.o: drtrps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -26016,10 +26016,10 @@ drtrris1.o: drtrris1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -26058,11 +26058,11 @@ drtrris1.o: drtrris1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -26137,10 +26137,10 @@ drtrris2.o: drtrris2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -26179,11 +26179,11 @@ drtrris2.o: drtrris2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -26258,10 +26258,10 @@ drtrris3.o: drtrris3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -26300,11 +26300,11 @@ drtrris3.o: drtrris3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -26379,10 +26379,10 @@ drtrrms.o: drtrrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -26421,11 +26421,11 @@ drtrrms.o: drtrrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -26500,10 +26500,10 @@ drtrros.o: drtrros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -26542,11 +26542,11 @@ drtrros.o: drtrros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -26633,10 +26633,10 @@ drtrrpcs.o: drtrrpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -26675,11 +26675,11 @@ drtrrpcs.o: drtrrpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -26755,10 +26755,10 @@ drtrrros.o: drtrrros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -26797,11 +26797,11 @@ drtrrros.o: drtrrros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -26876,10 +26876,10 @@ drtrrs.o: drtrrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -26918,11 +26918,11 @@ drtrrs.o: drtrrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -26997,10 +26997,10 @@ drtrrshs.o: drtrrshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -27039,11 +27039,11 @@ drtrrshs.o: drtrrshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -27118,10 +27118,10 @@ drtrscs.o: drtrscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -27160,11 +27160,11 @@ drtrscs.o: drtrscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -27240,10 +27240,10 @@ drtrsers.o: drtrsers.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -27282,11 +27282,11 @@ drtrsers.o: drtrsers.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -27364,10 +27364,10 @@ drtrses.o: drtrses.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -27406,11 +27406,11 @@ drtrses.o: drtrses.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -27486,10 +27486,10 @@ drtrshs.o: drtrshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -27528,11 +27528,11 @@ drtrshs.o: drtrshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -27607,10 +27607,10 @@ drtrshs1.o: drtrshs1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -27649,11 +27649,11 @@ drtrshs1.o: drtrshs1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -27728,10 +27728,10 @@ drtrshs2.o: drtrshs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -27770,11 +27770,11 @@ drtrshs2.o: drtrshs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -27849,10 +27849,10 @@ drtrsis.o: drtrsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -27891,11 +27891,11 @@ drtrsis.o: drtrsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -27970,10 +27970,10 @@ drtrsns.o: drtrsns.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -28012,11 +28012,11 @@ drtrsns.o: drtrsns.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -28091,10 +28091,10 @@ drtrsos.o: drtrsos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -28133,11 +28133,11 @@ drtrsos.o: drtrsos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -28212,10 +28212,10 @@ drtrsrs.o: drtrsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -28254,11 +28254,11 @@ drtrsrs.o: drtrsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -28333,10 +28333,10 @@ drtrss.o: drtrss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -28375,11 +28375,11 @@ drtrss.o: drtrss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -28454,10 +28454,10 @@ drtrsss.o: drtrsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -28496,11 +28496,11 @@ drtrsss.o: drtrsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -28575,10 +28575,10 @@ drtrsts.o: drtrsts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -28617,11 +28617,11 @@ drtrsts.o: drtrsts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -28697,10 +28697,10 @@ drtrtps1.o: drtrtps1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -28739,11 +28739,11 @@ drtrtps1.o: drtrtps1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -28822,10 +28822,10 @@ drtrtps2.o: drtrtps2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -28864,11 +28864,11 @@ drtrtps2.o: drtrtps2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -28943,10 +28943,10 @@ drtrtps3.o: drtrtps3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -28985,11 +28985,11 @@ drtrtps3.o: drtrtps3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -29064,10 +29064,10 @@ drtrtps4.o: drtrtps4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -29106,11 +29106,11 @@ drtrtps4.o: drtrtps4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -29185,10 +29185,10 @@ drtrtrs1.o: drtrtrs1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -29227,11 +29227,11 @@ drtrtrs1.o: drtrtrs1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -29308,10 +29308,10 @@ drtrtrs2.o: drtrtrs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -29350,11 +29350,11 @@ drtrtrs2.o: drtrtrs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -29429,10 +29429,10 @@ drtrvcs.o: drtrvcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -29471,11 +29471,11 @@ drtrvcs.o: drtrvcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -29551,10 +29551,10 @@ drtrvis.o: drtrvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -29593,11 +29593,11 @@ drtrvis.o: drtrvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -29672,10 +29672,10 @@ drtrws.o: drtrws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -29714,11 +29714,11 @@ drtrws.o: drtrws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -29793,10 +29793,10 @@ drtrwvms.o: drtrwvms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -29835,11 +29835,11 @@ drtrwvms.o: drtrwvms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -29919,10 +29919,10 @@ drtscris.o: drtscris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -29961,11 +29961,11 @@ drtscris.o: drtscris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -30044,10 +30044,10 @@ drtscs.o: drtscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -30086,11 +30086,11 @@ drtscs.o: drtscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -30166,10 +30166,10 @@ drtscvs.o: drtscvs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -30208,11 +30208,11 @@ drtscvs.o: drtscvs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -30289,10 +30289,10 @@ drtsdcs.o: drtsdcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -30331,11 +30331,11 @@ drtsdcs.o: drtsdcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -30411,10 +30411,10 @@ drtsds.o: drtsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -30453,11 +30453,11 @@ drtsds.o: drtsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -30532,10 +30532,10 @@ drtshds.o: drtshds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -30574,11 +30574,11 @@ drtshds.o: drtshds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -30653,10 +30653,10 @@ drtsins.o: drtsins.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -30695,11 +30695,11 @@ drtsins.o: drtsins.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -30776,10 +30776,10 @@ drtsis.o: drtsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -30818,11 +30818,11 @@ drtsis.o: drtsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -30899,10 +30899,10 @@ drtsns.o: drtsns.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -30941,11 +30941,11 @@ drtsns.o: drtsns.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -31020,10 +31020,10 @@ drtspccs.o: drtspccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -31062,11 +31062,11 @@ drtspccs.o: drtspccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -31142,10 +31142,10 @@ drtspcs.o: drtspcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -31184,11 +31184,11 @@ drtspcs.o: drtspcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -31268,10 +31268,10 @@ drtspgis.o: drtspgis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -31310,11 +31310,11 @@ drtspgis.o: drtspgis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -31393,10 +31393,10 @@ drtsppcs.o: drtsppcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -31435,11 +31435,11 @@ drtsppcs.o: drtsppcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -31514,10 +31514,10 @@ drtsptcs.o: drtsptcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -31556,11 +31556,11 @@ drtsptcs.o: drtsptcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -31636,10 +31636,10 @@ drtss.o: drtss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -31678,11 +31678,11 @@ drtss.o: drtss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -31757,10 +31757,10 @@ drtssrcs.o: drtssrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -31799,11 +31799,11 @@ drtssrcs.o: drtssrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -31879,10 +31879,10 @@ drtssrs.o: drtssrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -31921,11 +31921,11 @@ drtssrs.o: drtssrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -32013,10 +32013,10 @@ drtsss.o: drtsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -32055,11 +32055,11 @@ drtsss.o: drtsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -32135,9 +32135,9 @@ drtstrct.o: drtstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -32176,12 +32176,12 @@ drtstrct.o: drtstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -32361,10 +32361,10 @@ drttms1.o: drttms1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -32403,11 +32403,11 @@ drttms1.o: drttms1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -32483,10 +32483,10 @@ drttms2.o: drttms2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -32525,11 +32525,11 @@ drttms2.o: drttms2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -32605,10 +32605,10 @@ drttrccs.o: drttrccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -32647,11 +32647,11 @@ drttrccs.o: drttrccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -32726,9 +32726,9 @@ drttreat.o: drttreat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -32767,12 +32767,12 @@ drttreat.o: drttreat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -32924,10 +32924,10 @@ drttrtcs.o: drttrtcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -32966,11 +32966,11 @@ drttrtcs.o: drttrtcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -33046,10 +33046,10 @@ drttscds.o: drttscds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -33088,11 +33088,11 @@ drttscds.o: drttscds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -33167,10 +33167,10 @@ drttscs.o: drttscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -33209,11 +33209,11 @@ drttscs.o: drttscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -33289,10 +33289,10 @@ drttsibs.o: drttsibs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -33331,11 +33331,11 @@ drttsibs.o: drttsibs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -33437,10 +33437,10 @@ drttsmds.o: drttsmds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -33479,11 +33479,11 @@ drttsmds.o: drttsmds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -33558,10 +33558,10 @@ drtttrcs.o: drtttrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -33600,11 +33600,11 @@ drtttrcs.o: drtttrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -33680,10 +33680,10 @@ drttts.o: drttts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -33722,11 +33722,11 @@ drttts.o: drttts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -33801,9 +33801,9 @@ drttypes.o: drttypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -33842,12 +33842,12 @@ drttypes.o: drttypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -33922,10 +33922,10 @@ drtudis.o: drtudis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -33964,11 +33964,11 @@ drtudis.o: drtudis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -34043,10 +34043,10 @@ drtvls.o: drtvls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -34085,11 +34085,11 @@ drtvls.o: drtvls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -34164,10 +34164,10 @@ drtwps.o: drtwps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -34206,11 +34206,11 @@ drtwps.o: drtwps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -34285,10 +34285,10 @@ drtwrs.o: drtwrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -34327,11 +34327,11 @@ drtwrs.o: drtwrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -34406,10 +34406,10 @@ drtwrsrs.o: drtwrsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -34448,11 +34448,11 @@ drtwrsrs.o: drtwrsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -34527,10 +34527,10 @@ drtws.o: drtws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -34569,11 +34569,11 @@ drtws.o: drtws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -34648,10 +34648,10 @@ drtxrs.o: drtxrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -34690,11 +34690,11 @@ drtxrs.o: drtxrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ diff --git a/dcmrt/libsrc/drttypes.cc b/dcmrt/libsrc/drttypes.cc index 3aee4312..097ab972 100644 --- a/dcmrt/libsrc/drttypes.cc +++ b/dcmrt/libsrc/drttypes.cc @@ -1,14 +1,12 @@ /* * - * Copyright (c) 2008-2021, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2021, J. Riesmeier, Oldenburg, Germany + * Copyright (c) 2008-2024, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTTypes * * Generated manually based on dsrtypes.cc - * File created on 2008-12-05 - * Last modified on 2016-02-12 by Riesmeier * */ @@ -214,9 +212,9 @@ OFCondition DRTTypes::getAndCheckStringValueFromDataset(DcmItem &dataset, OFCondition result = dataset.search(tagKey, stack, ESM_fromHere, OFFalse /*searchIntoSub*/); if (result.good()) { - DcmElement *element = OFstatic_cast(DcmElement *, stack.top()); - if (element != NULL) + if (stack.top()->isElement()) { + DcmElement *element = OFstatic_cast(DcmElement *, stack.top()); if (checkElementValue(*element, vm, type, result, moduleName)) result = element->getOFString(stringValue, 0); else diff --git a/dcmrt/tests/CMakeLists.txt b/dcmrt/tests/CMakeLists.txt index 4aba3315..dc4e0d00 100644 --- a/dcmrt/tests/CMakeLists.txt +++ b/dcmrt/tests/CMakeLists.txt @@ -1,6 +1,6 @@ # declare executables -DCMTK_ADD_EXECUTABLE(drttest drttest.cc) -DCMTK_ADD_EXECUTABLE(dcmrt_tests +DCMTK_ADD_TEST_EXECUTABLE(drttest drttest.cc) +DCMTK_ADD_TEST_EXECUTABLE(dcmrt_tests tests.cc tsearch.cc tcontour.cc diff --git a/dcmrt/tests/Makefile.dep b/dcmrt/tests/Makefile.dep index c097e728..3f568534 100644 --- a/dcmrt/tests/Makefile.dep +++ b/dcmrt/tests/Makefile.dep @@ -5,9 +5,9 @@ drttest.o: drttest.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -46,12 +46,12 @@ drttest.o: drttest.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -300,12 +300,12 @@ tcontour.o: tcontour.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -316,7 +316,6 @@ tcontour.o: tcontour.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -353,6 +352,7 @@ tcontour.o: tcontour.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -531,12 +531,12 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -547,7 +547,6 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -584,12 +583,12 @@ tsearch.o: tsearch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -600,7 +599,6 @@ tsearch.o: tsearch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -638,6 +636,7 @@ tsearch.o: tsearch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ diff --git a/dcmrt/tests/drttest.cc b/dcmrt/tests/drttest.cc index e1988104..6911433d 100644 --- a/dcmrt/tests/drttest.cc +++ b/dcmrt/tests/drttest.cc @@ -1,13 +1,14 @@ /* * * Copyright (c) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Test read and write methods of DICOM RT classes * * Generated manually * File created on 2008-12-08 - * Last modified on 2012-10-09 by Riesmeier + * Last modified on 2024-01-14 by Riesmeier * */ @@ -40,92 +41,158 @@ int main() DCMRT_INFO("DCMRT Test Program" << OFendl << "------------------" << OFendl); /* test RT dose */ - DRTDoseIOD rtdose; - status = fileformat.loadFile(RTDOSE_FILENAME); - if (status.good()) - status = rtdose.read(*fileformat.getDataset()); - DCMRT_INFO("Read RT Dose: " << status.text()); - - fileformat.clear(); - status = rtdose.write(*fileformat.getDataset()); - DCMRT_INFO("Save RT Dose: " << status.text()); - if (status.good()) - status = fileformat.saveFile("rtdose.dcm"); - DCMRT_INFO("Write RT Dose: " << status.text() << OFendl); + DRTDoseIOD *rtdose = new DRTDoseIOD(); + if (rtdose != NULL) + { + status = fileformat.loadFile(RTDOSE_FILENAME); + if (status.good()) + status = rtdose->read(*fileformat.getDataset()); + DCMRT_INFO("Read RT Dose: " << status.text()); + if (status.good()) + { + fileformat.clear(); + status = rtdose->write(*fileformat.getDataset()); + DCMRT_INFO("Save RT Dose: " << status.text()); + if (status.good()) + status = fileformat.saveFile("rtdose.dcm"); + DCMRT_INFO("Write RT Dose: " << status.text()); #ifdef TEST_COPY_CONSTRUCTOR - DRTDoseIOD rtdose2(rtdose); - fileformat.clear(); - status = rtdose2.write(*fileformat.getDataset()); - DCMRT_INFO("Write copy of RT Dose: " << status.text()); - if (status.good()) - status = fileformat.saveFile("rtdose2.dcm"); - DCMRT_INFO("Save copy of RT Dose: " << status.text() << OFendl); + DRTDoseIOD *rtdose2 = new DRTDoseIOD(*rtdose); + if (rtdose2 != NULL) + { + fileformat.clear(); + status = rtdose2->write(*fileformat.getDataset()); + DCMRT_INFO("Write copy of RT Dose: " << status.text()); + if (status.good()) + status = fileformat.saveFile("rtdose2.dcm"); + DCMRT_INFO("Save copy of RT Dose: " << status.text()); + delete rtdose2; + rtdose2 = NULL; + } else + DCMRT_ERROR("Cannot allocate memory for copy of RT Dose"); #endif + } else + DCMRT_INFO("Skipping further tests for RT Dose"); + delete rtdose; + rtdose = NULL; + } else + DCMRT_ERROR("Cannot allocate memory for RT Dose"); + DCMRT_INFO("" /* empty line */); /* test RT image */ - DRTImageIOD rtimage; - status = fileformat.loadFile(RTIMAGE_FILENAME); - if (status.good()) - status = rtimage.read(*fileformat.getDataset()); - DCMRT_INFO("Read RT Image: " << status.text()); - fileformat.clear(); - status = rtimage.write(*fileformat.getDataset()); - DCMRT_INFO("Write RT Image: " << status.text()); - if (status.good()) - status = fileformat.saveFile("rtimage.dcm"); - DCMRT_INFO("Save RT Image: " << status.text() << OFendl); + DRTImageIOD *rtimage = new DRTImageIOD(); + if (rtimage != NULL) + { + status = fileformat.loadFile(RTIMAGE_FILENAME); + if (status.good()) + status = rtimage->read(*fileformat.getDataset()); + DCMRT_INFO("Read RT Image: " << status.text()); + if (status.good()) + { + fileformat.clear(); + status = rtimage->write(*fileformat.getDataset()); + DCMRT_INFO("Write RT Image: " << status.text()); + if (status.good()) + status = fileformat.saveFile("rtimage.dcm"); + DCMRT_INFO("Save RT Image: " << status.text()); + } else + DCMRT_INFO("Skipping further tests for RT Image"); + delete rtimage; + rtimage = NULL; + } else + DCMRT_ERROR("Cannot allocate memory for RT Image"); + DCMRT_INFO("" /* empty line */); /* test RT plan */ - DRTPlanIOD rtplan; - status = fileformat.loadFile(RTPLAN_FILENAME); - if (status.good()) - status = rtplan.read(*fileformat.getDataset()); - DCMRT_INFO("Read RT Plan: " << status.text()); - fileformat.clear(); - status = rtplan.write(*fileformat.getDataset()); - DCMRT_INFO("Write RT Plan: " << status.text()); - if (status.good()) - status = fileformat.saveFile("rtplan.dcm"); - DCMRT_INFO("Save RT Plan: " << status.text() << OFendl); - + DRTPlanIOD *rtplan = new DRTPlanIOD(); + if (rtplan != NULL) + { + status = fileformat.loadFile(RTPLAN_FILENAME); + if (status.good()) + status = rtplan->read(*fileformat.getDataset()); + DCMRT_INFO("Read RT Plan: " << status.text()); + if (status.good()) + { + fileformat.clear(); + status = rtplan->write(*fileformat.getDataset()); + DCMRT_INFO("Write RT Plan: " << status.text()); + if (status.good()) + status = fileformat.saveFile("rtplan.dcm"); + DCMRT_INFO("Save RT Plan: " << status.text()); #ifdef TEST_ASSIGNMENT_OPERATOR - DRTPlanIOD rtplan2 = rtplan; - fileformat.clear(); - status = rtplan2.write(*fileformat.getDataset()); - DCMRT_INFO("Write copy of RT Plan: " << status.text()); - if (status.good()) - status = fileformat.saveFile("rtplan2.dcm"); - DCMRT_INFO("Save copy of RT Plan: " << status.text() << OFendl); + DRTPlanIOD *rtplan2 = new DRTPlanIOD(); + if (rtplan2 != NULL) + { + *rtplan2 = *rtplan; + fileformat.clear(); + status = rtplan2->write(*fileformat.getDataset()); + DCMRT_INFO("Write copy of RT Plan: " << status.text()); + if (status.good()) + status = fileformat.saveFile("rtplan2.dcm"); + DCMRT_INFO("Save copy of RT Plan: " << status.text()); + delete rtplan2; + rtplan2= NULL; + } else + DCMRT_ERROR("Cannot allocate memory for copy of RT Plan"); #endif + } else + DCMRT_INFO("Skipping further tests for RT Plan"); + delete rtplan; + rtplan = NULL; + } else + DCMRT_ERROR("Cannot allocate memory for RT Plan"); + DCMRT_INFO("" /* empty line */); /* test RT structure set */ - DRTStructureSetIOD rtstruct; - status = fileformat.loadFile(RTSTRUCT_FILENAME); - if (status.good()) - status = rtstruct.read(*fileformat.getDataset()); - DCMRT_INFO("Read RT Structure Set: " << status.text()); - fileformat.clear(); - status = rtstruct.write(*fileformat.getDataset()); - DCMRT_INFO("Write RT Structure Set: " << status.text()); - if (status.good()) - status = fileformat.saveFile("rtstruct.dcm"); - DCMRT_INFO("Save RT Structure Set: " << status.text() << OFendl); + DRTStructureSetIOD *rtstruct = new DRTStructureSetIOD(); + if (rtstruct != NULL) + { + status = fileformat.loadFile(RTSTRUCT_FILENAME); + if (status.good()) + status = rtstruct->read(*fileformat.getDataset()); + DCMRT_INFO("Read RT Structure Set: " << status.text()); + if (status.good()) + { + fileformat.clear(); + status = rtstruct->write(*fileformat.getDataset()); + DCMRT_INFO("Write RT Structure Set: " << status.text()); + if (status.good()) + status = fileformat.saveFile("rtstruct.dcm"); + DCMRT_INFO("Save RT Structure Set: " << status.text()); + } else + DCMRT_ERROR("Skipping further tests for RT Structure Set"); + delete rtstruct; + rtstruct = NULL; + } else + DCMRT_ERROR("Cannot allocate memory for RT Structure Set"); + DCMRT_INFO("" /* empty line */); /* test RT treatment summary record */ - DRTTreatmentSummaryRecordIOD rttreat; - status = fileformat.loadFile(RTTREAT_FILENAME); - if (status.good()) - status = rttreat.read(*fileformat.getDataset()); - DCMRT_INFO("Read RT Treatment Summary Record: " << status.text()); - fileformat.clear(); - rttreat.getRequestAttributesSequence().clear(); - DCMRT_INFO("Fix invalid sequence elements: " << status.text()); - status = rttreat.write(*fileformat.getDataset()); - DCMRT_INFO("Write RT Treatment Summary Record: " << status.text()); - if (status.good()) - status = fileformat.saveFile("rttreat.dcm"); - DCMRT_INFO("Save RT Treatment Summary Record: " << status.text() << OFendl); + DRTTreatmentSummaryRecordIOD *rttreat = new DRTTreatmentSummaryRecordIOD(); + if (rttreat != NULL) + { + status = fileformat.loadFile(RTTREAT_FILENAME); + if (status.good()) + status = rttreat->read(*fileformat.getDataset()); + DCMRT_INFO("Read RT Treatment Summary Record: " << status.text()); + if (status.good()) + { + fileformat.clear(); + rttreat->getRequestAttributesSequence().clear(); + DCMRT_INFO("Fix invalid sequence elements: " << status.text()); + status = rttreat->write(*fileformat.getDataset()); + DCMRT_INFO("Write RT Treatment Summary Record: " << status.text()); + if (status.good()) + status = fileformat.saveFile("rttreat.dcm"); + DCMRT_INFO("Save RT Treatment Summary Record: " << status.text()); + } else + DCMRT_ERROR("Skipping further tests for RT Treatment Summary Record"); + delete rttreat; + rttreat = NULL; + } else + DCMRT_ERROR("Cannot allocate memory for RT Treatment Summary Record"); + DCMRT_INFO("" /* empty line */); return 0; } diff --git a/dcmseg/include/dcmtk/dcmseg/segdoc.h b/dcmseg/include/dcmtk/dcmseg/segdoc.h index 9acebb0f..5a75e1e4 100644 --- a/dcmseg/include/dcmtk/dcmseg/segdoc.h +++ b/dcmseg/include/dcmtk/dcmseg/segdoc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,9 @@ #include "dcmtk/config/osconfig.h" // include OS configuration first -#include "dcmtk/dcmdata/dcvrui.h" +#include "dcmtk/dcmdata/dcfilefo.h" #include "dcmtk/dcmfg/concatenationcreator.h" // for writing concatenations #include "dcmtk/dcmfg/concatenationloader.h" // for loading concatenations -#include "dcmtk/dcmfg/fgfracon.h" // for frame content functional group macro #include "dcmtk/dcmfg/fginterface.h" // for multi-frame functional group interface #include "dcmtk/dcmiod/iodimage.h" // common image IOD attribute access #include "dcmtk/dcmiod/iodmacro.h" @@ -44,6 +43,7 @@ class DcmSegment; class FGSegmentation; class FGDerivationImage; +class DcmFileFormat; /** Class representing an object of the "Segmentation SOP Class". */ @@ -555,19 +555,6 @@ protected: Uint32& numberOfFrames, OFString& colorModel); - /** This is the counterpart to the extractFrames() function. It takes a number - * of frames that are in binary segmentation format (i.e. "bit-packed") and - * concatenates them together so the resulting memory block fits the Pixel - * Data format for binary segmentations. Thus method ensure that frames - * are aligned bit for bit concatenated to each other with only (if - * applicable) having unused bits after the last frame. - * @param frames The source frames - * @param pixData The pixel data element data to be filled. Size must be - * at least bitsPerFrame * number of frames. - * @param bitsPerFrame Bits required per frame, usually rows * columns - */ - virtual void concatFrames(OFVector frames, Uint8* pixData, const size_t bitsPerFrame); - /** Add frame to segmentation object. * @param pixData Pixel data to be added. Length must be rows*columns bytes. * Pixel data is copied so it must be freed by the caller. diff --git a/dcmseg/include/dcmtk/dcmseg/segment.h b/dcmseg/include/dcmtk/dcmseg/segment.h index 5d5ca9c3..baf3b816 100644 --- a/dcmseg/include/dcmtk/dcmseg/segment.h +++ b/dcmseg/include/dcmtk/dcmseg/segment.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -28,6 +28,9 @@ #include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/dcmseg/segdoc.h" #include "dcmtk/dcmseg/segtypes.h" +#include "dcmtk/dcmdata/dcvrui.h" +#include "dcmtk/dcmdata/dcvrlo.h" +#include "dcmtk/dcmdata/dcvrut.h" /** Class representing a segment from the Segment Identification Sequence, * as used within the Segmentation Image Module. It includes the Segment diff --git a/dcmseg/include/dcmtk/dcmseg/segtypes.h b/dcmseg/include/dcmtk/dcmseg/segtypes.h index 7b6de3ad..a0a0dec2 100644 --- a/dcmseg/include/dcmtk/dcmseg/segtypes.h +++ b/dcmseg/include/dcmtk/dcmseg/segtypes.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -27,6 +27,7 @@ #include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/dcmseg/segdef.h" #include "dcmtk/oflog/oflog.h" +#include "dcmtk/dcmdata/dcvrst.h" /* * * Logging diff --git a/dcmseg/include/dcmtk/dcmseg/segutils.h b/dcmseg/include/dcmtk/dcmseg/segutils.h index 02571a0c..a8b1a91d 100644 --- a/dcmseg/include/dcmtk/dcmseg/segutils.h +++ b/dcmseg/include/dcmtk/dcmseg/segutils.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2019, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -26,6 +26,8 @@ #include "dcmtk/dcmseg/segdef.h" #include "dcmtk/dcmseg/segtypes.h" +#include "dcmtk/ofstd/oftypes.h" +#include "dcmtk/ofstd/ofvector.h" /** Class that contains helper functionality for the dcmseg module */ @@ -35,20 +37,24 @@ class DCMTK_DCMSEG_EXPORT DcmSegUtils public: /** Pack the given segmentation pixel data, provided "unpacked", into * the packed format expected by DICOM - * @param pixelData Pixel data in unpacked format - * @param rows Number of rows in the pixel data - * @param columns The number of columns in the pixel data - * @return The frame data if successful, NULL if an error occurs + * @param pixelData Pixel data in unpacked format, i.e on byte per pixel, either 0 (not set) or non-0 (set) + * @param rows Number of rows in the pixel data + * @param columns The number of columns in the pixel data + * @return The frame data if successful, NULL if an error occurs */ static DcmIODTypes::Frame* packBinaryFrame(const Uint8* pixelData, const Uint16 rows, const Uint16 columns); - /** Compute the number of bytes required for a binary pixel data frame, - * given the number of pixels - * @param numPixels The total number of pixels - * @return The number of bytes required to pack the data into a binary - * segmentation frame + /** Concatenate given frames into a single bit array + * @param frames The frames to concatenate. Each frame is expected to be in packed format (1 bit per pixel), + * with the last byte padded with 0s if necessary + * @param rows The number of rows in the frames + * @param cols The number of columns in the frames + * @param pixData The buffer to store the concatenated frames. Must be pre-allocated and have a size of at least + * pixDataLength bytes. Bytes are set to 0 before concatenation. + * @param pixDataLength The length of the pixData buffer in bytes + * @return EC_Normal if successful, an error code otherwise */ - static size_t getBytesForBinaryFrame(const size_t& numPixels); + static OFCondition concatBinaryFrames(const OFVector& frames, const Uint16 rows, const Uint16 cols, Uint8* pixData, const size_t pixDataLength); /** Unpacks a binary segmentation frame into a "sparse" pixel data frame where * every resulting byte represents a single bit of the frame being either @@ -60,51 +66,6 @@ public: */ static DcmIODTypes::Frame* unpackBinaryFrame(const DcmIODTypes::Frame* frame, Uint16 rows, Uint16 cols); - /** Aligns 1 bit per pixel frame data to make the frame start at a - * specific bit position within the first byte. This is used in the context - * that dcmseg holds the frames in memory aligned to exact byte positions, - * while the DICOM encoding might require a frame to start at an arbitrary - * bit position since all (1 bit per pixel) frames are directly concatenated - * one after another (i.e. if one frame does not occupy a number of bits - * dividable by 8, not all frames will be aligned at exact byte positions). - * Note that each byte is filled from the right, i.e. the first pixel will - * represented by the bit at the very right of the first byte, and the 9th - * pixel will be in the very right position of the following byte. - * This is not a regular bit shift operation since the bits from the previous - * frame are on the left of the byte, but must be aligned at the right. The - * current frame starts from the first bit, occupying the unused bits of - * the last frame and then continuing in the next byte at the first bit - * from the left. - * Example for two bit shift: - * Input buffer bytes: hgfedcba 87654321 - * Result: fedcba00 654321hg - * The 00 in the first byte must be handled by the caller (will - * contain the two bits of the previous frame). - * See also dcmseg/tests/tutils.cc for more examples. - * @param buf The address of the memory buffer to shift - * @param bufLen The length of the buf memory block in bytes - * @param numBits The number of bits to shift. Must be 0 <= numBits <= 7. - */ - static void alignFrameOnBitPosition(Uint8* buf, const size_t bufLen, const Uint8 numBits); - - /** Aligns 1 bit per pixel frame data starting at a given bit position in the - * provided buffer with the start of that buffer. This is used to create - * a frame structure where all the bytes (including the first one) only - * contain data from the frame at hand. - * Note that each byte is filled from the right, i.e. the first pixel will - * represented by the bit at the very right of the first byte, and the 9th - * pixel will be in the very right position of the following byte. - * Example: - * 3 bytes input buffer: edcbaZYX mlkjihgf utsrqpon - * Result after aligning 3 bits: fghedcba ponmlkji 000utsrq - * The 000 are unused bits and therefore zeroed out in the last byte. Bits - * ZYX will be shifted out which is ok since it does not belong to the - * current frame. See also dcmseg/tests/tutils.cc for more examples. - * @param buf The address of the memory buffer to shift - * @param bufLen The length of the buf memory block in bytes - * @param numBits The number of bits to shift. Must be 0 <= numBits <= 7. - */ - static void alignFrameOnByteBoundary(Uint8* buf, const size_t bufLen, const Uint8 numBits); /** Dumps a byte as binary number to a string. Only useful for * debugging purposes. @@ -114,12 +75,14 @@ public: static OFString debugByte2Bin(Uint8 b); /** Dumps a memory block byte for byte to the debug log stream. Only useful - * for debugging purposes. + * for debugging purposes. * @param buffer The address of the memory block to dump * @param length The length of memory to be dumped - * @param what String describing what is dumped. + * @param what String describing what is dumped + * @param raw If OFTrue, no additional information is added to the output, + * otherwise bytes are enumerated */ - static void debugDumpBin(Uint8* buffer, size_t length, const char* what); + static void debugDumpBin(Uint8* buffer, size_t length, const OFString& what, const OFBool raw); }; #endif // SEGUTILS_H diff --git a/dcmseg/libsrc/Makefile.dep b/dcmseg/libsrc/Makefile.dep index 651deb1e..1bbbdf6e 100644 --- a/dcmseg/libsrc/Makefile.dep +++ b/dcmseg/libsrc/Makefile.dep @@ -5,10 +5,28 @@ segdoc.o: segdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmfg/include/dcmtk/dcmfg/concatenationcreator.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -18,13 +36,11 @@ segdoc.o: segdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -36,105 +52,42 @@ segdoc.o: segdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ ../../dcmfg/include/dcmtk/dcmfg/fgderimg.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgfact.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgplanor.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgplanpo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ ../../dcmfg/include/dcmtk/dcmfg/fgseg.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../include/dcmtk/dcmseg/segdoc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ ../../dcmfg/include/dcmtk/dcmfg/concatenationloader.h \ ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ ../../dcmfg/include/dcmtk/dcmfg/fg.h \ @@ -148,26 +101,22 @@ segdoc.o: segdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \ ../../ofstd/include/dcmtk/ofstd/ofvriant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \ - ../../ofstd/include/dcmtk/ofstd/diag/cnvrsn.def \ - ../../ofstd/include/dcmtk/ofstd/diag/vsprfw.def \ - ../../ofstd/include/dcmtk/ofstd/diag/arrybnds.def \ - ../../ofstd/include/dcmtk/ofstd/diag/unrefprm.def \ + ../../ofstd/include/dcmtk/ofstd/diag/stralias.def \ ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframefg.h \ ../../dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h \ ../include/dcmtk/dcmseg/segdef.h ../include/dcmtk/dcmseg/segtypes.h \ - ../include/dcmtk/dcmseg/segment.h ../include/dcmtk/dcmseg/segutils.h + ../include/dcmtk/dcmseg/segment.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../include/dcmtk/dcmseg/segutils.h segment.o: segment.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ @@ -178,8 +127,8 @@ segment.o: segment.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -189,7 +138,6 @@ segment.o: segment.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -223,13 +171,13 @@ segment.o: segment.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ @@ -239,72 +187,27 @@ segment.o: segment.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../include/dcmtk/dcmseg/segdoc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmfg/include/dcmtk/dcmfg/concatenationcreator.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../../dcmfg/include/dcmtk/dcmfg/concatenationcreator.h \ ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ ../../dcmfg/include/dcmtk/dcmfg/concatenationloader.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ ../../dcmfg/include/dcmtk/dcmfg/fg.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \ ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ @@ -313,26 +216,22 @@ segment.o: segment.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \ ../../ofstd/include/dcmtk/ofstd/ofvriant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \ - ../../ofstd/include/dcmtk/ofstd/diag/cnvrsn.def \ - ../../ofstd/include/dcmtk/ofstd/diag/vsprfw.def \ - ../../ofstd/include/dcmtk/ofstd/diag/arrybnds.def \ - ../../ofstd/include/dcmtk/ofstd/diag/unrefprm.def \ + ../../ofstd/include/dcmtk/ofstd/diag/stralias.def \ ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframefg.h \ ../../dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h \ ../include/dcmtk/dcmseg/segdef.h ../include/dcmtk/dcmseg/segtypes.h \ - ../include/dcmtk/dcmseg/segment.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../include/dcmtk/dcmseg/segment.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h segtypes.o: segtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ @@ -341,15 +240,20 @@ segtypes.o: segtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -376,127 +280,64 @@ segtypes.o: segtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ - ../include/dcmtk/dcmseg/segtypes.h ../include/dcmtk/dcmseg/segdef.h -segutils.o: segutils.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../include/dcmtk/dcmseg/segtypes.h ../include/dcmtk/dcmseg/segdef.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h +segutils.o: segutils.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -508,83 +349,47 @@ segutils.o: segutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../include/dcmtk/dcmseg/segtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../include/dcmtk/dcmseg/segdef.h ../include/dcmtk/dcmseg/segutils.h \ - ../include/dcmtk/dcmseg/segtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../include/dcmtk/dcmseg/segdef.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../../dcmiod/include/dcmtk/dcmiod/modbase.h + ../include/dcmtk/dcmseg/segutils.h diff --git a/dcmseg/libsrc/segdoc.cc b/dcmseg/libsrc/segdoc.cc index 718daf5e..38798886 100644 --- a/dcmseg/libsrc/segdoc.cc +++ b/dcmseg/libsrc/segdoc.cc @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015-2023, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * * All rights reserved. See COPYRIGHT file for details. * @@ -24,15 +24,14 @@ #include "dcmtk/dcmdata/dcuid.h" #include "dcmtk/dcmfg/concatenationcreator.h" #include "dcmtk/dcmfg/fgderimg.h" -#include "dcmtk/dcmfg/fgfact.h" -#include "dcmtk/dcmfg/fgfracon.h" -#include "dcmtk/dcmfg/fgplanor.h" -#include "dcmtk/dcmfg/fgplanpo.h" #include "dcmtk/dcmfg/fgseg.h" #include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmseg/segdoc.h" #include "dcmtk/dcmseg/segment.h" +#include "dcmtk/dcmseg/segtypes.h" #include "dcmtk/dcmseg/segutils.h" +#include "dcmtk/oflog/loglevel.h" +#include // default constructor (protected, instance creation via create() function) DcmSegmentation::DcmSegmentation() @@ -479,6 +478,12 @@ OFCondition DcmSegmentation::addFrame(Uint8* pixData) { result = IOD_EC_CannotInsertFrame; } + // with debug logging enabled, print out the binary frame + if (DCM_dcmsegLogger.isEnabledFor(dcmtk::log4cplus::DEBUG_LOG_LEVEL)) + { + DCMSEG_DEBUG("Added binary segmentation frame:"); + DcmSegUtils::debugDumpBin(frame->pixData, frame->length, "Binary frame", OFTrue); + } } else // fractional { @@ -855,6 +860,17 @@ OFCondition DcmSegmentation::readFrames(DcmItem& dataset) { return result; } + // with debug logging enabled, print out the binary frames + if (DCM_dcmsegLogger.isEnabledFor(dcmtk::log4cplus::DEBUG_LOG_LEVEL)) + { + DCMSEG_DEBUG("Extracted binary segmentation frame:"); + for (size_t count = 0; count < m_Frames.size(); count++) + { + DCMSEG_DEBUG("Frame " << count << ":"); + DcmIODTypes::Frame* frame = m_Frames[count]; + DcmSegUtils::debugDumpBin(frame->pixData, frame->length, "Binary frame", OFTrue); + } + } } else if (m_SegmentationType == DcmSegTypes::ST_FRACTIONAL) { @@ -1058,14 +1074,9 @@ OFCondition DcmSegmentation::writeFractionalFrames(Uint8* pixData) OFCondition DcmSegmentation::writeBinaryFrames(Uint8* pixData, Uint16 rows, Uint16 cols, const size_t pixDataLength) { - // Holds the pixels for all frames. Each bit represents a pixel which is either - // 1 (part of segment) or 0 (not part of segment. All frames are directly - // concatenated, i.e. there are no unused bits between the frames. - memset(pixData, 0, pixDataLength); - // Fill Pixel Data Element - concatFrames(m_Frames, pixData, rows * cols); - return EC_Normal; + // Compute size of all bit-packed frames in bytes + return DcmSegUtils::concatBinaryFrames(m_Frames, rows, cols, pixData, pixDataLength); } OFCondition DcmSegmentation::writeSegmentationImageModule(DcmItem& dataset) @@ -1407,16 +1418,16 @@ OFCondition DcmSegmentation::decompress(DcmDataset& dset) // If the original transfer syntax could have been lossy, print warning if (dset.hasRepresentation(EXS_LittleEndianExplicit, NULL)) { - if (xfer.isEncapsulated() && (xfer != EXS_RLELossless) && (xfer != EXS_DeflatedLittleEndianExplicit)) + if (xfer.isPixelDataCompressed() && (xfer != EXS_RLELossless)) { DCMSEG_WARN("Dataset has been compressed using a (possibly) lossy compression scheme (ignored)"); } } - // If the original transfer is encapsulated and we do not already have an uncompressed version, decompress or reject - // the file - else if (xfer.isEncapsulated()) + // If the original transfer syntax refers to compressed pixel data and we do not + // already have an uncompressed version, decompress or reject the file + else if (xfer.isPixelDataCompressed()) { - // RLE compression is fine (truly lossless). Deflated is handled internally by DCMTK. + // RLE compression is fine (truly lossless) if (xfer == EXS_RLELossless) { DCMSEG_DEBUG("DICOM file is RLE-compressed, converting to uncompressed transfer syntax first"); @@ -1432,51 +1443,3 @@ OFCondition DcmSegmentation::decompress(DcmDataset& dset) return result; } -void DcmSegmentation::concatFrames(OFVector frames, Uint8* pixData, const size_t bitsPerFrame) -{ - // Writing position within the pixData memory - Uint8* writePos = pixData; - OFVector::iterator frame = frames.begin(); - Uint8 freeBits = 0; - Uint8 firstByte = 0; - // Iterate over frames and copy each to pixData memory - for (size_t f = 0; frame != frames.end(); f++) - { - DCMSEG_DEBUG("Packing segmentation frame #" << f + 1 << "/" << frames.size()); - // Backup first byte of the destination since it may contain bits of the - // previous frame; mask out those bits not belonging to previous frame. - // This will potentially create some empty bits on the left of the byte, - // that the current frame can use to store the its own first bits. - firstByte = OFstatic_cast(unsigned char, (writePos[0] << freeBits)) >> freeBits; - memcpy(writePos, (*frame)->pixData, (*frame)->length); - // If the previous frame left over some unused bits, shift the current frame - // that number of bits to the left, and restore the original bits of the - // previous frame that are overwritten by the shifting operation. - if (freeBits > 0) - { - DcmSegUtils::alignFrameOnBitPosition(writePos, (*frame)->length, 8 - freeBits); - writePos[0] |= firstByte; - } - // Compute free bits left over from this frame in the previous byte written - freeBits = (8 - (((f + 1) * bitsPerFrame) % 8)) % 8; - // If we have free bits, the previous byte written to will be the first byte - // we write to for the next frame. Otherwise start with a fresh destination - // byte. - if (freeBits > 0) - { - writePos = writePos + (*frame)->length - 1; - } - else - { - writePos = writePos + (*frame)->length; - } - // Next frame - frame++; - } - // Through shifting we can have non-zero bits within the unused bits of the - // last byte. Fill them with zeros (though not required by the standard). - if (freeBits > 0) - { - *writePos = (OFstatic_cast(unsigned char, *writePos) >> freeBits) << freeBits; - } -} diff --git a/dcmseg/libsrc/segutils.cc b/dcmseg/libsrc/segutils.cc index aac9e4c9..3b8b5462 100644 --- a/dcmseg/libsrc/segutils.cc +++ b/dcmseg/libsrc/segutils.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, Open Connections GmbH + * Copyright (C) 2015-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -21,15 +21,16 @@ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmiod/iodutil.h" -#include "dcmtk/dcmseg/segdef.h" +#include "dcmtk/dcmiod/iodtypes.h" +#include "dcmtk/dcmseg/segtypes.h" #include "dcmtk/dcmseg/segutils.h" + DcmIODTypes::Frame* DcmSegUtils::packBinaryFrame(const Uint8* pixelData, const Uint16 rows, const Uint16 columns) { // Sanity checking - const size_t numPixels = OFstatic_cast(size_t, rows) * columns; - if (numPixels == 0) + const size_t totalBits = OFstatic_cast(size_t, rows) * columns; + if (totalBits == 0) { DCMSEG_ERROR("Unable to pack binary segmentation frame: Rows or Columns is 0"); return NULL; @@ -39,32 +40,91 @@ DcmIODTypes::Frame* DcmSegUtils::packBinaryFrame(const Uint8* pixelData, const U DCMSEG_ERROR("Unable to pack binary segmentation frame: No pixel data provided"); return NULL; } + + // Calculate total number of bytes required + size_t totalBytes = (totalBits + 7) / 8; // +7 to round up to the nearest byte + + // Allocate memory for the packed bit array + Uint8* packedData = new Uint8[totalBytes]; + if (packedData == NULL) + { + DCMSEG_ERROR("Cannot allocate memory for packed binary frame"); + return NULL; + } + memset(packedData, 0, totalBytes); // Initialize to 0 + + // Pack the bits + for (Uint32 i = 0; i < totalBits; ++i) { + if (pixelData[i] != 0) { + Uint32 byteIndex = i / 8; + Uint32 bitIndex = i % 8; + DCMSEG_TRACE("bitIndex: " << bitIndex << ", byteIndex: " << byteIndex << ", packedData[byteIndex]: " << DcmSegUtils::debugByte2Bin(packedData[byteIndex])); + packedData[byteIndex] |= (1 << bitIndex); // Fill from right to left + } + } + + // Create and return the frame DcmIODTypes::Frame* frame = new DcmIODTypes::Frame(); if (frame == NULL) { - DCMSEG_ERROR("Could not pack binary segmentation frame: Memory exhausted"); + DCMSEG_ERROR("Cannot allocate memory for packed binary frame"); + delete[] packedData; return NULL; } - frame->length = getBytesForBinaryFrame(numPixels); - frame->pixData = new Uint8[frame->length]; - if (frame->pixData == 0) + frame->pixData = packedData; + frame->length = totalBytes; + return frame; +} + +OFCondition DcmSegUtils::concatBinaryFrames(const OFVector& frames, + const Uint16 rows, + const Uint16 cols, + Uint8* pixData, + const size_t pixDataLength) +{ + // Calculate total number of bits required (one per pixel) + size_t totalBits = 0; + if (!OFStandard::safeMult(OFstatic_cast(size_t,rows)*cols, frames.size(), totalBits)) { - delete frame; - return NULL; + DCMSEG_ERROR("Too many frames to concatenate"); + return EC_IllegalParameter; } - memset(frame->pixData, 0, frame->length); - size_t bytePos = 0; - for (size_t count = 0; count < numPixels; count++) + // Calculate total number of bytes required (add one byte if totalBits is not a multiple of 8) + size_t totalBytes = (totalBits + 7) / 8; // +7 to round up to the nearest byte + + // Ensure the provided pixDataLength is sufficient + if (pixDataLength < totalBytes) { + return EC_IllegalParameter; // or another appropriate error code + } + + // Initialize the target pixData array to 0 + std::memset(pixData, 0, pixDataLength); + + // Concatenate the bits + Uint32 bitIndex = 0; + for (size_t frameIndex = 0; frameIndex < frames.size(); ++frameIndex) { - // Compute byte position - bytePos = count / 8; - frame->pixData[bytePos] - |= (pixelData[count] != 0) /* value to set */ << (count % 8 /* bit position (0-7) within byte */); + const DcmIODTypes::Frame* frame = frames[frameIndex]; + Uint32 frameBits = rows * cols; + for (Uint32 i = 0; i < frameBits; ++i) + { + Uint32 byteIndex = i / 8; + Uint32 bitPos = i % 8; + if (frame->pixData[byteIndex] & (1 << bitPos % 8)) { + Uint32 targetByteIndex = bitIndex / 8; + Uint32 targetBitPos = bitIndex % 8; + pixData[targetByteIndex] |= (1 << targetBitPos); + DCMSEG_TRACE("Setting bit at targetByteIndex: " << targetByteIndex << ", targetBitPos: " << targetBitPos << ", frame->pixData[" << byteIndex << "]: " << DcmSegUtils::debugByte2Bin(frame->pixData[byteIndex]) << ", value: " << DcmSegUtils::debugByte2Bin(pixData[targetByteIndex])); + } + bitIndex++; + } } - return frame; + + return EC_Normal; // or another appropriate success code } + DcmIODTypes::Frame* DcmSegUtils::unpackBinaryFrame(const DcmIODTypes::Frame* frame, Uint16 rows, Uint16 cols) { // Sanity checking @@ -74,95 +134,56 @@ DcmIODTypes::Frame* DcmSegUtils::unpackBinaryFrame(const DcmIODTypes::Frame* fra return NULL; } - // Create result frame in memory - size_t numBits = OFstatic_cast(size_t, rows) * cols; + // Calculate total number of pixels + Uint32 totalPixels = rows * cols; + + // Allocate memory for the unpacked pixel data DcmIODTypes::Frame* result = new DcmIODTypes::Frame(); - if (result) + if (result == NULL) { - result->pixData = new Uint8[numBits]; - if (!result->pixData) - { - delete result; - return NULL; - } - result->length = numBits; + DCMSEG_ERROR("Cannot allocate memory for unpacked binary frame"); + return NULL; } - if (!result || !(result->pixData)) + result->pixData = new Uint8[totalPixels]; + if (result->pixData == NULL) { - DCMSEG_ERROR("Cannot unpack binary frame, memory exhausted"); + DCMSEG_ERROR("Cannot allocate memory for unpacked binary frame"); + delete result; return NULL; } - memset(result->pixData, 0, result->length); + result->length = totalPixels; + memset(result->pixData, 0, totalPixels); // Initialize to 0 - // Transform and copy from packed frame to unpacked result frame - size_t bytePos = 0; - for (size_t count = 0; count < numBits; count++) - { - // Compute byte position - bytePos = count / 8; - // Bit position (0-7) within byte - Uint8 bitpos = (count % 8); - if ((frame->pixData[bytePos] & (1 << bitpos) /* check whether bit at bitpos is set*/)) + // Unpack the bits + for (Uint32 i = 0; i < totalPixels; ++i) { + Uint32 byteIndex = i / 8; + Uint32 bitIndex = i % 8; + if (frame->pixData[byteIndex] & (1 << (bitIndex))) { + result->pixData[i] = 1; + } else { - result->pixData[count] = 1; + result->pixData[i] = 0; } - else - { - result->pixData[count] = 0; - } - } - return result; -} - -size_t DcmSegUtils::getBytesForBinaryFrame(const size_t& numPixels) -{ - // check whether the 1-bit pixels exactly fit into bytes - size_t remainder = numPixels % 8; - // number of bytes that work on an exact fit - size_t bytesRequired = numPixels / 8; - // add one byte if we have a remainder - if (remainder > 0) - bytesRequired++; - return bytesRequired; -} - -void DcmSegUtils::alignFrameOnBitPosition(Uint8* buf, const size_t bufLen, const Uint8 numBits) -{ - if (numBits > 7) - { - DCMSEG_ERROR("Invalid input data: alignFrameOnBitPosition() can only shift 0-7 bits"); - return; - } - Uint8 carryOver = 0; - for (size_t x = 0; x < bufLen; x++) - { - // Store current byte since we need to restore its first bits later - Uint8 current = buf[x]; - // Shift pixels given num bits to the left, creating (8 - num bits) - // empty bits at the right - buf[x] <<= numBits; - // If there is a carry over from the previous byte, add it in again (will always be at the end, - // see carry over calculation in next step) - buf[x] |= carryOver; - // Compute carry over bits for next byte to be handled, i.e. those bits at the left that will be - // overwritten in the next byte - carryOver = OFstatic_cast(unsigned char, current) >> (8 - numBits); } -} -void DcmSegUtils::alignFrameOnByteBoundary(Uint8* buf, const size_t bufLen, const Uint8 numBits) -{ - return DcmIODUtil::alignFrameOnByteBoundary(buf, bufLen, numBits); + return result; } -void DcmSegUtils::debugDumpBin(Uint8* buffer, size_t length, const char* what) +void DcmSegUtils::debugDumpBin(Uint8* buffer, size_t length, const OFString& what, const OFBool raw) { + OFStringStream ss; for (size_t n = 0; n < length; n++) { - DCMSEG_DEBUG(what << " #" << n << ": " << OFstatic_cast(size_t, (buffer[n])) << ", bytepos " << &(buffer[n]) - << " (" << debugByte2Bin((buffer[n])) << ")"); + if (raw) + { + ss << debugByte2Bin(buffer[n]); + } + else + { + ss << what << " #" << n << ": " << debugByte2Bin((buffer[n])); + } } - DCMSEG_DEBUG(""); + DCMSEG_DEBUG(ss.str()); } OFString DcmSegUtils::debugByte2Bin(Uint8 b) @@ -176,3 +197,4 @@ OFString DcmSegUtils::debugByte2Bin(Uint8 b) } return result; } + diff --git a/dcmseg/tests/CMakeLists.txt b/dcmseg/tests/CMakeLists.txt index cbdc13de..5636eb01 100644 --- a/dcmseg/tests/CMakeLists.txt +++ b/dcmseg/tests/CMakeLists.txt @@ -1,5 +1,5 @@ # declare executables -DCMTK_ADD_EXECUTABLE(dcmseg_tests +DCMTK_ADD_TEST_EXECUTABLE(dcmseg_tests tbigdim.cc tests.cc tutils.cc diff --git a/dcmseg/tests/Makefile.dep b/dcmseg/tests/Makefile.dep index 70c707fc..91ef09b6 100644 --- a/dcmseg/tests/Makefile.dep +++ b/dcmseg/tests/Makefile.dep @@ -6,12 +6,12 @@ tbigdim.o: tbigdim.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -22,7 +22,6 @@ tbigdim.o: tbigdim.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -53,109 +52,80 @@ tbigdim.o: tbigdim.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../include/dcmtk/dcmseg/segtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../include/dcmtk/dcmseg/segdef.h + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../include/dcmtk/dcmseg/segdef.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h tconcat_binary.o: tconcat_binary.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmfg/include/dcmtk/dcmfg/concatenationcreator.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -167,107 +137,40 @@ tconcat_binary.o: tconcat_binary.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ - ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ ../../dcmfg/include/dcmtk/dcmfg/concatenationloader.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../include/dcmtk/dcmseg/segdoc.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h ../include/dcmtk/dcmseg/segdoc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ ../../dcmfg/include/dcmtk/dcmfg/fg.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \ ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ @@ -276,32 +179,28 @@ tconcat_binary.o: tconcat_binary.cc \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \ ../../ofstd/include/dcmtk/ofstd/ofvriant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \ - ../../ofstd/include/dcmtk/ofstd/diag/cnvrsn.def \ - ../../ofstd/include/dcmtk/ofstd/diag/vsprfw.def \ - ../../ofstd/include/dcmtk/ofstd/diag/arrybnds.def \ - ../../ofstd/include/dcmtk/ofstd/diag/unrefprm.def \ + ../../ofstd/include/dcmtk/ofstd/diag/stralias.def \ ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframefg.h \ ../../dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h \ ../include/dcmtk/dcmseg/segdef.h ../include/dcmtk/dcmseg/segtypes.h \ - ../include/dcmtk/dcmseg/segment.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ @@ -310,12 +209,12 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ @@ -326,7 +225,6 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -357,30 +255,47 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h troundtrip.o: troundtrip.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmseg/segdoc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ - ../../oflog/include/dcmtk/oflog/oflog.h \ - ../../oflog/include/dcmtk/oflog/logger.h \ - ../../oflog/include/dcmtk/oflog/config.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -392,106 +307,40 @@ troundtrip.o: troundtrip.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ - ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmfg/include/dcmtk/dcmfg/concatenationcreator.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmfg/include/dcmtk/dcmfg/concatenationcreator.h \ ../../dcmfg/include/dcmtk/dcmfg/fgdefine.h \ ../../dcmfg/include/dcmtk/dcmfg/concatenationloader.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ - ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../dcmfg/include/dcmtk/dcmfg/fginterface.h \ ../../dcmfg/include/dcmtk/dcmfg/fg.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgbase.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgtypes.h \ ../../dcmiod/include/dcmtk/dcmiod/iodimage.h \ ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ @@ -500,75 +349,69 @@ troundtrip.o: troundtrip.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralimage.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h \ ../../ofstd/include/dcmtk/ofstd/ofvriant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/variant.h \ - ../../ofstd/include/dcmtk/ofstd/variadic/helpers.h \ - ../../ofstd/include/dcmtk/ofstd/diag/cnvrsn.def \ - ../../ofstd/include/dcmtk/ofstd/diag/vsprfw.def \ - ../../ofstd/include/dcmtk/ofstd/diag/arrybnds.def \ - ../../ofstd/include/dcmtk/ofstd/diag/unrefprm.def \ + ../../ofstd/include/dcmtk/ofstd/diag/stralias.def \ ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modimagepixel.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h \ ../../dcmiod/include/dcmtk/dcmiod/modmultiframefg.h \ ../../dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h \ ../include/dcmtk/dcmseg/segdef.h ../include/dcmtk/dcmseg/segtypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ ../include/dcmtk/dcmseg/segment.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmfg/include/dcmtk/dcmfg/fgfracon.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ ../../dcmfg/include/dcmtk/dcmfg/fgpixmsr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ ../../dcmfg/include/dcmtk/dcmfg/fgplanor.h \ ../../dcmfg/include/dcmtk/dcmfg/fgplanpo.h \ ../../dcmfg/include/dcmtk/dcmfg/fgseg.h \ - ../../ofstd/include/dcmtk/ofstd/ofstrutl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ ../../ofstd/include/dcmtk/ofstd/oftempf.h tutils.o: tutils.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ ../../oflog/include/dcmtk/oflog/layout.h \ ../../oflog/include/dcmtk/oflog/streams.h \ @@ -580,89 +423,53 @@ tutils.o: tutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../include/dcmtk/dcmseg/segutils.h ../include/dcmtk/dcmseg/segdef.h \ + ../include/dcmtk/dcmseg/segtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ - ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../include/dcmtk/dcmseg/segutils.h ../include/dcmtk/dcmseg/segdef.h \ - ../include/dcmtk/dcmseg/segtypes.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofexit.h + ../../ofstd/include/dcmtk/ofstd/ofexit.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h diff --git a/dcmseg/tests/tbigdim.cc b/dcmseg/tests/tbigdim.cc index 4dc1c015..6098e14b 100644 --- a/dcmseg/tests/tbigdim.cc +++ b/dcmseg/tests/tbigdim.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2022, OFFIS e.V. + * Copyright (C) 2022-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -34,9 +34,10 @@ #include "dcmtk/dcmfg/fgseg.h" #include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/dcmdata/dcxfer.h" +#include "dcmtk/dcmdata/dcdict.h" #include "dcmtk/ofstd/ofmem.h" -#include "dcmtk/ofstd/ofstrutl.h" #include "dcmtk/ofstd/oftempf.h" +#include "dcmtk/ofstd/ofstd.h" static const Uint8 NUM_ROWS = 5; static const Uint8 NUM_COLS = 5; @@ -176,7 +177,7 @@ static void addSegments(DcmSegmentation* seg) CodeSequenceMacro category("85756007", "SCT", "Tissue"); CodeSequenceMacro propType("51114001", "SCT", "Artery"); char buf[100]; - sprintf(buf, "SEGLABEL_%hu", s); + OFStandard::snprintf(buf, sizeof(buf), "SEGLABEL_%hu", s); OFCHECK(DcmSegment::create(segment, buf, category, propType, DcmSegTypes::SAT_AUTOMATIC, "OC_DUMMY") .good()); OFCHECK(segment != OFnullptr); diff --git a/dcmseg/tests/tconcat_binary.cc b/dcmseg/tests/tconcat_binary.cc index 013c9cd9..04a25be6 100644 --- a/dcmseg/tests/tconcat_binary.cc +++ b/dcmseg/tests/tconcat_binary.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2022, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,8 +24,8 @@ #include "dcmtk/dcmfg/concatenationcreator.h" #include "dcmtk/dcmfg/concatenationloader.h" #include "dcmtk/dcmseg/segdoc.h" -#include "dcmtk/dcmseg/segment.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdict.h" const OFString ATLAS_FILE = "/home/michael/data/dcm/seg_atlas.dcm"; const size_t NUM_FRAMES_PER_CONCAT = 24; diff --git a/dcmseg/tests/tests.cc b/dcmseg/tests/tests.cc index f992abd0..57a60a91 100644 --- a/dcmseg/tests/tests.cc +++ b/dcmseg/tests/tests.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2022, OFFIS e.V. + * Copyright (C) 2015-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -24,7 +24,10 @@ #include "dcmtk/ofstd/oftest.h" OFTEST_REGISTER(dcmseg_bigdim); -OFTEST_REGISTER(dcmseg_utils); +OFTEST_REGISTER(dcmseg_debugByte2Bin); +OFTEST_REGISTER(dcmseg_packBinaryFrame); +OFTEST_REGISTER(dcmseg_packAndUnpackBinaryFrame); +OFTEST_REGISTER(dcmseg_concatBinaryFrames); OFTEST_REGISTER(dcmseg_roundtrip); OFTEST_REGISTER(dcmseg_concat_binary); diff --git a/dcmseg/tests/troundtrip.cc b/dcmseg/tests/troundtrip.cc index 1c2542dc..d9df8ceb 100644 --- a/dcmseg/tests/troundtrip.cc +++ b/dcmseg/tests/troundtrip.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2022, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -32,8 +32,8 @@ #include "dcmtk/dcmfg/fgseg.h" #include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/dcmdata/dcxfer.h" +#include "dcmtk/dcmdata/dcdict.h" #include "dcmtk/ofstd/ofmem.h" -#include "dcmtk/ofstd/ofstrutl.h" #include "dcmtk/ofstd/oftempf.h" #include "dcmtk/ofstd/oftest.h" diff --git a/dcmseg/tests/tutils.cc b/dcmseg/tests/tutils.cc index 36298f2c..37405859 100644 --- a/dcmseg/tests/tutils.cc +++ b/dcmseg/tests/tutils.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2018, OFFIS e.V. + * Copyright (C) 2015-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -21,52 +21,211 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcmtk/dcmiod/iodutil.h" +#include "dcmtk/dcmiod/iodtypes.h" #include "dcmtk/dcmseg/segutils.h" #include "dcmtk/ofstd/oftest.h" +#include "dcmtk/ofstd/ofstd.h" #define bufLen 4 -static void resetBuf(Uint8* buf, const size_t length) + +// Check whether packing of sparse frames into binary packed frames works correctly +OFTEST(dcmseg_packBinaryFrame) +{ + + // Check whether the following statically defined frames are packed correctly + Uint8 sparseFrame1[8] = {1, 1, 1, 1, 0, 0, 0, 0}; + DcmIODTypes::Frame* packed = DcmSegUtils::packBinaryFrame(sparseFrame1, 4, 2); + OFCHECK(packed != NULL); + OFCHECK(packed->length == 1); + OFCHECK_MSG(packed->pixData[0] == 0b00001111, OFString("Expected 0b00001111, got ") + DcmSegUtils::debugByte2Bin(packed->pixData[0])); + delete packed; + + Uint8 sparseFrame2[8] = {1, 0, 1, 0, 1, 0, 1, 0}; + packed = DcmSegUtils::packBinaryFrame(sparseFrame2, 4, 2); + OFCHECK(packed != NULL); + OFCHECK(packed->length == 1); + OFCHECK_MSG(packed->pixData[0] == 0b01010101, OFString("Expected 0b01010101, got ") + DcmSegUtils::debugByte2Bin(packed->pixData[0])); + delete packed; + + // Now try the that is larger than a byte and not a multiple of 8, with every third pixel set to 1 + Uint8 sparseFrame3[15] = {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1}; + packed = DcmSegUtils::packBinaryFrame(sparseFrame3, 5, 3); + OFCHECK(packed != NULL); + OFCHECK(packed->length == 2); + OFCHECK_MSG(packed->pixData[0] == 0b00100100, OFString("Expected 0b00100100, got ") + DcmSegUtils::debugByte2Bin(packed->pixData[0])); + OFCHECK_MSG(packed->pixData[1] == 0b01001001, OFString("Expected 0b01001001, got ") + DcmSegUtils::debugByte2Bin(packed->pixData[1])); + delete packed; + + // Now the same but with every 5th pixel set to 1, and rows=7 and cols=5 + Uint8 sparseFrame4[35]; + memset(sparseFrame4, 0, 35); + for (int i = 0; i < 35; i += 5) + { + sparseFrame4[i] = 1; + } + packed = DcmSegUtils::packBinaryFrame(sparseFrame4, 7, 5); + OFCHECK(packed != NULL); + OFCHECK(packed->length == 5); + OFCHECK_MSG(packed->pixData[0] == 0b00100001, OFString("Expected 0b00100001, got ") + DcmSegUtils::debugByte2Bin(packed->pixData[0])); + OFCHECK_MSG(packed->pixData[1] == 0b10000100, OFString("Expected 0b10000100, got ") + DcmSegUtils::debugByte2Bin(packed->pixData[1])); + OFCHECK_MSG(packed->pixData[2] == 0b00010000, OFString("Expected 0b00010000, got ") + DcmSegUtils::debugByte2Bin(packed->pixData[2])); + OFCHECK_MSG(packed->pixData[3] == 0b01000010, OFString("Expected 0b01000010, got ") + DcmSegUtils::debugByte2Bin(packed->pixData[3])); + OFCHECK_MSG(packed->pixData[4] == 0b00000000, OFString("Expected 0b00000000, got ") + DcmSegUtils::debugByte2Bin(packed->pixData[4])); + + // In 1000 iterations create sparse frames and pack them. Check whether the + // packed frame is correct. This is not bullet proof but we use the same addressing + // as in the packing/unpacking code to make sure we address the right bit. + // Use a random number of cols and rows (each between 1 and 100). + // If the packed frame is not correct, the test fails. + unsigned int now = OFstatic_cast(unsigned int, time(NULL)); + for (unsigned int i = 0; i < 1000; i++) + { + Uint16 cols = OFrand_r(now) % 100 + 1; + Uint16 rows = OFrand_r(now) % 100 + 1; + Uint16 pixelCount = cols * rows; + + Uint8* sparseFrame = new Uint8[pixelCount]; + OFCHECK(sparseFrame != NULL); + + // Create a random sparse frame + for (unsigned int j = 0; j < pixelCount; j++) + { + sparseFrame[j] = OFrand_r(now) % 2; + } + + // Pack the frame + DcmIODTypes::Frame* packedFrame = DcmSegUtils::packBinaryFrame(sparseFrame, rows, cols); + OFCHECK(packedFrame != NULL); + + // Check the result + for (unsigned int j = 0; j < pixelCount; j++) + { + Uint32 byteIndex = j / 8; + Uint32 bitIndex = j % 8; + Uint8 mask = 1 << bitIndex; + if ((sparseFrame[j] != 0) != ((packedFrame->pixData[byteIndex] & mask) != 0)) + { + OFCHECK_FAIL("Failed for row " << j / cols << " and column " << j % cols); + } + } + + delete[] sparseFrame; + delete packedFrame; + } +} + +OFTEST(dcmseg_packAndUnpackBinaryFrame) +{ + + // Make 1000 iterations, using a random number of cols and rows (each between 1 and 100). + // In each iteration, create a random "sparse" frame, pack it, unpack it and compare the result. + // If the result is not the same, the test fails. + unsigned int now = OFstatic_cast(unsigned int, time(NULL)); + for (unsigned int i = 0; i < 1000; i++) + { + Uint16 cols = OFrand_r(now) % 100 + 1; + Uint16 rows = OFrand_r(now) % 100 + 1 ; + Uint16 pixelCount = cols * rows; + + Uint8* sparseFrame = new Uint8[pixelCount]; + OFCHECK(sparseFrame != NULL); + DcmIODTypes::Frame* packed; + DcmIODTypes::Frame* unpacked; + + // Create a random sparse frame + for (unsigned int j = 0; j < pixelCount; j++) + { + sparseFrame[j] = OFrand_r(now) % 2; + } + + // Pack and unpack the frame + packed = DcmSegUtils::packBinaryFrame(sparseFrame, rows, cols); + OFCHECK(packed != NULL); + unpacked = DcmSegUtils::unpackBinaryFrame(packed, rows, cols); + OFCHECK(unpacked != NULL); + + // Compare the result + OFCHECK(memcmp(sparseFrame, unpacked->pixData, pixelCount) == 0); + + delete[] sparseFrame; + delete packed; + delete unpacked; + } + + // Do the same with frame completely 0, and 1 (i.e. all bits set), respectively + for (int i = 0; i < 10; ++i) { + Uint16 rows = OFrand_r(now) % 100 + 1; + Uint16 cols = OFrand_r(now) % 100 + 1; + Uint16 pixelCount = rows * cols; + + Uint8* sparseFrame = new Uint8[pixelCount]; + OFCHECK(sparseFrame != NULL); + memset(sparseFrame, 0, pixelCount); + DcmIODTypes::Frame* packed = DcmSegUtils::packBinaryFrame(sparseFrame, rows, cols); + OFCHECK(packed != NULL); + DcmIODTypes::Frame* unpacked = DcmSegUtils::unpackBinaryFrame(packed, rows, cols); + OFCHECK(unpacked != NULL); + OFCHECK(memcmp(sparseFrame, unpacked->pixData, pixelCount) == 0); + delete packed; + delete unpacked; + + memset(sparseFrame, 1, pixelCount); + packed = DcmSegUtils::packBinaryFrame(sparseFrame, rows, cols); + OFCHECK(packed != NULL); + unpacked = DcmSegUtils::unpackBinaryFrame(packed, rows, cols); + OFCHECK(unpacked != NULL); + OFCHECK(memcmp(sparseFrame, unpacked->pixData, pixelCount) == 0); + delete packed; + delete unpacked; + + delete[] sparseFrame; + } +} + +OFTEST(dcmseg_concatBinaryFrames) +{ + // Test with two frames that will overlap in the packed frame within one byte + const int rows = 3; + const int cols = 4; + Uint8 sparseFrame1[rows * cols] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; + Uint8 sparseFrame2[rows * cols] = {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; + DcmIODTypes::Frame* packed1 = DcmSegUtils::packBinaryFrame(sparseFrame1, rows, cols); + DcmIODTypes::Frame* packed2 = DcmSegUtils::packBinaryFrame(sparseFrame2, rows, cols); + OFCHECK(packed1 != NULL); + OFCHECK(packed2 != NULL); + OFVector inputFrames; + inputFrames.push_back(packed1); + inputFrames.push_back(packed2); + // Now concatenate the two frames into a single bit array + Uint8* pixData = new Uint8[2 * rows * cols]; + OFCHECK(pixData != NULL); + OFCondition result = DcmSegUtils::concatBinaryFrames(inputFrames, rows, cols, pixData, 2 * rows * cols); + OFCHECK(result.good()); + // Check the result + OFCHECK_MSG(pixData[0] == 0b11111111, OFString("Expected 0b11111111, got ") + DcmSegUtils::debugByte2Bin(pixData[0])); + OFCHECK_MSG(pixData[1] == 0b11101111, OFString("Expected 0b11101111, got ") + DcmSegUtils::debugByte2Bin(pixData[1])); + OFCHECK_MSG(pixData[2] == 0b11111111, OFString("Expected 0b11111111, got ") + DcmSegUtils::debugByte2Bin(pixData[2])); +} + +// Test DcmSegUtils::debugByte2Bin() +OFTEST(dcmseg_debugByte2Bin) { - if (length != bufLen) - return; - buf[0] = 170; // 10101010 - buf[1] = 204; // 11001100 - buf[2] = 240; // 11110000 - buf[3] = 15; // 00001111 + // Test with all possible bit positions, at least + OFCHECK(DcmSegUtils::debugByte2Bin(0) == "00000000"); + OFCHECK(DcmSegUtils::debugByte2Bin(1) == "00000001"); + OFCHECK(DcmSegUtils::debugByte2Bin(2) == "00000010"); + OFCHECK(DcmSegUtils::debugByte2Bin(4) == "00000100"); + OFCHECK(DcmSegUtils::debugByte2Bin(8) == "00001000"); + OFCHECK(DcmSegUtils::debugByte2Bin(16) == "00010000"); + OFCHECK(DcmSegUtils::debugByte2Bin(32) == "00100000"); + OFCHECK(DcmSegUtils::debugByte2Bin(64) == "01000000"); + OFCHECK(DcmSegUtils::debugByte2Bin(128) == "10000000"); + OFCHECK(DcmSegUtils::debugByte2Bin(255) == "11111111"); } + OFTEST(dcmseg_utils) { - // buf, always initialized/reset with: 10101010 11001100 11110000 00001111 - Uint8 buf[bufLen]; - - resetBuf(buf, bufLen); - DcmSegUtils::alignFrameOnBitPosition(buf, 4, 2); - OFCHECK(buf[0] == 168); // 10101000 - OFCHECK(buf[1] == 50); // 00110010 - OFCHECK(buf[2] == 195); // 11000011 - OFCHECK(buf[3] == 63); // 00111111 - - resetBuf(buf, bufLen); - DcmSegUtils::alignFrameOnByteBoundary(buf, 4, 2); - OFCHECK(buf[0] == 42); // 00101010 - OFCHECK(buf[1] == 51); // 00110011 - OFCHECK(buf[2] == 252); // 11111100 - OFCHECK(buf[3] == 3); // 00000011 - - resetBuf(buf, bufLen); - DcmSegUtils::alignFrameOnBitPosition(buf, 4, 7); - OFCHECK(buf[0] == 0); - OFCHECK(buf[1] == 85); // 01010101 - OFCHECK(buf[2] == 102); // 01100110 - OFCHECK(buf[3] == 248); // 11111000 - - resetBuf(buf, bufLen); - DcmSegUtils::alignFrameOnByteBoundary(buf, 4, 7); - OFCHECK(buf[0] == 153); // 10011001 - OFCHECK(buf[1] == 225); // 11100001 - OFCHECK(buf[2] == 31); // 00011111 - OFCHECK(buf[3] == 0); + } diff --git a/dcmsign/apps/Makefile.dep b/dcmsign/apps/Makefile.dep index 05477aab..ef259074 100644 --- a/dcmsign/apps/Makefile.dep +++ b/dcmsign/apps/Makefile.dep @@ -13,9 +13,9 @@ dcmsign.o: dcmsign.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -47,7 +47,6 @@ dcmsign.o: dcmsign.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -57,6 +56,7 @@ dcmsign.o: dcmsign.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmsign/sipurpos.h ../include/dcmtk/dcmsign/dcsighlp.h \ ../include/dcmtk/dcmsign/sinullpr.h ../include/dcmtk/dcmsign/sisprof.h \ ../include/dcmtk/dcmsign/sibrsapr.h ../include/dcmtk/dcmsign/siautopr.h \ diff --git a/dcmsign/docs/dcmsign.man b/dcmsign/docs/dcmsign.man index e5738880..998ecb38 100644 --- a/dcmsign/docs/dcmsign.man +++ b/dcmsign/docs/dcmsign.man @@ -582,6 +582,6 @@ It is an error if no data dictionary can be loaded. \section dcmsign_copyright COPYRIGHT -Copyright (C) 2000-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2000-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmsign/libsrc/CMakeLists.txt b/dcmsign/libsrc/CMakeLists.txt index 0faefeeb..5a5f398d 100644 --- a/dcmsign/libsrc/CMakeLists.txt +++ b/dcmsign/libsrc/CMakeLists.txt @@ -24,6 +24,6 @@ DCMTK_ADD_LIBRARY(dcmdsig DCMTK_TARGET_LINK_MODULES(dcmdsig ofstd dcmdata) DCMTK_TARGET_LINK_LIBRARIES(dcmdsig ${OPENSSL_LIBS}) -if (TARGET dcmdsig) +if(TARGET dcmdsig) set_property(TARGET dcmdsig PROPERTY OUTPUT_NAME "dcmdsig${DCMTK_TLS_LIBRARY_POSTFIX}") endif() diff --git a/dcmsign/libsrc/Makefile.dep b/dcmsign/libsrc/Makefile.dep index 8dbb82db..344949ea 100644 --- a/dcmsign/libsrc/Makefile.dep +++ b/dcmsign/libsrc/Makefile.dep @@ -5,8 +5,8 @@ dcsighlp.o: dcsighlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -38,6 +38,7 @@ dcsighlp.o: dcsighlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmsign/sidefine.h ../include/dcmtk/dcmsign/sipurpos.h \ ../include/dcmtk/dcmsign/sitypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ @@ -56,7 +57,6 @@ dcsighlp.o: dcsighlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -82,9 +82,9 @@ dcsignat.o: dcsignat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -121,6 +121,7 @@ dcsignat.o: dcsignat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../include/dcmtk/dcmsign/sipurpos.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -128,7 +129,6 @@ dcsignat.o: dcsignat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -166,9 +166,9 @@ siautopr.o: siautopr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -205,6 +205,7 @@ siautopr.o: siautopr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -213,7 +214,6 @@ siautopr.o: siautopr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -229,9 +229,9 @@ sibrsapr.o: sibrsapr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -268,6 +268,7 @@ sibrsapr.o: sibrsapr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def @@ -278,9 +279,9 @@ sicert.o: sicert.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -319,7 +320,6 @@ sicert.o: sicert.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -328,6 +328,7 @@ sicert.o: sicert.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -348,9 +349,9 @@ sicertvf.o: sicertvf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -389,9 +390,9 @@ sicreapr.o: sicreapr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -428,6 +429,7 @@ sicreapr.o: sicreapr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -436,7 +438,6 @@ sicreapr.o: sicreapr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -451,9 +452,9 @@ simaccon.o: simaccon.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -492,11 +493,11 @@ simaccon.o: simaccon.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -522,9 +523,9 @@ simdmac.o: simdmac.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -565,9 +566,9 @@ sinullpr.o: sinullpr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -603,7 +604,8 @@ sinullpr.o: sinullpr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h sipkey.o: sipkey.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsign/sipkey.h ../include/dcmtk/dcmsign/sialgo.h \ ../include/dcmtk/dcmsign/sitypes.h \ @@ -612,9 +614,9 @@ sipkey.o: sipkey.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -653,9 +655,9 @@ siprivat.o: siprivat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -736,7 +738,6 @@ sipurpos.o: sipurpos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -745,6 +746,7 @@ sipurpos.o: sipurpos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ @@ -756,9 +758,9 @@ sisprof.o: sisprof.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -795,12 +797,12 @@ sisprof.o: sisprof.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -822,9 +824,9 @@ sisrpr.o: sisrpr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -861,6 +863,7 @@ sisrpr.o: sisrpr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -869,7 +872,6 @@ sisrpr.o: sisrpr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -886,9 +888,9 @@ sisrvpr.o: sisrvpr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -925,6 +927,7 @@ sisrvpr.o: sisrvpr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -933,7 +936,6 @@ sisrvpr.o: sisrvpr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -949,9 +951,9 @@ sitsfs.o: sitsfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -990,7 +992,6 @@ sitsfs.o: sitsfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -999,6 +1000,7 @@ sitsfs.o: sitsfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1015,9 +1017,9 @@ sitstamp.o: sitstamp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -1055,7 +1057,6 @@ sitstamp.o: sitstamp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -1063,6 +1064,7 @@ sitstamp.o: sitstamp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1083,9 +1085,9 @@ sitypes.o: sitypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ diff --git a/dcmsign/libsrc/dcsighlp.cc b/dcmsign/libsrc/dcsighlp.cc index 080a8d6f..a2e03f9a 100644 --- a/dcmsign/libsrc/dcsighlp.cc +++ b/dcmsign/libsrc/dcsighlp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2021, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -42,6 +42,7 @@ #include "dcmtk/dcmsign/sisrvpr.h" /* for class SiStructuredReportingVerificationProfile */ #include "dcmtk/ofstd/ofexit.h" /* for common exit codes */ #include "dcmtk/dcmsign/siexit.h" /* for dcmsign specific exit codes */ +#include "dcmtk/ofstd/ofstd.h" DcmSignatureHelper::DcmSignatureHelper() @@ -57,7 +58,7 @@ int DcmSignatureHelper::readNextToken(const char *c, int& pos, DcmTagKey& key, U OFString aString; int lpos = pos; int spos = 0; - while(isspace(OFstatic_cast(unsigned char, c[lpos]))) ++lpos; // ignore leading space + while(OFStandard::isspace(c[lpos])) ++lpos; // ignore leading space if (c[lpos]=='\0') return -1; // EOF if (c[lpos]=='.') @@ -293,7 +294,7 @@ void DcmSignatureHelper::printSignatureItemPosition(DcmStack& stack, OFString& s { if (sq->getItem(m) == elem) { - sprintf(buf, "[%lu]", m); + OFStandard::snprintf(buf, sizeof(buf), "[%lu]", m); str.append(buf); } } @@ -306,7 +307,7 @@ void DcmSignatureHelper::printSignatureItemPosition(DcmStack& stack, OFString& s tagname = currentTag.getTagName(); if (tagname) str.append(tagname); else { - sprintf(buf, "(%04x,%04x)", elem->getTag().getGroup(), elem->getTag().getElement()); + OFStandard::snprintf(buf, sizeof(buf), "(%04x,%04x)", elem->getTag().getGroup(), elem->getTag().getElement()); str.append(buf); } if (elem->ident() == EVR_SQ) sq = OFstatic_cast(DcmSequenceOfItems *, elem); else sq = NULL; diff --git a/dcmsign/libsrc/dcsignat.cc b/dcmsign/libsrc/dcsignat.cc index b104ec1e..f59ab1ed 100644 --- a/dcmsign/libsrc/dcsignat.cc +++ b/dcmsign/libsrc/dcsignat.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2023, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -104,7 +104,7 @@ OFCondition DcmSignature::getMACIDnumber(DcmItem &item, Uint16& macid) macid = 0xFFFF; DcmStack stack; OFCondition result = item.search(DCM_MACIDNumber, stack, ESM_fromHere, OFFalse); - if (result.good() && (stack.top()->isLeaf())) + if (result.good() && (stack.top()->isElement())) { result = ((DcmElement *)(stack.top()))->getUint16(macid); } @@ -515,7 +515,7 @@ OFCondition DcmSignature::createSignature( char c[5]; for (size_t i=0; igetDefinedTerm() << " MAC = " << logString); @@ -960,7 +960,7 @@ OFCondition DcmSignature::getCurrentMacXferSyntaxName(OFString& str) DcmStack stack; // read MAC Calculation Transfer Syntax UID - if ((selectedMacParametersItem->search(DCM_MACCalculationTransferSyntaxUID, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isLeaf())) + if ((selectedMacParametersItem->search(DCM_MACCalculationTransferSyntaxUID, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isElement())) { char *uid = NULL; if ((((DcmElement *)(stack.top()))->getString(uid)).good() && uid) @@ -1005,7 +1005,7 @@ OFCondition DcmSignature::getCurrentMacName(OFString& str) DcmStack stack; // read MAC Algorithm - if ((selectedMacParametersItem->search(DCM_MACAlgorithm, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isLeaf())) + if ((selectedMacParametersItem->search(DCM_MACAlgorithm, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isElement())) { if ((((DcmElement *)(stack.top()))->getOFString(str, 0)).good()) result = EC_Normal; } @@ -1020,7 +1020,7 @@ OFCondition DcmSignature::getCurrentSignatureUID(OFString& str) DcmStack stack; // read signature UID - if ((selectedSignatureItem->search(DCM_DigitalSignatureUID, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isLeaf())) + if ((selectedSignatureItem->search(DCM_DigitalSignatureUID, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isElement())) { if ((((DcmElement *)(stack.top()))->getOFString(str, 0)).good()) result = EC_Normal; } @@ -1048,7 +1048,7 @@ OFCondition DcmSignature::getCurrentSignatureDateTime(OFString& str) DcmStack stack; // read signature date/time - if ((selectedSignatureItem->search(DCM_DigitalSignatureDateTime, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isLeaf())) + if ((selectedSignatureItem->search(DCM_DigitalSignatureDateTime, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isElement())) { if ((((DcmElement *)(stack.top()))->getOFString(str, 0)).good()) result = EC_Normal; } @@ -1119,7 +1119,7 @@ OFCondition DcmSignature::verifySignatureProfile(SiSecurityProfile &sprof) // check MAC Calculation Transfer Syntax UID if (result.good()) { - if ((selectedMacParametersItem->search(DCM_MACCalculationTransferSyntaxUID, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isLeaf())) + if ((selectedMacParametersItem->search(DCM_MACCalculationTransferSyntaxUID, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isElement())) { char *uid = NULL; if ((((DcmElement *)(stack.top()))->getString(uid)).good()) @@ -1142,7 +1142,7 @@ OFCondition DcmSignature::verifySignatureProfile(SiSecurityProfile &sprof) { E_MACType mac = EMT_RIPEMD160; stack.clear(); - if ((selectedMacParametersItem->search(DCM_MACAlgorithm, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isLeaf())) + if ((selectedMacParametersItem->search(DCM_MACAlgorithm, stack, ESM_fromHere, OFFalse)).good() && (stack.top()->isElement())) { OFString macidentifier; if ((((DcmElement *)(stack.top()))->getOFString(macidentifier, 0)).good()) diff --git a/dcmsign/libsrc/sicert.cc b/dcmsign/libsrc/sicert.cc index 683f4f1a..0668b72c 100644 --- a/dcmsign/libsrc/sicert.cc +++ b/dcmsign/libsrc/sicert.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -40,18 +40,6 @@ BEGIN_EXTERN_C #include END_EXTERN_C -#ifndef HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE -#define X509_get0_notBefore(x) X509_get_notBefore(x) -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER -#define X509_get0_notAfter(x) X509_get_notAfter(x) -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID -#define EVP_PKEY_id(key) key->type -#endif - SiCertificate::SiCertificate() : x509(NULL) @@ -147,7 +135,7 @@ OFCondition SiCertificate::read(DcmItem& item) OFString aString; DcmStack stack; result = item.search(DCM_CertificateType, stack, ESM_fromHere, OFFalse); - if (result.good()) + if (result.good() && stack.top()->isElement()) { result = ((DcmElement *)(stack.top()))->getOFString(aString, 0); if (result.good()) @@ -156,7 +144,7 @@ OFCondition SiCertificate::read(DcmItem& item) { stack.clear(); result = item.search(DCM_CertificateOfSigner, stack, ESM_fromHere, OFFalse); - if (result.good()) + if (result.good() && stack.top()->isElement()) { DcmElement *cert = (DcmElement *)stack.top(); Uint8 *data = NULL; diff --git a/dcmsign/libsrc/siprivat.cc b/dcmsign/libsrc/siprivat.cc index c42d52aa..44993951 100644 --- a/dcmsign/libsrc/siprivat.cc +++ b/dcmsign/libsrc/siprivat.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2021, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -34,9 +34,6 @@ BEGIN_EXTERN_C #include END_EXTERN_C -#ifndef HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID -#define EVP_PKEY_id(key) key->type -#endif /* buf : buffer to write password into * size : length of buffer in bytes diff --git a/dcmsign/libsrc/sitstamp.cc b/dcmsign/libsrc/sitstamp.cc index 8724c10c..7305d3be 100644 --- a/dcmsign/libsrc/sitstamp.cc +++ b/dcmsign/libsrc/sitstamp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019-2022, OFFIS e.V. + * Copyright (C) 2019-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -43,45 +43,6 @@ BEGIN_EXTERN_C #include END_EXTERN_C -#ifndef HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE -#define X509_get0_notBefore(x) X509_get_notBefore(x) -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER -#define X509_get0_notAfter(x) X509_get_notAfter(x) -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS -#define TS_STATUS_INFO_get0_status(x) (x)->status -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT -#define TS_STATUS_INFO_get0_text(x) (x)->text -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO -#define TS_STATUS_INFO_get0_failure_info(x) (x)->failure_info -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS -#define TS_VERIFY_CTS_set_certs(x,y) ((x)->certs = (y)) -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA -#define TS_VERIFY_CTX_set_data(x,y) ((x)->data = (y)) -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS -#define TS_VERIFY_CTX_set_flags(x,y) ((x)->flags = (y)) -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE -#define TS_VERIFY_CTX_set_store(x,y) ((x)->store = (y)) -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA -#define ASN1_STRING_get0_data(x) ASN1_STRING_data((asn1_string_st*)x) -#endif /// maximum length of the integer nonce, in bytes #define NONCE_LENGTH 8 @@ -641,13 +602,8 @@ OFCondition SiTimeStamp::check_ts_response( SiMAC *mac = NULL; if (result.good()) { -#ifndef HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM - ASN1_OBJECT *mac_oid = NULL; - void *ppval = NULL; -#else const ASN1_OBJECT *mac_oid = NULL; const void *ppval = NULL; -#endif int pptype = 0; X509_ALGOR_get0(&mac_oid, &pptype, &ppval, ts_info_algo); if (mac_oid == NULL) @@ -1311,12 +1267,24 @@ OFCondition SiTimeStamp::verifyTSToken( { // set the digital signature as the raw data against which // the imprint in the timestamp ticket should be checked +#ifdef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET0_STORE + TS_VERIFY_CTX_set0_data(ctx, bio); +#else TS_VERIFY_CTX_set_data(ctx, bio); +#endif // set certificate store and stack. Needed to verify that // the TSA field in the timestamp ticket matches the signer certificate - TS_VERIFY_CTX_set_store(ctx, cv.getTrustedCertStore()); - TS_VERIFY_CTS_set_certs(ctx, cv.getUntrustedCerts()); + X509_STORE *tc_store = cv.getTrustedCertStore(); + stack_st_X509 *untrusted_certs = cv.getUntrustedCerts(); +#ifdef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET0_STORE + TS_VERIFY_CTX_set0_store(ctx, tc_store); + X509_STORE_up_ref(tc_store); + TS_VERIFY_CTX_set0_certs(ctx, X509_chain_up_ref(untrusted_certs)); +#else + TS_VERIFY_CTX_set_store(ctx, tc_store); + TS_VERIFY_CTS_set_certs(ctx, untrusted_certs); +#endif // run the verification function if (! TS_RESP_verify_token(ctx, ts_)) @@ -1325,7 +1293,9 @@ OFCondition SiTimeStamp::verifyTSToken( errorCode_ = ERR_get_error(); } - BIO_free(bio); +#ifndef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET0_STORE + BIO_free(bio); +#endif } else { @@ -1336,10 +1306,12 @@ OFCondition SiTimeStamp::verifyTSToken( } } +#ifndef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET0_STORE // prevent TS_VERIFY_CTX_free from double-deleting our objects TS_VERIFY_CTX_set_data(ctx, NULL); TS_VERIFY_CTX_set_store(ctx, NULL); TS_VERIFY_CTS_set_certs(ctx, NULL); +#endif TS_VERIFY_CTX_free(ctx); } diff --git a/dcmsr/apps/Makefile.dep b/dcmsr/apps/Makefile.dep index 07782a13..242f5128 100644 --- a/dcmsr/apps/Makefile.dep +++ b/dcmsr/apps/Makefile.dep @@ -11,8 +11,8 @@ dsr2html.o: dsr2html.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -48,6 +48,7 @@ dsr2html.o: dsr2html.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -57,7 +58,6 @@ dsr2html.o: dsr2html.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -156,8 +156,8 @@ dsr2xml.o: dsr2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -193,6 +193,7 @@ dsr2xml.o: dsr2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -202,7 +203,6 @@ dsr2xml.o: dsr2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -301,8 +301,8 @@ dsrdump.o: dsrdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -338,6 +338,7 @@ dsrdump.o: dsrdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -347,7 +348,6 @@ dsrdump.o: dsrdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -446,8 +446,8 @@ xml2dsr.o: xml2dsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -483,6 +483,7 @@ xml2dsr.o: xml2dsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -492,7 +493,6 @@ xml2dsr.o: xml2dsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ diff --git a/dcmsr/apps/dsr2html.cc b/dcmsr/apps/dsr2html.cc index 6f03f92b..469611ed 100644 --- a/dcmsr/apps/dsr2html.cc +++ b/dcmsr/apps/dsr2html.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2022, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -86,7 +86,7 @@ static OFCondition checkCharacterSet(const char *ifname, OFLOG_ERROR(dsr2htmlLogger, OFFIS_CONSOLE_APPLICATION << ": SpecificCharacterSet (0008,0005) " << "element absent (on the main data set level) but extended characters used in file: " << ifname); OFLOG_DEBUG(dsr2htmlLogger, "use option --charset-assume to manually specify an appropriate character set"); - result = makeOFCondition(OFM_dcmdata, EC_CODE_CannotSelectCharacterSet, OF_error, "Missing Specific Character Set");; + result = makeOFCondition(OFM_dcmdata, EC_CODE_CannotSelectCharacterSet, OF_error, "Missing Specific Character Set"); } else { result = EC_Normal; csetString = defaultCharset; @@ -169,6 +169,7 @@ static OFCondition renderFile(STD_NAMESPACE ostream &out, const char *ifname, DcmFileFormat &dfile, const char *cssName, + const char *urlPrefix, const size_t readFlags, const size_t renderFlags) { @@ -181,7 +182,7 @@ static OFCondition renderFile(STD_NAMESPACE ostream &out, if (result.good()) { /* render document in HTML format and write it to the output stream */ - result = dsrdoc.renderHTML(out, renderFlags, cssName); + result = dsrdoc.renderHTML(out, renderFlags, cssName, urlPrefix); } else { OFLOG_FATAL(dsr2htmlLogger, OFFIS_CONSOLE_APPLICATION << ": error (" << result.text() << ") parsing file: " << ifname); /* make sure that the caller does not report this error, too */ @@ -201,6 +202,7 @@ int main(int argc, char *argv[]) size_t opt_readFlags = 0; size_t opt_renderFlags = DSRTypes::HF_renderDcmtkFootnote; const char *opt_cssName = NULL; + const char *opt_urlPrefix = NULL; const char *opt_defaultCharset = NULL; E_FileReadMode opt_readMode = ERM_autoDetect; E_TransferSyntax opt_ixfer = EXS_Unknown; @@ -245,7 +247,7 @@ int main(int argc, char *argv[]) cmd.addSubGroup("character set:"); cmd.addOption("--charset-require", "+Cr", "require declaration of ext. charset (default)"); cmd.addOption("--charset-assume", "+Ca", 1, "[c]harset: string", - "assume charset c if no extended charset declared"); + "assume charset c if no ext. charset declared"); cmd.addOption("--charset-check-all", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST, UC and UT)"); #ifdef DCMTK_ENABLE_CHARSET_CONVERSION cmd.addOption("--convert-to-utf8", "+U8", "convert all element values that are affected\nby Specific Character Set (0008,0005) to UTF-8"); @@ -267,6 +269,8 @@ int main(int argc, char *argv[]) cmd.addOption("--always-expand-inline", "+Ra", "always expand content items inline"); cmd.addOption("--render-full-data", "+Rd", "render full data of content items"); cmd.addOption("--section-title-inline", "+Rt", "render section titles inline, not separately"); + cmd.addOption("--hyperlink-url-prefix", "+Rh", 1, "[p]refix: string", + "use URL prefix p for hyperlinks to composite\nobjects (default: " DEFAULT_HTML_HYPERLINK_PREFIX_FOR_COMPOSITE_OBJECTS ")"); cmd.addSubGroup("document rendering:"); cmd.addOption("--document-type-title", "+Dt", "use document type as document title (default)"); cmd.addOption("--patient-info-title", "+Dp", "use patient information as document title"); @@ -423,6 +427,9 @@ int main(int argc, char *argv[]) if (cmd.findOption("--section-title-inline")) opt_renderFlags |= DSRTypes::HF_renderSectionTitlesInline; + if (cmd.findOption("--hyperlink-url-prefix")) + app.checkValue(cmd.getValue(opt_urlPrefix)); + /* document rendering */ cmd.beginOptionBlock(); if (cmd.findOption("--document-type-title")) @@ -499,7 +506,7 @@ int main(int argc, char *argv[]) if (stream.good()) { /* render to output file */ - status = renderFile(stream, ifname, dfile, opt_cssName, opt_readFlags, opt_renderFlags); + status = renderFile(stream, ifname, dfile, opt_cssName, opt_urlPrefix, opt_readFlags, opt_renderFlags); if (status.bad() && (status != EC_InternalError)) { OFLOG_FATAL(dsr2htmlLogger, OFFIS_CONSOLE_APPLICATION << ": error (" << status.text() << ") writing file: "<< ofname); @@ -509,7 +516,7 @@ int main(int argc, char *argv[]) result = 1; } else { /* use standard output */ - status = renderFile(COUT, ifname, dfile, opt_cssName, opt_readFlags, opt_renderFlags); + status = renderFile(COUT, ifname, dfile, opt_cssName, opt_urlPrefix, opt_readFlags, opt_renderFlags); if (status.bad() && (status != EC_InternalError)) { OFLOG_FATAL(dsr2htmlLogger, OFFIS_CONSOLE_APPLICATION << ": error (" << status.text() << ") writing to standard output"); diff --git a/dcmsr/apps/dsr2xml.cc b/dcmsr/apps/dsr2xml.cc index 5d90813d..48371687 100644 --- a/dcmsr/apps/dsr2xml.cc +++ b/dcmsr/apps/dsr2xml.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2022, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -86,7 +86,7 @@ static OFCondition checkCharacterSet(const char *ifname, OFLOG_ERROR(dsr2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": SpecificCharacterSet (0008,0005) " << "element absent (on the main data set level) but extended characters used in file: " << ifname); OFLOG_DEBUG(dsr2xmlLogger, "use option --charset-assume to manually specify an appropriate character set"); - result = makeOFCondition(OFM_dcmdata, EC_CODE_CannotSelectCharacterSet, OF_error, "Missing Specific Character Set");; + result = makeOFCondition(OFM_dcmdata, EC_CODE_CannotSelectCharacterSet, OF_error, "Missing Specific Character Set"); } else { result = EC_Normal; csetString = defaultCharset; diff --git a/dcmsr/apps/xml2dsr.cc b/dcmsr/apps/xml2dsr.cc index da5d2c29..054e58d4 100644 --- a/dcmsr/apps/xml2dsr.cc +++ b/dcmsr/apps/xml2dsr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2022, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -56,18 +56,6 @@ static char rcsid[] = "$dcmtk: " OFFIS_CONSOLE_APPLICATION " v" #define LIBXML_ATTR_FORMAT(fmt,args) #endif -// The libxml library also uses unicode. So we have to reuse some -// workarounds for the ICU library here as well. -// The type char16_t is only supported since C++11. -#ifndef HAVE_CHAR16_T -#define UCHAR_TYPE uint16_t -#endif - -//If U_NOEXCEPT is not defined, ICU falls back to NOEXCEPT. -#ifndef HAVE_CXX11 -#define U_NOEXCEPT -#endif - #include diff --git a/dcmsr/data/CMakeLists.txt b/dcmsr/data/CMakeLists.txt index 3d68d772..34f0232e 100644 --- a/dcmsr/data/CMakeLists.txt +++ b/dcmsr/data/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES dsr2xml.xsd report.css reportx.css DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}" COMPONENT data) +install(FILES dsr2xml.xsd report.css reportx.css DESTINATION "${CMAKE_INSTALL_DATADIR}" COMPONENT data) diff --git a/dcmsr/data/dsr2xml.xsd b/dcmsr/data/dsr2xml.xsd index 3caba72a..7230eb2e 100644 --- a/dcmsr/data/dsr2xml.xsd +++ b/dcmsr/data/dsr2xml.xsd @@ -10,7 +10,7 @@ XML Schema for DCMTK tools dsr2xml and xml2dsr. - Copyright (C) 2003-2022, OFFIS e.V. and J. Riesmeier + Copyright (C) 2003-2024, OFFIS e.V. and J. Riesmeier All rights reserved. See COPYRIGHT file for details. @@ -742,6 +742,7 @@ + @@ -853,6 +854,7 @@ + diff --git a/dcmsr/docs/dsr2html.man b/dcmsr/docs/dsr2html.man index 8cbbdbba..fe3bdd48 100644 --- a/dcmsr/docs/dsr2html.man +++ b/dcmsr/docs/dsr2html.man @@ -191,6 +191,10 @@ general rendering: +Rt --section-title-inline render section titles inline, not separately + +Rh --hyperlink-url-prefix [p]refix: string + use URL prefix p for hyperlinks to composite objects + (default: http://localhost/dicom.cgi) + document rendering: +Dt --document-type-title @@ -252,6 +256,7 @@ SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72 PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.73 PlannedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.74 PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75 +WaveformAnnotationSRStorage 1.2.840.10008.5.1.4.1.1.88.77 \endverbatim \subsection dsr2html_character_encoding Character Encoding @@ -369,6 +374,6 @@ replace any built-in tables. \section dsr2html_copyright COPYRIGHT -Copyright (C) 2000-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2000-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmsr/docs/dsr2xml.man b/dcmsr/docs/dsr2xml.man index d668c241..35a65e7a 100644 --- a/dcmsr/docs/dsr2xml.man +++ b/dcmsr/docs/dsr2xml.man @@ -219,6 +219,7 @@ SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72 PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.73 PlannedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.74 PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75 +WaveformAnnotationSRStorage 1.2.840.10008.5.1.4.1.1.88.77 \endverbatim Please note that currently only mandatory and some optional attributes are @@ -358,6 +359,6 @@ replace any built-in tables. \section dsr2xml_copyright COPYRIGHT -Copyright (C) 2000-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2000-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmsr/docs/dsrdump.man b/dcmsr/docs/dsrdump.man index da5aeb08..a15e3464 100644 --- a/dcmsr/docs/dsrdump.man +++ b/dcmsr/docs/dsrdump.man @@ -225,6 +225,7 @@ SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72 PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.73 PlannedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.74 PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75 +WaveformAnnotationSRStorage 1.2.840.10008.5.1.4.1.1.88.77 \endverbatim \section dsrdump_logging LOGGING @@ -300,6 +301,6 @@ replace any built-in tables. \section dsrdump_copyright COPYRIGHT -Copyright (C) 2000-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2000-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmsr/docs/xml2dsr.man b/dcmsr/docs/xml2dsr.man index e2077a6a..60dd451b 100644 --- a/dcmsr/docs/xml2dsr.man +++ b/dcmsr/docs/xml2dsr.man @@ -193,6 +193,7 @@ SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72 PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.73 PlannedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.74 PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75 +WaveformAnnotationSRStorage 1.2.840.10008.5.1.4.1.1.88.77 \endverbatim Please note that currently only mandatory and some optional attributes are @@ -311,6 +312,6 @@ It is an error if no data dictionary can be loaded. \section xml2dsr_copyright COPYRIGHT -Copyright (C) 2003-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2003-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid100.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid100.h index e537a9ed..560b3493 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid100.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid100.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID100_QuantitativeDiagnosticImagingProcedure * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:44 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:09 by J. Riesmeier * */ @@ -28,7 +28,7 @@ /** Implementation of DCMR Context Group: * CID 100 - Quantitative Diagnostic Imaging Procedure. - * (type: extensible, version: 20210905) + * (type: extensible, version: 20230630) */ class DCMTK_CMR_EXPORT CID100_QuantitativeDiagnosticImagingProcedure : public DSRContextGroup @@ -62,6 +62,10 @@ class DCMTK_CMR_EXPORT CID100_QuantitativeDiagnosticImagingProcedure NMUnspecifiedBodyRegion, /// (44136-0,LN,"PET unspecified body region") PETUnspecifiedBodyRegion, + /// (43468-8,LN,"XR unspecified body region") + XRUnspecifiedBodyRegion, + /// (77343006,SCT,"Angiography") + Angiography, /// (44139-4,LN,"PET whole body") PETWholeBody, /// (443271005,SCT,"PET/CT FDG imaging of whole body") diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h index ae991542..928cafa4 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID10013_CTAcquisitionType * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:57:00 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:25 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h index a28bbabf..2e87fa4d 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID10033_CTReconstructionAlgorithm * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:57:01 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:26 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid11.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid11.h index fc75b5bc..d222daef 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid11.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid11.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID11_AdministrationRoute * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:42 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:06 by J. Riesmeier * */ @@ -28,7 +28,7 @@ /** Implementation of DCMR Context Group: * CID 11 - Administration Route. - * (type: extensible, version: 20200117) + * (type: extensible, version: 20240611) */ class DCMTK_CMR_EXPORT CID11_AdministrationRoute : public DSRContextGroup @@ -90,7 +90,7 @@ class DCMTK_CMR_EXPORT CID11_AdministrationRoute IntradermalRoute, /// (447122006,SCT,"Intratumor route") IntratumorRoute, - /// (445769006,SCT,"Intracorpus cavernosum route") + /// (1259221004,SCT,"Intracorpus cavernosum route") IntracorpusCavernosumRoute }; diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid218.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid218.h index 151f4235..65bf3196 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid218.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid218.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID218_QuantitativeImageFeature * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:46 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:10 by J. Riesmeier * */ @@ -662,6 +662,10 @@ class DCMTK_CMR_EXPORT CID218_QuantitativeImageFeature VolumeOfMesh, /// (YEKZ,IBSI,"Volume from Voxel Summation"), included from CID 7472 VolumeFromVoxelSummation, + /// (130922,DCM,"Number of pixels"), included from CID 7469 + NumberOfPixels, + /// (130923,DCM,"Number of voxels"), included from CID 7469 + NumberOfVoxels, /// (2PR5,IBSI,"Surface to Volume Ratio"), included from CID 7477 SurfaceToVolumeRatio, /// (SKGS,IBSI,"Compactness 1"), included from CID 7477 diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid244.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid244.h index 4fde4b46..cb38c107 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid244.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid244.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID244_Laterality * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:47 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:11 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid247.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid247.h index f2a7b947..de4afe1d 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid247.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid247.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID247_LateralityLeftRightOnly * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:48 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:12 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid29.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid29.h index ecac6c53..a9666a8d 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid29.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid29.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID29_AcquisitionModality * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:43 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:07 by J. Riesmeier * */ @@ -28,7 +28,7 @@ /** Implementation of DCMR Context Group: * CID 29 - Acquisition Modality. - * (type: extensible, version: 20201115) + * (type: extensible, version: 20231115) */ class DCMTK_CMR_EXPORT CID29_AcquisitionModality : public DSRContextGroup @@ -46,34 +46,24 @@ class DCMTK_CMR_EXPORT CID29_AcquisitionModality BiomagneticImaging, /// (BMD,DCM,"Bone Mineral Densitometry") BoneMineralDensitometry, - /// (EPS,DCM,"Cardiac Electrophysiology") - CardiacElectrophysiology, /// (CR,DCM,"Computed Radiography") ComputedRadiography, /// (CT,DCM,"Computed Tomography") ComputedTomography, + /// (CFM,DCM,"Confocal Microscopy") + ConfocalMicroscopy, /// (DMS,DCM,"Dermoscopy") Dermoscopy, /// (DG,DCM,"Diaphanography") Diaphanography, /// (DX,DCM,"Digital Radiography") DigitalRadiography, - /// (ECG,DCM,"Electrocardiography") - Electrocardiography, - /// (EEG,DCM,"Electroencephalography") - Electroencephalography, - /// (EMG,DCM,"Electromyography") - Electromyography, - /// (EOG,DCM,"Electrooculography") - Electrooculography, /// (ES,DCM,"Endoscopy") Endoscopy, /// (XC,DCM,"External-camera Photography") ExternalCameraPhotography, /// (GM,DCM,"General Microscopy") GeneralMicroscopy, - /// (HD,DCM,"Hemodynamic Waveform") - HemodynamicWaveform, /// (IO,DCM,"Intra-oral Radiography") IntraOralRadiography, /// (IVOCT,DCM,"Intravascular Optical Coherence Tomography") @@ -112,16 +102,14 @@ class DCMTK_CMR_EXPORT CID29_AcquisitionModality OpticalSurfaceScanner, /// (PX,DCM,"Panoramic X-Ray") PanoramicXRay, - /// (POS,DCM,"Position Sensor") - PositionSensor, + /// (PA,DCM,"Photoacoustic") + Photoacoustic, /// (PT,DCM,"Positron emission tomography") PositronEmissionTomography, /// (RF,DCM,"Radiofluoroscopy") Radiofluoroscopy, /// (RG,DCM,"Radiographic imaging") RadiographicImaging, - /// (RESP,DCM,"Respiratory Waveform") - RespiratoryWaveform, /// (RTIMAGE,DCM,"RT Image") RTImage, /// (SM,DCM,"Slide Microscopy") @@ -137,7 +125,23 @@ class DCMTK_CMR_EXPORT CID29_AcquisitionModality /// (VA,DCM,"Visual Acuity") VisualAcuity, /// (XA,DCM,"X-Ray Angiography") - XRayAngiography + XRayAngiography, + /// (EPS,DCM,"Cardiac Electrophysiology"), included from CID 34 + CardiacElectrophysiology, + /// (ECG,DCM,"Electrocardiography"), included from CID 34 + Electrocardiography, + /// (EEG,DCM,"Electroencephalography"), included from CID 34 + Electroencephalography, + /// (EMG,DCM,"Electromyography"), included from CID 34 + Electromyography, + /// (EOG,DCM,"Electrooculography"), included from CID 34 + Electrooculography, + /// (HD,DCM,"Hemodynamic"), included from CID 34 + Hemodynamic, + /// (POS,DCM,"Position Sensor"), included from CID 34 + PositionSensor, + /// (RESP,DCM,"Respiratory"), included from CID 34 + Respiratory }; /** (default) constructor diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h index 6b42b5d6..75f9b163 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID4020_PETRadionuclide * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:48 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:13 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h index cd0e0d68..c63f4b57 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID4021_PETRadiopharmaceutical * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:49 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:14 by J. Riesmeier * */ @@ -98,8 +98,8 @@ class DCMTK_CMR_EXPORT CID4021_PETRadiopharmaceutical CU36_89Zr, /// (C96234,NCIt,"DCFBC F^18^") DCFBC_F18, - /// (C116352,NCIt,"DCFPyL F^18^") - DCFPyL_F18, + /// (C116352,NCIt,"Piflufolastat F^18^") + Piflufolastat_F18, /// (126762,DCM,"Df-[FK](2) ^89^Zr") DfFK2_89Zr, /// (126763,DCM,"Df-[FK](2)-3PEG(4) ^89^Zr") diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h index ac6b04e9..6ae882a7 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID4031_CommonAnatomicRegion * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:50 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:15 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid42.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid42.h index 43d0529a..180d1dd7 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid42.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid42.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID42_NumericValueQualifier * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:44 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:08 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h index c87ccef1..f4265699 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID6147_ResponseCriteria * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:51 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:16 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h index cc230ed8..749b42f8 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7021_MeasurementReportDocumentTitle * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:52 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:17 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h index 616bc138..2d3f50fb 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7181_AbstractMultiDimensionalImageModelComponentUnit * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:53 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:18 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h index 84fdafa7..b2b40d18 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7445_DeviceParticipatingRole * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:54 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:19 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h index a572d253..5ee59ad0 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7452_OrganizationalRole * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:55 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:20 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h index 3114a80b..09227cd2 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7453_PerformingRole * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:56 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:21 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h index 13d005b4..481e4e74 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7464_GeneralRegionOfInterestMeasurementModifier * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:57 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:22 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h index 0f335205..2b6bc0f6 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7469_GenericIntensityAndSizeMeasurement * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:58 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:23 by J. Riesmeier * */ @@ -28,7 +28,7 @@ /** Implementation of DCMR Context Group: * CID 7469 - Generic Intensity and Size Measurement. - * (type: extensible, version: 20141110) + * (type: extensible, version: 20240913) */ class DCMTK_CMR_EXPORT CID7469_GenericIntensityAndSizeMeasurement : public DSRContextGroup @@ -421,7 +421,11 @@ class DCMTK_CMR_EXPORT CID7469_GenericIntensityAndSizeMeasurement /// (RNU0,IBSI,"Volume of Mesh"), included from CID 7472 VolumeOfMesh, /// (YEKZ,IBSI,"Volume from Voxel Summation"), included from CID 7472 - VolumeFromVoxelSummation + VolumeFromVoxelSummation, + /// (130922,DCM,"Number of pixels") + NumberOfPixels, + /// (130923,DCM,"Number of voxels") + NumberOfVoxels }; /** (default) constructor diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7551.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7551.h index c3fd2704..eb98b9c3 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7551.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7551.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7551_GenericPurposeOfReferenceToImagesAndCoordinatesInMeasurement * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:59 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:24 by J. Riesmeier * */ diff --git a/dcmsr/include/dcmtk/dcmsr/codes/dcm.h b/dcmsr/include/dcmtk/dcmsr/codes/dcm.h index c9ebb30c..9fbfac2c 100644 --- a/dcmsr/include/dcmtk/dcmsr/codes/dcm.h +++ b/dcmsr/include/dcmtk/dcmsr/codes/dcm.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file with DICOM Controlled Terminology Code Definitions (Coding Scheme "DCM", Version "01") * - * Generated automatically from DICOM PS 3.16-2023c - * File created on 2023-07-14 12:40:27 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024e + * File created on 2024-11-16 10:17:26 by J. Riesmeier * */ @@ -34,8 +34,8 @@ * code definitions * *--------------------*/ -// total number of codes: 4706 -// - retired: 202 +// total number of codes: 4861 +// - retired: 207 // - no name: 27 // - not unique: 17 @@ -61,6 +61,7 @@ #define CODE_DCM_ImageCapture DSRBasicCodedEntry("CAPTURE", "DCM", "Image Capture") #define CODE_DCM_RETIRED_ColorFlowDoppler DSRBasicCodedEntry("CD", "DCM", "Color flow Doppler") #define CODE_DCM_RETIRED_Cinefluorography DSRBasicCodedEntry("CF", "DCM", "Cinefluorography") +#define CODE_DCM_ConfocalMicroscopy DSRBasicCodedEntry("CFM", "DCM", "Confocal Microscopy") #define CODE_DCM_ComputationServer DSRBasicCodedEntry("COMP", "DCM", "Computation Server") #define CODE_DCM_RETIRED_Culposcopy DSRBasicCodedEntry("CP", "DCM", "Culposcopy") #define CODE_DCM_ComputedRadiography DSRBasicCodedEntry("CR", "DCM", "Computed Radiography") @@ -94,7 +95,7 @@ #define CODE_DCM_GeneralMicroscopy DSRBasicCodedEntry("GM", "DCM", "General Microscopy") #define CODE_DCM_Hermaphrodite DSRBasicCodedEntry("H", "DCM", "Hermaphrodite") #define CODE_DCM_HardCopy DSRBasicCodedEntry("HC", "DCM", "Hard Copy") -#define CODE_DCM_HemodynamicWaveform DSRBasicCodedEntry("HD", "DCM", "Hemodynamic Waveform") +#define CODE_DCM_Hemodynamic DSRBasicCodedEntry("HD", "DCM", "Hemodynamic") #define CODE_DCM_IntraOralRadiography DSRBasicCodedEntry("IO", "DCM", "Intra-oral Radiography") #define CODE_DCM_IntraocularLensCalculation DSRBasicCodedEntry("IOL", "DCM", "Intraocular Lens Calculation") #define CODE_DCM_IntravascularOpticalCoherenceTomography DSRBasicCodedEntry("IVOCT", "DCM", "Intravascular Optical Coherence Tomography") @@ -138,7 +139,7 @@ #define CODE_DCM_PositronEmissionTomography DSRBasicCodedEntry("PT", "DCM", "Positron emission tomography") #define CODE_DCM_PanoramicXRay DSRBasicCodedEntry("PX", "DCM", "Panoramic X-Ray") #define CODE_DCM_Registration DSRBasicCodedEntry("REG", "DCM", "Registration") -#define CODE_DCM_RespiratoryWaveform DSRBasicCodedEntry("RESP", "DCM", "Respiratory Waveform") +#define CODE_DCM_Respiratory DSRBasicCodedEntry("RESP", "DCM", "Respiratory") #define CODE_DCM_Radiofluoroscopy DSRBasicCodedEntry("RF", "DCM", "Radiofluoroscopy") #define CODE_DCM_RadiographicImaging DSRBasicCodedEntry("RG", "DCM", "Radiographic imaging") #define CODE_DCM_RadiationTherapyDevice DSRBasicCodedEntry("RT", "DCM", "Radiation Therapy Device") @@ -242,6 +243,7 @@ #define CODE_DCM_DelayedRedistributionState DSRBasicCodedEntry("109094", "DCM", "Delayed Redistribution State") #define CODE_DCM_RETIRED_PeakStressState DSRBasicCodedEntry("109095", "DCM", "Peak stress state") #define CODE_DCM_RETIRED_RecoveryState DSRBasicCodedEntry("109096", "DCM", "Recovery state") +#define CODE_DCM_SynthesizingEquipment DSRBasicCodedEntry("109100", "DCM", "Synthesizing Equipment") #define CODE_DCM_AcquisitionEquipment DSRBasicCodedEntry("109101", "DCM", "Acquisition Equipment") #define CODE_DCM_ProcessingEquipment DSRBasicCodedEntry("109102", "DCM", "Processing Equipment") #define CODE_DCM_ModifyingEquipment DSRBasicCodedEntry("109103", "DCM", "Modifying Equipment") @@ -521,6 +523,7 @@ #define CODE_DCM_EquipmentChange DSRBasicCodedEntry("110516", "DCM", "Equipment change") #define CODE_DCM_PatientMovement DSRBasicCodedEntry("110518", "DCM", "Patient Movement") #define CODE_DCM_OperatorError DSRBasicCodedEntry("110519", "DCM", "Operator Error") +#define CODE_DCM_ChannelObstruction DSRBasicCodedEntry("110520", "DCM", "Channel Obstruction") #define CODE_DCM_ObjectsIncorrectlyFormatted DSRBasicCodedEntry("110521", "DCM", "Objects incorrectly formatted") #define CODE_DCM_ObjectTypesNotSupported DSRBasicCodedEntry("110522", "DCM", "Object Types not supported") #define CODE_DCM_ObjectSetIncomplete DSRBasicCodedEntry("110523", "DCM", "Object Set incomplete") @@ -747,9 +750,9 @@ #define CODE_DCM_PresentationRequired_RenderingDeviceIsExpectedToPresent DSRBasicCodedEntry("111150", "DCM", "Presentation Required: Rendering device is expected to present") #define CODE_DCM_PresentationOptional_RenderingDeviceMayPresent DSRBasicCodedEntry("111151", "DCM", "Presentation Optional: Rendering device may present") #define CODE_DCM_NotForPresentation_RenderingDeviceExpectedNotToPresent DSRBasicCodedEntry("111152", "DCM", "Not for Presentation: Rendering device expected not to present") -#define CODE_DCM_TargetContentItemsAreRelatedTemporally DSRBasicCodedEntry("111153", "DCM", "Target content items are related temporally") -#define CODE_DCM_TargetContentItemsAreRelatedSpatially DSRBasicCodedEntry("111154", "DCM", "Target content items are related spatially") -#define CODE_DCM_TargetContentItemsAreRelatedContraLaterally DSRBasicCodedEntry("111155", "DCM", "Target content items are related contra-laterally") +#define CODE_DCM_TargetContentItemsAreRelatedTemporally DSRBasicCodedEntry("111153", "DCM", "Target Content Items are related temporally") +#define CODE_DCM_TargetContentItemsAreRelatedSpatially DSRBasicCodedEntry("111154", "DCM", "Target Content Items are related spatially") +#define CODE_DCM_TargetContentItemsAreRelatedContraLaterally DSRBasicCodedEntry("111155", "DCM", "Target Content Items are related contra-laterally") #define CODE_DCM_FeatureDetectedonTheOnlyImage DSRBasicCodedEntry("111156", "DCM", "Feature detected on the only image") #define CODE_DCM_FeatureDetectedonOnlyOneOfTheImages DSRBasicCodedEntry("111157", "DCM", "Feature detected on only one of the images") #define CODE_DCM_FeatureDetectedonMultipleImages DSRBasicCodedEntry("111158", "DCM", "Feature detected on multiple images") @@ -1445,7 +1448,7 @@ #define CODE_DCM_AgatstonScoringMethod DSRBasicCodedEntry("112055", "DCM", "Agatston scoring method") #define CODE_DCM_VolumeScoringMethod DSRBasicCodedEntry("112056", "DCM", "Volume scoring method") #define CODE_DCM_MassScoringMethod DSRBasicCodedEntry("112057", "DCM", "Mass scoring method") -#define CODE_DCM_CalciumScore DSRBasicCodedEntry("112058", "DCM", "Calcium score") +#define CODE_DCM_RETIRED_CalciumScore DSRBasicCodedEntry("112058", "DCM", "Calcium score") #define CODE_DCM_PrimaryComplex DSRBasicCodedEntry("112059", "DCM", "Primary complex") #define CODE_DCM_Oligemia DSRBasicCodedEntry("112060", "DCM", "Oligemia") #define CODE_DCM_AbnormalLines_1D DSRBasicCodedEntry("112061", "DCM", "Abnormal lines (1D)") @@ -1540,7 +1543,7 @@ #define CODE_DCM_Linear DSRBasicCodedEntry("112150", "DCM", "Linear") #define CODE_DCM_Profusion DSRBasicCodedEntry("112151", "DCM", "Profusion") #define CODE_DCM_SilhouetteSign DSRBasicCodedEntry("112152", "DCM", "Silhouette sign") -#define CODE_DCM_Subpleural DSRBasicCodedEntry("112153", "DCM", "Subpleural") +#define CODE_DCM_RETIRED_Subpleural DSRBasicCodedEntry("112153", "DCM", "Subpleural") #define CODE_DCM_BatWingDistribution DSRBasicCodedEntry("112154", "DCM", "Bat's wing distribution") #define CODE_DCM_ButterflyDistribution DSRBasicCodedEntry("112155", "DCM", "Butterfly distribution") #define CODE_DCM_Centrilobular DSRBasicCodedEntry("112156", "DCM", "Centrilobular") @@ -1671,7 +1674,7 @@ #define CODE_DCM_DegreeOfFreedomMinimumRotationalValue DSRBasicCodedEntry("112380", "DCM", "Degree of Freedom Minimum Rotational Value") #define CODE_DCM_DegreeOfFreedomMaximumRotationalValue DSRBasicCodedEntry("112381", "DCM", "Degree of Freedom Maximum Rotational Value") #define CODE_DCM_PeriOperativePhotographicImaging DSRBasicCodedEntry("112700", "DCM", "Peri-operative Photographic Imaging") -#define CODE_DCM_GrossSpecimenImaging DSRBasicCodedEntry("112701", "DCM", "Gross Specimen Imaging") +#define CODE_DCM_RETIRED_GrossSpecimenImaging DSRBasicCodedEntry("112701", "DCM", "Gross Specimen Imaging") #define CODE_DCM_SlideMicroscopy_112702 DSRBasicCodedEntry("112702", "DCM", "Slide Microscopy") #define CODE_DCM_WholeSlideImaging DSRBasicCodedEntry("112703", "DCM", "Whole Slide Imaging") #define CODE_DCM_WSI20XRGB DSRBasicCodedEntry("112704", "DCM", "WSI 20X RGB") @@ -1849,7 +1852,6 @@ #define CODE_DCM_SegmentedUnconstrained DSRBasicCodedEntry("113268", "DCM", "Segmented-Unconstrained") #define CODE_DCM_SegmentedConstrained DSRBasicCodedEntry("113269", "DCM", "Segmented-Constrained") #define CODE_DCM_BayesianProbability DSRBasicCodedEntry("113270", "DCM", "Bayesian-Probability") -#define CODE_DCM_DotDotDot DSRBasicCodedEntry("...", "DCM", "...") #define CODE_DCM_VoxelwiseSelectionOfBValue DSRBasicCodedEntry("113285", "DCM", "Voxelwise selection of b-value") #define CODE_DCM_VolumeRatio DSRBasicCodedEntry("113288", "DCM", "Volume Ratio") #define CODE_DCM_DiffusionCoefficient DSRBasicCodedEntry("113289", "DCM", "Diffusion Coefficient") @@ -2075,7 +2077,7 @@ #define CODE_DCM_1cmAboveTabletop DSRBasicCodedEntry("113862", "DCM", "1cm above Tabletop") #define CODE_DCM_30cmAboveTabletop DSRBasicCodedEntry("113863", "DCM", "30cm above Tabletop") #define CODE_DCM_15cmFromTableCenterline DSRBasicCodedEntry("113864", "DCM", "15cm from Table Centerline") -#define CODE_DCM_EntranceExposureToA4dot2cmBreastThickness DSRBasicCodedEntry("113865", "DCM", "Entrance exposure to a 4.2 cm breast thickness") +#define CODE_DCM_4dot2cmAboveBreastSupportSurface DSRBasicCodedEntry("113865", "DCM", "4.2cm above Breast Support Surface") #define CODE_DCM_CopiedFromImageAttributes DSRBasicCodedEntry("113866", "DCM", "Copied From Image Attributes") #define CODE_DCM_ComputedFromImageAttributes DSRBasicCodedEntry("113867", "DCM", "Computed From Image Attributes") #define CODE_DCM_DerivedFromHumanReadableReports DSRBasicCodedEntry("113868", "DCM", "Derived From Human-Readable Reports") @@ -2270,7 +2272,7 @@ #define CODE_DCM_RETIRED_Conclusions DSRBasicCodedEntry("121076", "DCM", "Conclusions") #define CODE_DCM_Conclusion DSRBasicCodedEntry("121077", "DCM", "Conclusion") #define CODE_DCM_RETIRED_Addendum DSRBasicCodedEntry("121078", "DCM", "Addendum") -#define CODE_DCM_Baseline DSRBasicCodedEntry("121079", "DCM", "Baseline") +#define CODE_DCM_RETIRED_Baseline DSRBasicCodedEntry("121079", "DCM", "Baseline") #define CODE_DCM_BestIllustrationOfFinding DSRBasicCodedEntry("121080", "DCM", "Best illustration of finding") #define CODE_DCM_RETIRED_Physician DSRBasicCodedEntry("121081", "DCM", "Physician") #define CODE_DCM_RETIRED_Nurse DSRBasicCodedEntry("121082", "DCM", "Nurse") @@ -2458,6 +2460,8 @@ #define CODE_DCM_RTPreTreatmentConsistencyCheck DSRBasicCodedEntry("121374", "DCM", "RT Pre-Treatment Consistency Check") #define CODE_DCM_AssessmentByComparison DSRBasicCodedEntry("121375", "DCM", "Assessment By Comparison") #define CODE_DCM_AssessmentByRules DSRBasicCodedEntry("121376", "DCM", "Assessment By Rules") +#define CODE_DCM_ComposedWithRadiobiologicalEffects DSRBasicCodedEntry("121377", "DCM", "Composed with radiobiological effects") +#define CODE_DCM_ComposedWithWeightingForFractionsDelivered DSRBasicCodedEntry("121378", "DCM", "Composed with weighting for fractions delivered") #define CODE_DCM_ActiveIngredientUndilutedConcentration DSRBasicCodedEntry("121380", "DCM", "Active Ingredient Undiluted Concentration") #define CODE_DCM_ContrastBolusIngredientOpaque DSRBasicCodedEntry("121381", "DCM", "Contrast/Bolus Ingredient Opaque") #define CODE_DCM_QuantityAdministered DSRBasicCodedEntry("121382", "DCM", "Quantity administered") @@ -2536,6 +2540,9 @@ #define CODE_DCM_RTTreatmentQAByRTIonPlanDoseCheck DSRBasicCodedEntry("121733", "DCM", "RT Treatment QA by RT Ion Plan Dose Check") #define CODE_DCM_RTTreatmentQAWithRTIonPlanDifferenceCheck DSRBasicCodedEntry("121734", "DCM", "RT Treatment QA with RT Ion Plan Difference Check") #define CODE_DCM_RTBrachyTreatment DSRBasicCodedEntry("121735", "DCM", "RT Brachy Treatment") +#define CODE_DCM_RTImageGuidedPatientPositioningAndTreatmentDelivery DSRBasicCodedEntry("121736", "DCM", "RT Image-Guided Patient Positioning and Treatment Delivery") +#define CODE_DCM_RTPatientPositionAcquisition_MR DSRBasicCodedEntry("121737", "DCM", "RT Patient Position Acquisition, MR") +#define CODE_DCM_RTPatientPositionRegistration_MR DSRBasicCodedEntry("121738", "DCM", "RT Patient Position Registration, MR") #define CODE_DCM_TreatmentDeliveryType DSRBasicCodedEntry("121740", "DCM", "Treatment Delivery Type") #define CODE_DCM_PatientCalledToProcedureRoom DSRBasicCodedEntry("122001", "DCM", "Patient called to procedure room") #define CODE_DCM_PatientAdmittedToProcedureRoom DSRBasicCodedEntry("122002", "DCM", "Patient admitted to procedure room") @@ -3209,6 +3216,7 @@ #define CODE_DCM_EndorectalTransducer DSRBasicCodedEntry("125264", "DCM", "Endorectal Transducer") #define CODE_DCM_IntravascularTransducer DSRBasicCodedEntry("125265", "DCM", "Intravascular Transducer") #define CODE_DCM_EndocavitaryTransducer DSRBasicCodedEntry("125266", "DCM", "Endocavitary Transducer") +#define CODE_DCM_IntraoperativeTransducer DSRBasicCodedEntry("125267", "DCM", "Intraoperative Transducer") #define CODE_DCM_LeftVentricleMassByAreaLength DSRBasicCodedEntry("125270", "DCM", "Left Ventricle Mass by Area Length") #define CODE_DCM_LeftVentricleMassByMMode_adjustedByHeight DSRBasicCodedEntry("125271", "DCM", "Left Ventricle Mass by M-mode - adjusted by Height") #define CODE_DCM_LeftVentricleMassByTruncatedEllipse_adjustedByHeight DSRBasicCodedEntry("125272", "DCM", "Left Ventricle Mass by Truncated Ellipse - adjusted by Height") @@ -3632,6 +3640,8 @@ #define CODE_DCM_GeometricCenterpoint DSRBasicCodedEntry("128137", "DCM", "Geometric Centerpoint") #define CODE_DCM_CenterOfMass DSRBasicCodedEntry("128138", "DCM", "Center of Mass") #define CODE_DCM_SeedPoint DSRBasicCodedEntry("128139", "DCM", "Seed point") +#define CODE_DCM_RepresentativePoint DSRBasicCodedEntry("128140", "DCM", "Representative point") +#define CODE_DCM_BoundaryPoint DSRBasicCodedEntry("128141", "DCM", "Boundary point") #define CODE_DCM_ImpairedRenalFunction DSRBasicCodedEntry("128144", "DCM", "Impaired Renal Function") #define CODE_DCM_LaserCrossHairs DSRBasicCodedEntry("128151", "DCM", "Laser Cross-hairs") #define CODE_DCM_AcquiredVolume DSRBasicCodedEntry("128160", "DCM", "Acquired Volume") @@ -3691,6 +3701,7 @@ #define CODE_DCM_SourceReport DSRBasicCodedEntry("128225", "DCM", "Source report") #define CODE_DCM_SourceRawData DSRBasicCodedEntry("128226", "DCM", "Source raw data") #define CODE_DCM_SourceRealWorldValueMap DSRBasicCodedEntry("128227", "DCM", "Source real world value map") +#define CODE_DCM_SourceSegmentation DSRBasicCodedEntry("128228", "DCM", "Source segmentation") #define CODE_DCM_PulseSequenceName DSRBasicCodedEntry("128230", "DCM", "Pulse Sequence Name") #define CODE_DCM_StructuralImageForImageProcessing DSRBasicCodedEntry("128250", "DCM", "Structural image for image processing") #define CODE_DCM_FlowImageForImageProcessing DSRBasicCodedEntry("128251", "DCM", "Flow image for image processing") @@ -3738,16 +3749,33 @@ #define CODE_DCM_OuterSurfaceOfOPL DSRBasicCodedEntry("128293", "DCM", "Outer surface of OPL") #define CODE_DCM_OuterSurfaceOfHFL DSRBasicCodedEntry("128294", "DCM", "Outer surface of HFL") #define CODE_DCM_SurfaceBetweenInnerAndOuterSegmentsOfThePhotoreceptors DSRBasicCodedEntry("128295", "DCM", "Surface between Inner and Outer Segments of the photoreceptors") -#define CODE_DCM_SurfaceOfTheInterdigitatingZoneBetweenRetinaAndRPE DSRBasicCodedEntry("128296", "DCM", "Surface of the interdigitating zone between retina and RPE") -#define CODE_DCM_AnteriorSurfaceOfTheRPE DSRBasicCodedEntry("128297", "DCM", "Anterior surface of the RPE") +#define CODE_DCM_SurfaceOfTheInterdigitationZoneBetweenRetinaAndRPE DSRBasicCodedEntry("128296", "DCM", "Surface of the interdigitation zone between retina and RPE") +#define CODE_DCM_InnerSurfaceOfTheRPE DSRBasicCodedEntry("128297", "DCM", "Inner surface of the RPE") #define CODE_DCM_SurfaceOfTheCenterOfTheRPE DSRBasicCodedEntry("128298", "DCM", "Surface of the center of the RPE") -#define CODE_DCM_PosteriorSurfaceOfTheRPE DSRBasicCodedEntry("128299", "DCM", "Posterior surface of the RPE") -#define CODE_DCM_OuterSurfaceOfTheBM DSRBasicCodedEntry("128300", "DCM", "Outer surface of the BM") +#define CODE_DCM_OuterSurfaceOfTheRPE DSRBasicCodedEntry("128299", "DCM", "Outer surface of the RPE") +#define CODE_DCM_OuterSurfaceOfBruchsMembrane DSRBasicCodedEntry("128300", "DCM", "Outer surface of Bruchs Membrane") #define CODE_DCM_SurfaceOfTheChoroidScleraInterface DSRBasicCodedEntry("128301", "DCM", "Surface of the choroid-sclera interface") #define CODE_DCM_OuterSurfaceOfTheCC DSRBasicCodedEntry("128302", "DCM", "Outer surface of the CC") #define CODE_DCM_OCTBScanAnalysis DSRBasicCodedEntry("128303", "DCM", "OCT B-scan analysis") #define CODE_DCM_OCTAOneSidedRatio_lesser DSRBasicCodedEntry("128304", "DCM", "OCT-A one-sided ratio (lesser)") #define CODE_DCM_OCTAOneSidedRatio_greater DSRBasicCodedEntry("128305", "DCM", "OCT-A one-sided ratio (greater)") +#define CODE_DCM_AvascularComplexFlow DSRBasicCodedEntry("128306", "DCM", "Avascular complex flow") +#define CODE_DCM_AvascularComplexMap DSRBasicCodedEntry("128307", "DCM", "Avascular complex map") +#define CODE_DCM_SuperficialVascularPlexusFlow DSRBasicCodedEntry("128308", "DCM", "Superficial vascular plexus flow") +#define CODE_DCM_SuperficialVascularPlexusMap DSRBasicCodedEntry("128309", "DCM", "Superficial vascular plexus map") +#define CODE_DCM_DeepCapillaryPlexusFlow DSRBasicCodedEntry("128310", "DCM", "Deep capillary plexus flow") +#define CODE_DCM_DeepCapillaryPlexusMap DSRBasicCodedEntry("128311", "DCM", "Deep capillary plexus map") +#define CODE_DCM_RNFLVascularPlexusFlow DSRBasicCodedEntry("128312", "DCM", "RNFL vascular plexus flow") +#define CODE_DCM_RNFLVascularPlexusMap DSRBasicCodedEntry("128313", "DCM", "RNFL vascular plexus map") +#define CODE_DCM_UserSelectedVolumeFlow DSRBasicCodedEntry("128314", "DCM", "User selected volume flow") +#define CODE_DCM_UserSelectedVolumeStructureMap DSRBasicCodedEntry("128315", "DCM", "User selected volume structure map") +#define CODE_DCM_ORCCVasculatureFlow DSRBasicCodedEntry("128316", "DCM", "ORCC vasculature flow") +#define CODE_DCM_ORCCStructuralReflectanceMap DSRBasicCodedEntry("128317", "DCM", "ORCC structural reflectance map") +#define CODE_DCM_InnerSurfaceOfTheEllipsoidZone DSRBasicCodedEntry("128320", "DCM", "Inner surface of the ellipsoid zone") +#define CODE_DCM_MidlineOfTheEllipsoidZone DSRBasicCodedEntry("128321", "DCM", "Midline of the ellipsoid zone") +#define CODE_DCM_OuterSurfaceOfTheEllipsoidZone DSRBasicCodedEntry("128322", "DCM", "Outer surface of the ellipsoid zone") +#define CODE_DCM_InnerSurfaceOfTheInterdigitationZone DSRBasicCodedEntry("128323", "DCM", "Inner surface of the interdigitation zone") +#define CODE_DCM_OuterSurfaceOfTheInterdigitationZone DSRBasicCodedEntry("128324", "DCM", "Outer surface of the interdigitation zone") #define CODE_DCM_PatientRadiationDoseReport DSRBasicCodedEntry("128401", "DCM", "Patient Radiation Dose Report") #define CODE_DCM_RadiationDoseEstimate DSRBasicCodedEntry("128402", "DCM", "Radiation Dose Estimate") #define CODE_DCM_RadiationDoseEstimateName DSRBasicCodedEntry("128403", "DCM", "Radiation Dose Estimate Name") @@ -3799,7 +3827,7 @@ #define CODE_DCM_TableCore DSRBasicCodedEntry("128460", "DCM", "Table Core") #define CODE_DCM_TableOuterLiner DSRBasicCodedEntry("128461", "DCM", "Table Outer Liner") #define CODE_DCM_TablePad DSRBasicCodedEntry("128462", "DCM", "Table Pad") -#define CODE_DCM_RadiationDoseEstimationParameterType DSRBasicCodedEntry("128464", "DCM", "Radiation Dose Estimation Parameter Type") +#define CODE_DCM_RETIRED_RadiationDoseEstimateParameterType DSRBasicCodedEntry("128464", "DCM", "Radiation Dose Estimate Parameter Type") #define CODE_DCM_EquivalentAttenuatorMaterial DSRBasicCodedEntry("128465", "DCM", "Equivalent Attenuator Material") #define CODE_DCM_AttenuatorDescription DSRBasicCodedEntry("128468", "DCM", "Attenuator Description") #define CODE_DCM_EquivalentAttenuatorThickness DSRBasicCodedEntry("128469", "DCM", "Equivalent Attenuator Thickness") @@ -4025,6 +4053,7 @@ #define CODE_DCM_ImageUsedAsReferenceImageForTreatment DSRBasicCodedEntry("129204", "DCM", "Image used as Reference Image for Treatment") #define CODE_DCM_RegistrationUsedInPlanning DSRBasicCodedEntry("129210", "DCM", "Registration used in Planning") #define CODE_DCM_RegistrationCreatedDuringTreatment DSRBasicCodedEntry("129211", "DCM", "Registration created during Treatment") +#define CODE_DCM_DoseFromPriorTreatment DSRBasicCodedEntry("129212", "DCM", "Dose from prior Treatment") #define CODE_DCM_CoilMarker DSRBasicCodedEntry("129301", "DCM", "Coil Marker") #define CODE_DCM_CylinderMarker DSRBasicCodedEntry("129303", "DCM", "Cylinder Marker") #define CODE_DCM_WireMarker DSRBasicCodedEntry("129305", "DCM", "Wire Marker") @@ -4754,5 +4783,131 @@ #define CODE_DCM_SphericalBackProjection DSRBasicCodedEntry("130821", "DCM", "Spherical Back Projection") #define CODE_DCM_NumericalAcousticModel DSRBasicCodedEntry("130822", "DCM", "Numerical Acoustic Model") #define CODE_DCM_BloodDeoxygenationLevel DSRBasicCodedEntry("130823", "DCM", "Blood Deoxygenation Level") +#define CODE_DCM_ScanSpotInterlock DSRBasicCodedEntry("130824", "DCM", "Scan Spot Interlock") +#define CODE_DCM_ScanSpotPositionInterlock DSRBasicCodedEntry("130825", "DCM", "Scan Spot Position Interlock") +#define CODE_DCM_ScanSpotSizeInterlock DSRBasicCodedEntry("130826", "DCM", "Scan Spot Size Interlock") +#define CODE_DCM_ScanSpotMetersetInterlock DSRBasicCodedEntry("130827", "DCM", "Scan Spot Meterset Interlock") +#define CODE_DCM_RadiationDetectedDuringBeamHoldInterlock DSRBasicCodedEntry("130828", "DCM", "Radiation Detected During Beam Hold Interlock") +#define CODE_DCM_MLCPositionInterlock DSRBasicCodedEntry("130829", "DCM", "MLC Position Interlock") +#define CODE_DCM_MetersetRateInterlock DSRBasicCodedEntry("130830", "DCM", "Meterset Rate Interlock") +#define CODE_DCM_BeamEnergyInterlock DSRBasicCodedEntry("130831", "DCM", "Beam Energy Interlock") +#define CODE_DCM_SkinLesionColor DSRBasicCodedEntry("130832", "DCM", "Skin lesion color") +#define CODE_DCM_PreSurgicalAnatomy DSRBasicCodedEntry("130833", "DCM", "Pre-surgical anatomy") +#define CODE_DCM_SleepStageN1 DSRBasicCodedEntry("130834", "DCM", "Sleep Stage N1") +#define CODE_DCM_SleepStageN2 DSRBasicCodedEntry("130835", "DCM", "Sleep Stage N2") +#define CODE_DCM_SleepStageN3 DSRBasicCodedEntry("130836", "DCM", "Sleep Stage N3") +#define CODE_DCM_SeatPanHeight DSRBasicCodedEntry("130840", "DCM", "Seat Pan Height") +#define CODE_DCM_SeatPanPitchAngle DSRBasicCodedEntry("130841", "DCM", "Seat Pan Pitch Angle") +#define CODE_DCM_BackrestPitchAngle DSRBasicCodedEntry("130842", "DCM", "Backrest Pitch Angle") +#define CODE_DCM_ShinRestPosition DSRBasicCodedEntry("130843", "DCM", "Shin Rest Position") +#define CODE_DCM_HeelStopPosition DSRBasicCodedEntry("130844", "DCM", "Heel Stop Position") +#define CODE_DCM_LeftArmRestPosition DSRBasicCodedEntry("130845", "DCM", "Left Arm Rest Position") +#define CODE_DCM_LeftArmRestPitchAngle DSRBasicCodedEntry("130846", "DCM", "Left Arm Rest Pitch Angle") +#define CODE_DCM_LeftArmRestRollAngle DSRBasicCodedEntry("130847", "DCM", "Left Arm Rest Roll Angle") +#define CODE_DCM_RightArmRestPosition DSRBasicCodedEntry("130848", "DCM", "Right Arm Rest Position") +#define CODE_DCM_RightArmRestPitchAngle DSRBasicCodedEntry("130849", "DCM", "Right Arm Rest Pitch Angle") +#define CODE_DCM_RightArmRestRollAngle DSRBasicCodedEntry("130850", "DCM", "Right Arm Rest Roll Angle") +#define CODE_DCM_HandGripsPresence DSRBasicCodedEntry("130851", "DCM", "Hand Grips Presence") +#define CODE_DCM_ShinRest DSRBasicCodedEntry("130852", "DCM", "Shin Rest") +#define CODE_DCM_HeelStop DSRBasicCodedEntry("130853", "DCM", "Heel Stop") +#define CODE_DCM_HandGrips DSRBasicCodedEntry("130854", "DCM", "Hand Grips") +#define CODE_DCM_SeatPan DSRBasicCodedEntry("130855", "DCM", "Seat Pan") +#define CODE_DCM_PatternEvent DSRBasicCodedEntry("130860", "DCM", "Pattern Event") +#define CODE_DCM_EEGAnnotation DSRBasicCodedEntry("130861", "DCM", "EEG Annotation") +#define CODE_DCM_EMGAnnotation DSRBasicCodedEntry("130862", "DCM", "EMG Annotation") +#define CODE_DCM_EOGAnnotation DSRBasicCodedEntry("130863", "DCM", "EOG Annotation") +#define CODE_DCM_DeviceRelatedAndEnvironmentRelatedEvent DSRBasicCodedEntry("130864", "DCM", "Device-related and Environment-related Event") +#define CODE_DCM_PatientConsciousness DSRBasicCodedEntry("130865", "DCM", "Patient Consciousness") +#define CODE_DCM_ECGAnnotation DSRBasicCodedEntry("130866", "DCM", "ECG Annotation") +#define CODE_DCM_NeurophysiologyRecordingAnnotations DSRBasicCodedEntry("130867", "DCM", "Neurophysiology Recording Annotations") +#define CODE_DCM_NeurophysiologyPostHocReviewAnnotations DSRBasicCodedEntry("130868", "DCM", "Neurophysiology Post-hoc Review Annotations") +#define CODE_DCM_NeurophysiologyAutomatedAnalysisAnnotations DSRBasicCodedEntry("130869", "DCM", "Neurophysiology Automated Analysis Annotations") +#define CODE_DCM_WaveformAnnotations DSRBasicCodedEntry("130870", "DCM", "Waveform Annotations") +#define CODE_DCM_ProcedureAnnotated DSRBasicCodedEntry("130871", "DCM", "Procedure annotated") +#define CODE_DCM_WaveformAnnotationGroup DSRBasicCodedEntry("130872", "DCM", "Waveform Annotation Group") +#define CODE_DCM_WaveformAnnotationGroupNumber DSRBasicCodedEntry("130873", "DCM", "Waveform Annotation Group Number") +#define CODE_DCM_WaveformAnnotationGroupLabel DSRBasicCodedEntry("130874", "DCM", "Waveform Annotation Group Label") +#define CODE_DCM_WaveformAnnotationModifier DSRBasicCodedEntry("130875", "DCM", "Waveform Annotation Modifier") +#define CODE_DCM_AnnotationNote DSRBasicCodedEntry("130876", "DCM", "Annotation Note") +#define CODE_DCM_WaveformLibrary DSRBasicCodedEntry("130877", "DCM", "Waveform Library") +#define CODE_DCM_WaveformLibraryGroup DSRBasicCodedEntry("130878", "DCM", "Waveform Library Group") +#define CODE_DCM_WaveformLibraryEntryMultiplexGroupDescriptors DSRBasicCodedEntry("130879", "DCM", "Waveform Library Entry Multiplex Group Descriptors") +#define CODE_DCM_MultiplexGroupNumber DSRBasicCodedEntry("130880", "DCM", "Multiplex Group Number") +#define CODE_DCM_MultiplexGroupUID DSRBasicCodedEntry("130881", "DCM", "Multiplex Group UID") +#define CODE_DCM_SamplingFrequency DSRBasicCodedEntry("130882", "DCM", "Sampling Frequency") +#define CODE_DCM_NumberOfChannels DSRBasicCodedEntry("130883", "DCM", "Number of Channels") +#define CODE_DCM_AcquisitionDateTime DSRBasicCodedEntry("130884", "DCM", "Acquisition DateTime") +#define CODE_DCM_SynchronizationFrameOfReferenceUID DSRBasicCodedEntry("130885", "DCM", "Synchronization Frame of Reference UID") +#define CODE_DCM_LineNoiseArtifact DSRBasicCodedEntry("130886", "DCM", "Line noise artifact") +#define CODE_DCM_VideoRecordingon DSRBasicCodedEntry("130887", "DCM", "Video recording on") +#define CODE_DCM_VideoRecordingOff DSRBasicCodedEntry("130888", "DCM", "Video recording off") +#define CODE_DCM_PreamplifierConnected DSRBasicCodedEntry("130889", "DCM", "Preamplifier connected") +#define CODE_DCM_PreamplifierDisconnected DSRBasicCodedEntry("130890", "DCM", "Preamplifier disconnected") +#define CODE_DCM_BreakoutBoxConnected DSRBasicCodedEntry("130891", "DCM", "Breakout box connected") +#define CODE_DCM_BreakoutBoxDisconnected DSRBasicCodedEntry("130892", "DCM", "Breakout box disconnected") +#define CODE_DCM_EventButtonPressed DSRBasicCodedEntry("130893", "DCM", "Event button pressed") +#define CODE_DCM_EventButtonTest DSRBasicCodedEntry("130894", "DCM", "Event button test") +#define CODE_DCM_TapTestBegin DSRBasicCodedEntry("130895", "DCM", "Tap test begin") +#define CODE_DCM_TapTestEnd DSRBasicCodedEntry("130896", "DCM", "Tap test end") +#define CODE_DCM_FollicleCountGroup DSRBasicCodedEntry("130901", "DCM", "Follicle Count Group") +#define CODE_DCM_DiameterRangeMinimumValue DSRBasicCodedEntry("130902", "DCM", "Diameter Range Minimum Value") +#define CODE_DCM_DiameterRangeMaximumValue DSRBasicCodedEntry("130903", "DCM", "Diameter Range Maximum Value") +#define CODE_DCM_VolumeRangeMinimumValue DSRBasicCodedEntry("130904", "DCM", "Volume Range Minimum Value") +#define CODE_DCM_VolumeRangeMaximumValue DSRBasicCodedEntry("130905", "DCM", "Volume Range Maximum Value") +#define CODE_DCM_NumberOfFolliclesInRange DSRBasicCodedEntry("130906", "DCM", "Number of Follicles in Range") +#define CODE_DCM_TotalAntralFollicleCount DSRBasicCodedEntry("130907", "DCM", "Total Antral Follicle Count") +#define CODE_DCM_FollicleType DSRBasicCodedEntry("130908", "DCM", "Follicle Type") +#define CODE_DCM_DominantFollicle DSRBasicCodedEntry("130909", "DCM", "Dominant Follicle") +#define CODE_DCM_AntralFollicle DSRBasicCodedEntry("130910", "DCM", "Antral Follicle") +#define CODE_DCM_SecondaryFollicle DSRBasicCodedEntry("130911", "DCM", "Secondary Follicle") +#define CODE_DCM_PrimaryFollicle DSRBasicCodedEntry("130912", "DCM", "Primary Follicle") +#define CODE_DCM_PrimordialFollicle DSRBasicCodedEntry("130913", "DCM", "Primordial Follicle") +#define CODE_DCM_FollicleCountGroupIdentifier DSRBasicCodedEntry("130914", "DCM", "Follicle Count Group Identifier") +#define CODE_DCM_DiceSimilarityCoefficient DSRBasicCodedEntry("130920", "DCM", "Dice Similarity Coefficient") +#define CODE_DCM_JaccardIndex DSRBasicCodedEntry("130921", "DCM", "Jaccard Index") +#define CODE_DCM_NumberOfPixels DSRBasicCodedEntry("130922", "DCM", "Number of pixels") +#define CODE_DCM_NumberOfVoxels DSRBasicCodedEntry("130923", "DCM", "Number of voxels") +#define CODE_DCM_MeanIntensityProjection DSRBasicCodedEntry("130924", "DCM", "Mean intensity projection") +#define CODE_DCM_MedianIntensityProjection DSRBasicCodedEntry("130925", "DCM", "Median intensity projection") +#define CODE_DCM_SummationProjection DSRBasicCodedEntry("130926", "DCM", "Summation projection") +#define CODE_DCM_VentriculoatrialTimeInterval DSRBasicCodedEntry("131001", "DCM", "Ventriculoatrial time interval") +#define CODE_DCM_AtrioventricularTimeInterval DSRBasicCodedEntry("131002", "DCM", "Atrioventricular time interval") +#define CODE_DCM_LeftAtriumDescendingAortaDistance DSRBasicCodedEntry("131003", "DCM", "Left Atrium-Descending Aorta Distance") +#define CODE_DCM_PostLeftAtriumSpaceIndex DSRBasicCodedEntry("131004", "DCM", "Post-Left Atrium Space Index") +#define CODE_DCM_CerebroplacentalRatio DSRBasicCodedEntry("131009", "DCM", "Cerebroplacental ratio") +#define CODE_DCM_UmbilicocerebralRatio DSRBasicCodedEntry("131010", "DCM", "Umbilicocerebral ratio") +#define CODE_DCM_IVCPreloadIndex DSRBasicCodedEntry("131011", "DCM", "IVC preload index") +#define CODE_DCM_IVCSA DSRBasicCodedEntry("131012", "DCM", "IVC S/a") +#define CODE_DCM_PeakVelocityIndex DSRBasicCodedEntry("131013", "DCM", "Peak Velocity Index") +#define CODE_DCM_DVPulsatilityIndexInVeins DSRBasicCodedEntry("131014", "DCM", "DV Pulsatility Index in Veins") +#define CODE_DCM_DVPeakVelocityIndexInVeins DSRBasicCodedEntry("131015", "DCM", "DV Peak Velocity Index in Veins") +#define CODE_DCM_RightVentricularInletLength DSRBasicCodedEntry("131017", "DCM", "Right ventricular inlet length") +#define CODE_DCM_LeftVentricularInletLength DSRBasicCodedEntry("131018", "DCM", "Left ventricular inlet length") +#define CODE_DCM_InletIncluded DSRBasicCodedEntry("131019", "DCM", "Inlet Included") +#define CODE_DCM_FreeCordLoopMethod DSRBasicCodedEntry("131020", "DCM", "Free Cord Loop Method") +#define CODE_DCM_DuctusArteriosusArch DSRBasicCodedEntry("131021", "DCM", "Ductus Arteriosus Arch") +#define CODE_DCM_AorticArchView DSRBasicCodedEntry("131022", "DCM", "Aortic arch view") +#define CODE_DCM_ObliqueShortAxisViewAtDuctusArteriosus DSRBasicCodedEntry("131023", "DCM", "Oblique short axis view at ductus arteriosus") +#define CODE_DCM_ShortAxisViewAtPulmonaryArteryLevel DSRBasicCodedEntry("131024", "DCM", "Short axis view at pulmonary artery level") +#define CODE_DCM_ThreeVesselView DSRBasicCodedEntry("131025", "DCM", "Three vessel view") +#define CODE_DCM_ThreeVesselAndTracheaView DSRBasicCodedEntry("131026", "DCM", "Three vessel and trachea view") +#define CODE_DCM_LeftVentricularOutflowTractView DSRBasicCodedEntry("131028", "DCM", "Left ventricular outflow tract view") +#define CODE_DCM_FourChamberView DSRBasicCodedEntry("131029", "DCM", "Four chamber view") +#define CODE_DCM_FetalCardiovascularProfile DSRBasicCodedEntry("131030", "DCM", "Fetal Cardiovascular Profile") +#define CODE_DCM_HydropsFetalisScore DSRBasicCodedEntry("131031", "DCM", "Hydrops Fetalis Score") +#define CODE_DCM_CardiothoracicSizeRatioScore DSRBasicCodedEntry("131032", "DCM", "Cardiothoracic Size Ratio Score") +#define CODE_DCM_CardiacFunctionScore DSRBasicCodedEntry("131033", "DCM", "Cardiac Function Score") +#define CODE_DCM_VenousDopplerScore DSRBasicCodedEntry("131034", "DCM", "Venous Doppler Score") +#define CODE_DCM_ArterialDopplerScore DSRBasicCodedEntry("131035", "DCM", "Arterial Doppler Score") +#define CODE_DCM_FetalCardiovascularProfileScore DSRBasicCodedEntry("131036", "DCM", "Fetal Cardiovascular Profile Score") +#define CODE_DCM_PVVTIForward DSRBasicCodedEntry("131050", "DCM", "PV VTI Forward") +#define CODE_DCM_PVVTIReverse DSRBasicCodedEntry("131051", "DCM", "PV VTI Reverse") +#define CODE_DCM_PVVTIRVTIFRatio DSRBasicCodedEntry("131052", "DCM", "PV VTIR/VTIF ratio") +#define CODE_DCM_RightVentricleCardiacOutput DSRBasicCodedEntry("131053", "DCM", "Right Ventricle Cardiac Output") +#define CODE_DCM_CombinedCardiacOutput DSRBasicCodedEntry("131054", "DCM", "Combined Cardiac Output") +#define CODE_DCM_MitralValveAnnulusDiameter DSRBasicCodedEntry("131060", "DCM", "Mitral valve annulus diameter") +#define CODE_DCM_TricuspidValveAnnulusDiameter DSRBasicCodedEntry("131061", "DCM", "Tricuspid valve annulus diameter") +#define CODE_DCM_IVCSWavePeakVelocity DSRBasicCodedEntry("131062", "DCM", "IVC S-wave peak velocity") +#define CODE_DCM_IVCAWavePeakVelocity DSRBasicCodedEntry("131063", "DCM", "IVC a-wave peak velocity") #endif diff --git a/dcmsr/include/dcmtk/dcmsr/codes/ncit.h b/dcmsr/include/dcmtk/dcmsr/codes/ncit.h index 2817c5d3..c6260009 100644 --- a/dcmsr/include/dcmtk/dcmsr/codes/ncit.h +++ b/dcmsr/include/dcmtk/dcmsr/codes/ncit.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file with NCI Thesaurus Code Definitions (Coding Scheme "NCIt") * - * Generated automatically from DICOM PS 3.16-2023c - * File created on 2023-07-14 12:40:31 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024e + * File created on 2024-11-16 10:17:31 by J. Riesmeier * */ @@ -51,7 +51,7 @@ #define CODE_NCIt_IndexLesion DSRBasicCodedEntry("C110961", "NCIt", "Index lesion") #define CODE_NCIt_EnhancingLesion DSRBasicCodedEntry("C113842", "NCIt", "Enhancing Lesion") #define CODE_NCIt_RANO DSRBasicCodedEntry("C114879", "NCIt", "RANO") -#define CODE_NCIt_DCFPyL_F18 DSRBasicCodedEntry("C116352", "NCIt", "DCFPyL F^18^") +#define CODE_NCIt_Piflufolastat_F18 DSRBasicCodedEntry("C116352", "NCIt", "Piflufolastat F^18^") #define CODE_NCIt_Technetium99mTrofolastat DSRBasicCodedEntry("C116887", "NCIt", "Technetium^99m Trofolastat") #define CODE_NCIt_PSMA11_Ga68 DSRBasicCodedEntry("C118961", "NCIt", "PSMA-11 Ga^68^") #define CODE_NCIt_Sarcosine_C11 DSRBasicCodedEntry("C122684", "NCIt", "Sarcosine C^11^") diff --git a/dcmsr/include/dcmtk/dcmsr/codes/umls.h b/dcmsr/include/dcmtk/dcmsr/codes/umls.h index 6e66ca57..49b184db 100644 --- a/dcmsr/include/dcmtk/dcmsr/codes/umls.h +++ b/dcmsr/include/dcmtk/dcmsr/codes/umls.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file with UMLS Code Definitions (Coding Scheme "UMLS") * - * Generated automatically from DICOM PS 3.16-2023c - * File created on 2023-07-14 12:40:30 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024e + * File created on 2024-11-16 10:17:31 by J. Riesmeier * */ @@ -34,7 +34,7 @@ * code definitions * *--------------------*/ -// total number of codes: 49 +// total number of codes: 51 // - retired: 0 // - no name: 0 // - not unique: 0 @@ -82,6 +82,7 @@ #define CODE_UMLS_Referring DSRBasicCodedEntry("C1709880", "UMLS", "Referring") #define CODE_UMLS_Variance DSRBasicCodedEntry("C1711260", "UMLS", "Variance") #define CODE_UMLS_Sonographer DSRBasicCodedEntry("C1954848", "UMLS", "Sonographer") +#define CODE_UMLS_MobileSkinLesion DSRBasicCodedEntry("C2071496", "UMLS", "Mobile skin lesion") #define CODE_UMLS_Neuroradiology DSRBasicCodedEntry("C2183225", "UMLS", "Neuroradiology") #define CODE_UMLS_InverseRatioVentilation DSRBasicCodedEntry("C2223982", "UMLS", "Inverse ratio ventilation") #define CODE_UMLS_RootMeanSquare DSRBasicCodedEntry("C2347976", "UMLS", "Root Mean Square") @@ -97,5 +98,6 @@ #define CODE_UMLS_MK6240_F18 DSRBasicCodedEntry("C4506764", "UMLS", "MK-6240 F^18^") #define CODE_UMLS_UCBJ_C11 DSRBasicCodedEntry("C4506788", "UMLS", "UCB-J C^11^") #define CODE_UMLS_THK5317_F18 DSRBasicCodedEntry("C4550127", "UMLS", "THK5317 F^18^") +#define CODE_UMLS_MiddleEasternOrNorthAfrican DSRBasicCodedEntry("C5690844", "UMLS", "Middle Eastern or North African") #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsdefine.h b/dcmsr/include/dcmtk/dcmsr/dsdefine.h index 08c80714..d354a126 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsdefine.h +++ b/dcmsr/include/dcmtk/dcmsr/dsdefine.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2012-2016, OFFIS e.V. + * Copyright (C) 2012-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -34,13 +34,4 @@ #define DCMTK_DCMSR_EXPORT DCMTK_DECL_IMPORT #endif -#ifndef DCMTK_EXPLICIT_SPECIALIZATION -#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION -#define DCMTK_EXPLICIT_SPECIALIZATION template<> -#else -#define DCMTK_EXPLICIT_SPECIALIZATION -#endif -#endif - - #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrchecc.h b/dcmsr/include/dcmtk/dcmsr/dsrchecc.h index b1b775c6..bc849d49 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrchecc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrchecc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2015, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -63,10 +63,9 @@ class DCMTK_DCMSR_EXPORT DSRChestCadSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrcitem.h b/dcmsr/include/dcmtk/dcmsr/dsrcitem.h index 0f42da18..b0e5b627 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrcitem.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrcitem.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -38,6 +38,13 @@ #include "dcmtk/dcmsr/dsrwavvl.h" +// include this file in doxygen documentation + +/** @file dsrcitem.h + * @brief definitions for class DSRContentItem + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -65,21 +72,21 @@ class DCMTK_DCMSR_EXPORT DSRContentItem */ virtual ~DSRContentItem(); - /** comparison operator "equal". + /** check whether content items are "equal". * Two content items are regarded as equal if the comparison operator of the referenced * document tree nodes says so. ** @param item content item that should be compared to the current one ** @return OFTrue if both content items are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRContentItem &item) const; + virtual OFBool isEqual(const DSRContentItem &item) const; - /** comparison operator "not equal". + /** check whether content items are "not equal". * Two content items are regarded as not equal if the comparison operator of the * referenced document tree nodes says so. ** @param item content item that should be compared to the current one ** @return OFTrue if both content items are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRContentItem &item) const; + virtual OFBool isNotEqual(const DSRContentItem &item) const; /** check for validity/completeness. * Applicable to all content items. @@ -630,4 +637,27 @@ class DCMTK_DCMSR_EXPORT DSRContentItem }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRContentItem::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRContentItem &lhs, + const DSRContentItem &rhs); + +/** inequality operator. + * Internally, the DSRContentItem::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRContentItem &lhs, + const DSRContentItem &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrcodtn.h b/dcmsr/include/dcmtk/dcmsr/dsrcodtn.h index a7f8cadb..adf36c22 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrcodtn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrcodtn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrcodvl.h" +// include this file in doxygen documentation + +/** @file dsrcodtn.h + * @brief definitions for class DSRCodeTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -60,33 +67,33 @@ class DCMTK_DCMSR_EXPORT DSRCodeTreeNode */ virtual ~DSRCodeTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRCodeTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRCodeTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the two base classes and the concept name are valid. @@ -161,6 +168,10 @@ class DCMTK_DCMSR_EXPORT DSRCodeTreeNode size_t &annexNumber, const size_t flags) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -171,4 +182,27 @@ class DCMTK_DCMSR_EXPORT DSRCodeTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRCodeTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRCodeTreeNode &lhs, + const DSRCodeTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRCodeTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRCodeTreeNode &lhs, + const DSRCodeTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrcodvl.h b/dcmsr/include/dcmtk/dcmsr/dsrcodvl.h index 347e8e27..92ced19b 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrcodvl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrcodvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2019, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -31,6 +31,13 @@ #include "dcmtk/ofstd/ofexbl.h" +// include this file in doxygen documentation + +/** @file dsrcodvl.h + * @brief definitions for classes DSRBasicCodedEntry and DSRCodedEntryValue + */ + + /*----------------------* * class declarations * *----------------------*/ @@ -197,45 +204,45 @@ class DCMTK_DCMSR_EXPORT DSRCodedEntryValue */ DSRCodedEntryValue &operator=(const DSRCodedEntryValue &codedEntryValue); - /** comparison operator "equal". + /** clear all internal variables. + * Since an empty code is invalid the code becomes invalid afterwards. + */ + virtual void clear(); + + /** check whether codes are "equal". * Two codes are equal if the code value, the coding scheme designator and the (optional) * coding scheme version are equal. The code meaning or attributes from the "Enhanced * Encoding Mode" are not used for this check. ** @param codedEntryValue code that should be compared to the current one ** @return OFTrue if both codes are equal, OFFalse otherwise */ - OFBool operator==(const DSRCodedEntryValue &codedEntryValue) const; + OFBool isEqual(const DSRCodedEntryValue &codedEntryValue) const; - /** comparison operator "not equal". + /** check whether codes are "not equal". * Two codes are not equal if either the code value or the coding scheme designator * or the (optional) coding scheme version are not equal. The code meaning is not * used for this check. ** @param codedEntryValue code that should be compared to the current one ** @return OFTrue if both codes are not equal, OFFalse otherwise */ - OFBool operator!=(const DSRCodedEntryValue &codedEntryValue) const; + OFBool isNotEqual(const DSRCodedEntryValue &codedEntryValue) const; - /** comparison operator "equal". + /** check whether codes are "equal". * Two codes are equal if the code value, the coding scheme designator and the (optional) * coding scheme version are equal. The code meaning is not used for this check. ** @param basicCodedEntry code that should be compared to the current one ** @return OFTrue if both codes are equal, OFFalse otherwise */ - OFBool operator==(const DSRBasicCodedEntry &basicCodedEntry) const; + OFBool isEqual(const DSRBasicCodedEntry &basicCodedEntry) const; - /** comparison operator "not equal". + /** check whether codes are "not equal". * Two codes are not equal if either the code value or the coding scheme designator * or the (optional) coding scheme version are not equal. The code meaning is not * used for this check. ** @param basicCodedEntry code that should be compared to the current one ** @return OFTrue if both codes are not equal, OFFalse otherwise */ - OFBool operator!=(const DSRBasicCodedEntry &basicCodedEntry) const; - - /** clear all internal variables. - * Since an empty code is invalid the code becomes invalid afterwards. - */ - virtual void clear(); + OFBool isNotEqual(const DSRBasicCodedEntry &basicCodedEntry) const; /** check whether the current code is valid. This check only covers the "Basic Coded Entry * Attributes". An empty code is not valid. See checkCode() for details. @@ -672,8 +679,8 @@ class DCMTK_DCMSR_EXPORT DSRCodedEntryValue * Currently, the only checks performed are that the three (two for URN code value) * mandatory string values are non-empty and that all four values conform to the * corresponding VR and VM. Later on, it might also be checked whether the specified - * code really belongs to the coding - * scheme, etc. This requires the presence of the relevant code dictionaries, though. + * code really belongs to the coding scheme, etc. This requires the presence of the + * relevant code dictionaries, though. ** @param codeValue code value to be checked * @param codingSchemeDesignator coding scheme designator to be checked * @param codingSchemeVersion coding scheme version to be checked (might be empty) @@ -739,6 +746,10 @@ class DCMTK_DCMSR_EXPORT DSRCodedEntryValue }; +/*------------------------* + * i/o stream operators * + *------------------------*/ + /** output stream operator for coded entry values. * Internally, the DSRCodedEntryValue::print() method is used, i.e. the output looks * like this: (1234,99_OFFIS_DCMTK,"Code Meaning") or (cm,UCUM[1.4],"centimeter") @@ -747,7 +758,48 @@ class DCMTK_DCMSR_EXPORT DSRCodedEntryValue * @return reference to output stream */ DCMTK_DCMSR_EXPORT STD_NAMESPACE ostream &operator<<(STD_NAMESPACE ostream &stream, - const DSRCodedEntryValue& codedEntryValue); + const DSRCodedEntryValue &codedEntryValue); + + +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRCodedEntryValue::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRCodedEntryValue &lhs, + const DSRCodedEntryValue &rhs); + +/** inequality operator. + * Internally, the DSRCodedEntryValue::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRCodedEntryValue &lhs, + const DSRCodedEntryValue &rhs); + +/** equality operator. + * Internally, the DSRCodedEntryValue::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRCodedEntryValue &lhs, + const DSRBasicCodedEntry &rhs); + +/** inequality operator. + * Internally, the DSRCodedEntryValue::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRCodedEntryValue &lhs, + const DSRBasicCodedEntry &rhs); #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrcolcc.h b/dcmsr/include/dcmtk/dcmsr/dsrcolcc.h index 7daa2424..fab47fbb 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrcolcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrcolcc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2015, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -61,10 +61,9 @@ class DCMTK_DCMSR_EXPORT DSRColonCadSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrcomtn.h b/dcmsr/include/dcmtk/dcmsr/dsrcomtn.h index 8a354172..191a09f9 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrcomtn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrcomtn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrcomvl.h" +// include this file in doxygen documentation + +/** @file dsrcomtn.h + * @brief definitions for class DSRCompositeTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -60,33 +67,33 @@ class DCMTK_DCMSR_EXPORT DSRCompositeTreeNode */ virtual ~DSRCompositeTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRCompositeTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRCompositeTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the two base classes are valid. This check includes the value @@ -151,13 +158,19 @@ class DCMTK_DCMSR_EXPORT DSRCompositeTreeNode * @param annexNumber reference to the variable where the current annex number is stored. * Value is increased automatically by 1 after a new entry has been added. * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix URL prefix used for hyperlink to referenced composite object ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition renderHTMLContentItem(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, const size_t nestingLevel, size_t &annexNumber, - const size_t flags) const; + const size_t flags, + const char *urlPrefix) const; + + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; private: @@ -169,4 +182,27 @@ class DCMTK_DCMSR_EXPORT DSRCompositeTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRCompositeTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRCompositeTreeNode &lhs, + const DSRCompositeTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRCompositeTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRCompositeTreeNode &lhs, + const DSRCompositeTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrcomvl.h b/dcmsr/include/dcmtk/dcmsr/dsrcomvl.h index edce0d0c..24512fc7 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrcomvl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrcomvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2021, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -29,6 +29,13 @@ #include "dcmtk/dcmsr/dsrtypes.h" +// include this file in doxygen documentation + +/** @file dsrcomvl.h + * @brief definitions for class DSRCompositeReferenceValue + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -74,22 +81,22 @@ class DCMTK_DCMSR_EXPORT DSRCompositeReferenceValue */ DSRCompositeReferenceValue &operator=(const DSRCompositeReferenceValue &referenceValue); - /** comparison operator "equal" + /** clear all internal variables. + * Since an empty reference value is invalid the reference becomes invalid afterwards. + */ + virtual void clear(); + + /** check whether values are "equal" ** @param referenceValue reference value that should be compared to the current one ** @return OFTrue if both composite reference values are equal, OFFalse otherwise */ - OFBool operator==(const DSRCompositeReferenceValue &referenceValue) const; + OFBool isEqual(const DSRCompositeReferenceValue &referenceValue) const; - /** comparison operator "not equal" + /** check whether values are "not equal" ** @param referenceValue reference value that should be compared to the current one ** @return OFTrue if both composite reference values are not equal, OFFalse otherwise */ - OFBool operator!=(const DSRCompositeReferenceValue &referenceValue) const; - - /** clear all internal variables. - * Since an empty reference value is invalid the reference becomes invalid afterwards. - */ - virtual void clear(); + OFBool isNotEqual(const DSRCompositeReferenceValue &referenceValue) const; /** check whether the current reference value is valid. * The reference value is valid if SOP class UID and SOP instance UID are valid. See @@ -171,12 +178,14 @@ class DCMTK_DCMSR_EXPORT DSRCompositeReferenceValue * @param annexNumber reference to the variable where the current annex number is stored. * Value is increased automatically by 1 after a new entry has been added. * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix optional URL prefix used for hyperlink to referenced composite object ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, size_t &annexNumber, - const size_t flags) const; + const size_t flags, + const char *urlPrefix = NULL) const; /** get SOP class UID ** @return current SOP class UID (might be invalid or an empty string) @@ -396,4 +405,27 @@ class DCMTK_DCMSR_EXPORT DSRCompositeReferenceValue }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRCompositeReferenceValue::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRCompositeReferenceValue &lhs, + const DSRCompositeReferenceValue &rhs); + +/** inequality operator. + * Internally, the DSRCompositeReferenceValue::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRCompositeReferenceValue &lhs, + const DSRCompositeReferenceValue &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrcontn.h b/dcmsr/include/dcmtk/dcmsr/dsrcontn.h index 8314c376..90956cbe 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrcontn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrcontn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -29,6 +29,13 @@ #include "dcmtk/dcmsr/dsrdoctn.h" +// include this file in doxygen documentation + +/** @file dsrcontn.h + * @brief definitions for class DSRContainerTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -61,33 +68,33 @@ class DCMTK_DCMSR_EXPORT DSRContainerTreeNode */ virtual ~DSRContainerTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRContainerTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRContainerTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the base class is valid, the value is valid (see hasValidValue()), @@ -137,13 +144,15 @@ class DCMTK_DCMSR_EXPORT DSRContainerTreeNode * @param annexNumber reference to the variable where the current annex number is stored. * Value is increased automatically by 1 after a new entry has been added. * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix URL prefix used for hyperlink to referenced composite object ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, const size_t nestingLevel, size_t &annexNumber, - const size_t flags) const; + const size_t flags, + const char *urlPrefix) const; /** get continuity of content flag. * This flag specifies whether or not its contained content items (child nodes) are @@ -166,6 +175,10 @@ class DCMTK_DCMSR_EXPORT DSRContainerTreeNode OFCondition setContinuityOfContent(const E_ContinuityOfContent continuityOfContent, const OFBool check = OFTrue); + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTML; + protected: @@ -208,6 +221,10 @@ class DCMTK_DCMSR_EXPORT DSRContainerTreeNode size_t &annexNumber, const size_t flags) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -222,4 +239,27 @@ class DCMTK_DCMSR_EXPORT DSRContainerTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRContainerTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRContainerTreeNode &lhs, + const DSRContainerTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRContainerTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRContainerTreeNode &lhs, + const DSRContainerTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrdattn.h b/dcmsr/include/dcmtk/dcmsr/dsrdattn.h index 5fa0206d..e5a60f70 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrdattn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrdattn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrstrvl.h" +// include this file in doxygen documentation + +/** @file dsrdattn.h + * @brief definitions for class DSRDateTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -72,33 +79,33 @@ class DCMTK_DCMSR_EXPORT DSRDateTreeNode */ virtual ~DSRDateTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRDateTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRDateTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the base classes, the concept name and the currently stored @@ -195,6 +202,10 @@ class DCMTK_DCMSR_EXPORT DSRDateTreeNode */ virtual OFCondition checkValue(const OFString &dateValue) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -205,4 +216,27 @@ class DCMTK_DCMSR_EXPORT DSRDateTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRDateTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRDateTreeNode &lhs, + const DSRDateTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRDateTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRDateTreeNode &lhs, + const DSRDateTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrdoc.h b/dcmsr/include/dcmtk/dcmsr/dsrdoc.h index 8e64b2a0..b670f16b 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrdoc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrdoc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2021, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -196,11 +196,16 @@ class DCMTK_DCMSR_EXPORT DSRDocument ** @param stream output stream to which the HTML/XHTML document is written * @param flags optional flag used to customize the output (see DSRTypes::HF_xxx) * @param styleSheet optional filename/URL of a Cascading Style Sheet (CSS) + * @param urlPrefix optional URL prefix used for hyperlinks to referenced composite + * objects. If NULL, the default URL prefix is used, which is + * defined by DEFAULT_HTML_HYPERLINK_PREFIX_FOR_COMPOSITE_OBJECTS + * (http://localhost/dicom.cgi). ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition renderHTML(STD_NAMESPACE ostream &stream, const size_t flags = 0, - const char *styleSheet = NULL); + const char *styleSheet = NULL, + const char *urlPrefix = NULL); // --- get/set misc attributes --- @@ -405,6 +410,9 @@ class DCMTK_DCMSR_EXPORT DSRDocument virtual DSRSOPInstanceReferenceList &getPertinentOtherEvidence(); /** get list of referenced SOP instances significantly related to the current SOP instance. + * However, the same instances shall not be referenced in the Current Requested Procedure + * Evidence Sequence, Pertinent Other Evidence Sequence, Predecessor Documents Sequence or + * Identical Documents Sequence. * The DICOM standard states: "Such referenced Instances may include equivalent documents or * renderings of this document. [...] Required if the identity of a CDA Document equivalent * to the current SOP Instance is known at the time of creation of this SOP instance. May be @@ -1275,22 +1283,26 @@ class DCMTK_DCMSR_EXPORT DSRDocument const size_t flags); /** render list of referenced SOP instances in HTML/XHTML format - ** @param stream output stream to which the HTML/XHTML document is written - * @param refList list of referenced SOP instances to be rendered - * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + ** @param stream output stream to which the HTML/XHTML document is written + * @param refList list of referenced SOP instances to be rendered + * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix optional URL prefix used for hyperlinks to referenced composite objects */ void renderHTMLReferenceList(STD_NAMESPACE ostream &stream, DSRSOPInstanceReferenceList &refList, - const size_t flags); + const size_t flags, + const char *urlPrefix = NULL); /** render list of referenced SOP instances in HTML/XHTML format - ** @param stream output stream to which the HTML/XHTML document is written - * @param refList list of referenced SOP instances to be rendered - * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + ** @param stream output stream to which the HTML/XHTML document is written + * @param refList list of referenced SOP instances to be rendered + * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix optional URL prefix used for hyperlinks to referenced composite objects */ void renderHTMLReferenceList(STD_NAMESPACE ostream &stream, DSRReferencedInstanceList &refList, - const size_t flags); + const size_t flags, + const char *urlPrefix = NULL); /** check the given dataset before reading. * This methods checks whether the dataset contains at least the DICOM attributes SOP class UID diff --git a/dcmsr/include/dcmtk/dcmsr/dsrdoctn.h b/dcmsr/include/dcmtk/dcmsr/dsrdoctn.h index 14e95d49..a17919bc 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrdoctn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrdoctn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrcodvl.h" +// include this file in doxygen documentation + +/** @file dsrdoctn.h + * @brief definitions for class DSRDocumentTreeNode + */ + + /*-----------------------* * forward declaration * *-----------------------*/ @@ -87,34 +94,34 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode */ virtual ~DSRDocumentTreeNode(); - /** comparison operator "equal". + /** clone this tree node (abstract). + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRDocumentTreeNode *clone() const = 0; + + /** clear all member variables. + * This does not apply to the relationship and value type since they are never changed. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are regarded as equal if the relationship type, the value type and the * concept name are equal. Other information is not used unless implemented in a derived * class. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are regarded as not equal if either the relationship type or the value * type or the concept name are not equal. Other information is not used unless implemented * in a derived class. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node (abstract). - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRDocumentTreeNode *clone() const = 0; - - /** clear all member variables. - * This does not apply to the relationship and value type since they are never changed. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the relationship type and the value type are both not invalid. @@ -215,15 +222,19 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode * @param annexStream output stream to which the HTML/XHTML document annex is written * @param nestingLevel current nesting level. Used to render section headings. * @param annexNumber reference to the variable where the current annex number is stored. - * Value is increased automatically by 1 after a new entry has been added. + * Value is increased automatically by 1 after a new entry has been + * added. * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix optional URL prefix used for hyperlinks to referenced composite + * objects. If NULL, the default URL prefix is used. ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, const size_t nestingLevel, size_t &annexNumber, - const size_t flags) const; + const size_t flags, + const char *urlPrefix = NULL) const; /** check whether content item is digitally signed. * A content item is signed if the DigitalSignaturesSequence exists. This sequence is read @@ -595,6 +606,26 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode size_t &annexNumber, const size_t flags) const; + /** render content item (value) in HTML/XHTML format. + * This method calls the previous method (without 'urlPrefix'). Derived classes overwrite it + * to render the contents according to their value type. + ** @param docStream output stream to which the main HTML/XHTML document is written + * @param annexStream output stream to which the HTML/XHTML document annex is written + * @param nestingLevel current nesting level. Used to render section headings. + * @param annexNumber reference to the variable where the current annex number is stored. + * Value is increased automatically by 1 after a new entry has been + * added. + * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix URL prefix used for hyperlink to referenced composite object + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition renderHTMLContentItem(STD_NAMESPACE ostream &docStream, + STD_NAMESPACE ostream &annexStream, + const size_t nestingLevel, + size_t &annexNumber, + const size_t flags, + const char *urlPrefix) const; + /** write common item start (XML tag) ** @param stream output stream to which the XML document is written * @param flags flag used to customize the output (see DSRTypes::XF_xxx) @@ -705,13 +736,15 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode * @param annexNumber reference to the variable where the current annex number is stored. * Value is increased automatically by 1 after a new entry has been added. * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix optional URL prefix used for hyperlink to referenced composite object ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition renderHTMLChildNodes(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, const size_t nestingLevel, size_t &annexNumber, - const size_t flags) const; + const size_t flags, + const char *urlPrefix = NULL) const; // --- static function --- @@ -780,4 +813,27 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRDocumentTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRDocumentTreeNode &lhs, + const DSRDocumentTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRDocumentTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRDocumentTreeNode& lhs, + const DSRDocumentTreeNode& rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrdoctr.h b/dcmsr/include/dcmtk/dcmsr/dsrdoctr.h index 8629002f..354bece5 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrdoctr.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrdoctr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2018, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -137,11 +137,14 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTree ** @param docStream output stream to which the main HTML/XHTML document is written * @param annexStream output stream to which the HTML/XHTML document annex is written * @param flags optional flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix optional URL prefix used for hyperlinks to referenced composite + * objects. If NULL, the default URL prefix is used. ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, - const size_t flags = 0); + const size_t flags = 0, + const char *urlPrefix = NULL); /** get document type ** @return current document type (might be DSRTypes::DT_invalid) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrdtitn.h b/dcmsr/include/dcmtk/dcmsr/dsrdtitn.h index 631b353b..bf4c94b9 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrdtitn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrdtitn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrstrvl.h" +// include this file in doxygen documentation + +/** @file dsrdtitn.h + * @brief definitions for class DSRDateTimeTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -72,33 +79,33 @@ class DCMTK_DCMSR_EXPORT DSRDateTimeTreeNode */ virtual ~DSRDateTimeTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRDateTimeTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRDateTimeTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the base classes, the concept name and the currently stored @@ -195,6 +202,10 @@ class DCMTK_DCMSR_EXPORT DSRDateTimeTreeNode */ virtual OFCondition checkValue(const OFString &dateTimeValue) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -205,4 +216,27 @@ class DCMTK_DCMSR_EXPORT DSRDateTimeTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRDateTimeTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRDateTimeTreeNode &lhs, + const DSRDateTimeTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRDateTimeTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRDateTimeTreeNode &lhs, + const DSRDateTimeTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrimgtn.h b/dcmsr/include/dcmtk/dcmsr/dsrimgtn.h index 98573b34..6b14b055 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrimgtn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrimgtn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrimgvl.h" +// include this file in doxygen documentation + +/** @file dsrimgtn.h + * @brief definitions for class DSRImageTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -60,33 +67,33 @@ class DCMTK_DCMSR_EXPORT DSRImageTreeNode */ virtual ~DSRImageTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRImageTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRImageTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the two base classes are valid. This check includes the value @@ -162,13 +169,19 @@ class DCMTK_DCMSR_EXPORT DSRImageTreeNode * @param annexNumber reference to the variable where the current annex number is stored. * Value is increased automatically by 1 after a new entry has been added. * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix URL prefix used for hyperlink to referenced composite object ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition renderHTMLContentItem(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, const size_t nestingLevel, size_t &annexNumber, - const size_t flags) const; + const size_t flags, + const char *urlPrefix) const; + + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; private: @@ -180,4 +193,27 @@ class DCMTK_DCMSR_EXPORT DSRImageTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRImageTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRImageTreeNode &lhs, + const DSRImageTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRImageTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRImageTreeNode &lhs, + const DSRImageTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrimgvl.h b/dcmsr/include/dcmtk/dcmsr/dsrimgvl.h index 1c86317d..8fcf4ed6 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrimgvl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrimgvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2023, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -32,6 +32,13 @@ #include "dcmtk/dcmsr/dsrimgse.h" +// include this file in doxygen documentation + +/** @file dsrimgvl.h + * @brief definitions for class DSRImageReferenceValue + */ + + /*-----------------------* * forward declaration * *-----------------------*/ @@ -112,24 +119,24 @@ class DCMTK_DCMSR_EXPORT DSRImageReferenceValue */ DSRImageReferenceValue &operator=(const DSRImageReferenceValue &referenceValue); - /** comparison operator "equal". + /** clear all internal variables. + * Since an empty image reference is invalid the reference becomes invalid afterwards. + */ + virtual void clear(); + + /** check whether values are "equal". * Please note that the optional icon image is not used for comparing the two values. ** @param referenceValue image reference value that should be compared to the current one ** @return OFTrue if both image reference values are equal, OFFalse otherwise */ - OFBool operator==(const DSRImageReferenceValue &referenceValue) const; + OFBool isEqual(const DSRImageReferenceValue &referenceValue) const; - /** comparison operator "not equal". + /** check whether values are "not equal". * Please note that the optional icon image is not used for comparing the two values. ** @param referenceValue image reference value that should be compared to the current one ** @return OFTrue if both image reference values are not equal, OFFalse otherwise */ - OFBool operator!=(const DSRImageReferenceValue &referenceValue) const; - - /** clear all internal variables. - * Since an empty image reference is invalid the reference becomes invalid afterwards. - */ - virtual void clear(); + OFBool isNotEqual(const DSRImageReferenceValue &referenceValue) const; /** check whether the current image reference value is valid. * The reference value is valid if both SOP class UID and SOP instance UID are valid (see @@ -193,12 +200,14 @@ class DCMTK_DCMSR_EXPORT DSRImageReferenceValue * stored. Value is increased automatically by 1 after a new entry * has been added. * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix optional URL prefix used for hyperlink to referenced composite object ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, size_t &annexNumber, - const size_t flags) const; + const size_t flags, + const char *urlPrefix = NULL) const; /** create an icon image from the given DICOM image and associate it with this image * reference. @@ -511,4 +520,28 @@ class DCMTK_DCMSR_EXPORT DSRImageReferenceValue }; + +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRImageReferenceValue::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRImageReferenceValue &lhs, + const DSRImageReferenceValue &rhs); + +/** inequality operator. + * Internally, the DSRImageReferenceValue::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRImageReferenceValue &lhs, + const DSRImageReferenceValue &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrimpcc.h b/dcmsr/include/dcmtk/dcmsr/dsrimpcc.h index 5c72fe9b..75d5cc97 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrimpcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrimpcc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2015, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -62,10 +62,9 @@ class DCMTK_DCMSR_EXPORT DSRImplantationPlanSRDocumentConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrkeycc.h b/dcmsr/include/dcmtk/dcmsr/dsrkeycc.h index 4ad28360..e3509080 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrkeycc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrkeycc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2015, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -62,10 +62,9 @@ class DCMTK_DCMSR_EXPORT DSRKeyObjectSelectionDocumentConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrmaccc.h b/dcmsr/include/dcmtk/dcmsr/dsrmaccc.h index 66c742ba..1717fc58 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrmaccc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrmaccc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2015, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -62,10 +62,9 @@ class DCMTK_DCMSR_EXPORT DSRMacularGridThicknessAndVolumeReportConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrmamcc.h b/dcmsr/include/dcmtk/dcmsr/dsrmamcc.h index 7335f370..defea9b5 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrmamcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrmamcc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2015, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -64,10 +64,9 @@ class DCMTK_DCMSR_EXPORT DSRMammographyCadSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrnumtn.h b/dcmsr/include/dcmtk/dcmsr/dsrnumtn.h index d0e11d3d..f0410d3e 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrnumtn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrnumtn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrnumvl.h" +// include this file in doxygen documentation + +/** @file dsrnumtn.h + * @brief definitions for class DSRNumTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -60,33 +67,33 @@ class DCMTK_DCMSR_EXPORT DSRNumTreeNode */ virtual ~DSRNumTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRNumTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRNumTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the two base classes and the concept name are valid. @@ -161,6 +168,10 @@ class DCMTK_DCMSR_EXPORT DSRNumTreeNode size_t &annexNumber, const size_t flags) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -171,4 +182,27 @@ class DCMTK_DCMSR_EXPORT DSRNumTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRNumTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRNumTreeNode &lhs, + const DSRNumTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRNumTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRNumTreeNode &lhs, + const DSRNumTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrnumvl.h b/dcmsr/include/dcmtk/dcmsr/dsrnumvl.h index 9e6ea9ba..e9caa944 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrnumvl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrnumvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2021, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,6 +33,13 @@ #include "dcmtk/dcmdata/dcvrul.h" +// include this file in doxygen documentation + +/** @file dsrnumvl.h + * @brief definitions for class DSRNumericMeasurementValue + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -99,16 +106,21 @@ class DCMTK_DCMSR_EXPORT DSRNumericMeasurementValue */ DSRNumericMeasurementValue &operator=(const DSRNumericMeasurementValue &numericMeasurement); - /** comparison operator "equal". + /** clear all internal variables. + * Use this method to create an empty numeric measurement value. + */ + virtual void clear(); + + /** check whether values are "equal". * Two numeric measurement values are equal if the numeric value, the measurement unit * and the value qualifier are equal. Other (additional) information is not used. ** @param numericMeasurement numeric measurement value that should be compared to the * current one ** @return OFTrue if both numeric measurement values are equal, OFFalse otherwise */ - OFBool operator==(const DSRNumericMeasurementValue &numericMeasurement) const; + OFBool isEqual(const DSRNumericMeasurementValue &numericMeasurement) const; - /** comparison operator "not equal". + /** check whether values are "not equal". * Two numeric measurement values are not equal if either the numeric value or the * measurement unit or the value qualifier are not equal. Other (additional) information * is not used for comparison. @@ -116,12 +128,7 @@ class DCMTK_DCMSR_EXPORT DSRNumericMeasurementValue * current one ** @return OFTrue if both numeric measurement values are not equal, OFFalse otherwise */ - OFBool operator!=(const DSRNumericMeasurementValue &numericMeasurement) const; - - /** clear all internal variables. - * Use this method to create an empty numeric measurement value. - */ - virtual void clear(); + OFBool isNotEqual(const DSRNumericMeasurementValue &numericMeasurement) const; /** check whether the current numeric measurement value is valid. * The value is valid if isEmpty() is true or both the numeric value and the measurement @@ -545,6 +552,10 @@ class DCMTK_DCMSR_EXPORT DSRNumericMeasurementValue }; +/*------------------------* + * i/o stream operators * + *------------------------*/ + /** output stream operator for numeric measurement values. * Internally, the DSRNumericMeasurementValue::print() method is used, i.e. the output * looks like this: "3.5" (cm,UCUM[1.4],"centimeter") or "empty" (if the value is empty) @@ -557,4 +568,27 @@ DCMTK_DCMSR_EXPORT STD_NAMESPACE ostream &operator<<(STD_NAMESPACE ostream &stre const DSRNumericMeasurementValue &numericMeasurement); +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRNumericMeasurementValue::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRNumericMeasurementValue &lhs, + const DSRNumericMeasurementValue &rhs); + +/** inequality operator. + * Internally, the DSRNumericMeasurementValue::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRNumericMeasurementValue &lhs, + const DSRNumericMeasurementValue &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrpficc.h b/dcmsr/include/dcmtk/dcmsr/dsrpficc.h index 7c648dd3..0391e2ff 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrpficc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrpficc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2019-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -34,7 +34,7 @@ *---------------------*/ /** Class for checking the relationship content constraints of the Performed Imaging Agent - * Administration SR IOD. + * Administration SR IOD. * According to DICOM PS 3.3: "The document shall be constructed from TID 11020 * (Performed Imaging Agent Administration) invoked at the root node." */ @@ -62,10 +62,9 @@ class DCMTK_DCMSR_EXPORT DSRPerformedImagingAgentAdministrationSRConstraintCheck */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrplicc.h b/dcmsr/include/dcmtk/dcmsr/dsrplicc.h index 716a2b72..c5877621 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrplicc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrplicc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2019, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2019-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -34,7 +34,7 @@ *---------------------*/ /** Class for checking the relationship content constraints of the Planned Imaging Agent - * Administration SR IOD. + * Administration SR IOD. * According to DICOM PS 3.3: "The document shall be constructed from TID 11001 * (Planned Imaging Agent Administration) invoked at the root node." */ @@ -62,10 +62,9 @@ class DCMTK_DCMSR_EXPORT DSRPlannedImagingAgentAdministrationSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h b/dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h index 3e758f04..d91abd39 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrstrvl.h" +// include this file in doxygen documentation + +/** @file dsrpnmtn.h + * @brief definitions for class DSRPNameTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -68,23 +75,6 @@ class DCMTK_DCMSR_EXPORT DSRPNameTreeNode */ DSRPNameTreeNode(const DSRPNameTreeNode &node); - /** comparison operator "equal". - * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode - * regards them as "equal" (same types and concept names) and the stored values are equal. - ** @param node tree node that should be compared to the current one - ** @return OFTrue if both tree nodes are equal, OFFalse otherwise - */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; - - /** comparison operator "not equal". - * Two tree nodes are not equal if either the comparison operator of the base class - * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or - * the stored values are not equal. - ** @param node tree node that should be compared to the current one - ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise - */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - /** clone this tree node. * Internally, the copy constructor is used, so the corresponding comments apply. ** @return copy of this tree node @@ -100,6 +90,23 @@ class DCMTK_DCMSR_EXPORT DSRPNameTreeNode */ virtual void clear(); + /** check whether nodes are "equal". + * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode + * regards them as "equal" (same types and concept names) and the stored values are equal. + ** @param node tree node that should be compared to the current one + ** @return OFTrue if both tree nodes are equal, OFFalse otherwise + */ + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; + + /** check whether nodes are "not equal". + * Two tree nodes are not equal if either the comparison operator of the base class + * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or + * the stored values are not equal. + ** @param node tree node that should be compared to the current one + ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise + */ + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; + /** check whether the content item is valid. * The content item is valid if the base classes, the concept name and the currently * stored value (see hasValidValue()) are valid. @@ -194,6 +201,10 @@ class DCMTK_DCMSR_EXPORT DSRPNameTreeNode */ virtual OFCondition checkValue(const OFString &personNameValue) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -204,4 +215,27 @@ class DCMTK_DCMSR_EXPORT DSRPNameTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRPNameTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRPNameTreeNode &lhs, + const DSRPNameTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRPNameTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRPNameTreeNode &lhs, + const DSRPNameTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrprdcc.h b/dcmsr/include/dcmtk/dcmsr/dsrprdcc.h index 5b36055d..31545a5f 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrprdcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrprdcc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2017, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2017-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -62,10 +62,9 @@ class DCMTK_DCMSR_EXPORT DSRPatientRadiationDoseSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrreftn.h b/dcmsr/include/dcmtk/dcmsr/dsrreftn.h index 54396a9a..8d79b9ee 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrreftn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrreftn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2018, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -29,6 +29,13 @@ #include "dcmtk/dcmsr/dsrdoctn.h" +// include this file in doxygen documentation + +/** @file dsrreftn.h + * @brief definitions for class DSRByReferenceTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -77,16 +84,27 @@ class DCMTK_DCMSR_EXPORT DSRByReferenceTreeNode */ virtual ~DSRByReferenceTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRByReferenceTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item becomes invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. * In this case, the IDs of the referenced nodes are used (if the references are valid). ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. In this case, the IDs of the referenced nodes are @@ -94,18 +112,7 @@ class DCMTK_DCMSR_EXPORT DSRByReferenceTreeNode ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRByReferenceTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item becomes invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the base class is valid, the concept name is empty and @@ -292,6 +299,10 @@ class DCMTK_DCMSR_EXPORT DSRByReferenceTreeNode const OFString &mappingResourceUID = "", const OFBool check = OFTrue); + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -316,4 +327,27 @@ class DCMTK_DCMSR_EXPORT DSRByReferenceTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRByReferenceTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRByReferenceTreeNode &lhs, + const DSRByReferenceTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRByReferenceTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRByReferenceTreeNode &lhs, + const DSRByReferenceTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrrsdcc.h b/dcmsr/include/dcmtk/dcmsr/dsrrsdcc.h index 67044494..983c1be3 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrrsdcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrrsdcc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2020, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2020-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -62,10 +62,9 @@ class DCMTK_DCMSR_EXPORT DSRRenditionSelectionDocumentConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrsaecc.h b/dcmsr/include/dcmtk/dcmsr/dsrsaecc.h index 903fbbb3..60e95bc1 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrsaecc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrsaecc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2016-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -62,10 +62,9 @@ class DCMTK_DCMSR_EXPORT DSRSimplifiedAdultEchoSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h b/dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h index f13a02f7..3579254e 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2023, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrtlist.h" +// include this file in doxygen documentation + +/** @file dsrsc3gr.h + * @brief definitions for class DSRGraphicData3DItem + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -54,20 +61,20 @@ class DCMTK_DCMSR_EXPORT DSRGraphicData3DItem { } - /** comparison operator + /** check whether items are "equal" ** @param item item with which the (x,y,z) triplet should be compared ** @return OFTrue if both triplets are equal, OFFalse otherwise */ - inline OFBool operator==(const DSRGraphicData3DItem &item) const + inline OFBool isEqual(const DSRGraphicData3DItem &item) const { return (item.XCoord == XCoord) && (item.YCoord == YCoord) && (item.ZCoord == ZCoord); } - /** comparison operator + /** check whether items are "not equal" ** @param item item with which the (x,y,z) triplet should be compared ** @return OFTrue if not equal, OFFalse if equal */ - inline OFBool operator!=(const DSRGraphicData3DItem &item) const + inline OFBool isNotEqual(const DSRGraphicData3DItem &item) const { return (item.XCoord != XCoord) || (item.YCoord != YCoord) || (item.ZCoord != ZCoord); } @@ -174,4 +181,27 @@ class DCMTK_DCMSR_EXPORT DSRGraphicData3DList }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRGraphicData3DItem::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRGraphicData3DItem &lhs, + const DSRGraphicData3DItem &rhs); + +/** inequality operator. + * Internally, the DSRGraphicData3DItem::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRGraphicData3DItem &lhs, + const DSRGraphicData3DItem &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h b/dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h index 5597aa56..26b446e3 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2018, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrsc3vl.h" +// include this file in doxygen documentation + +/** @file dsrsc3tn.h + * @brief definitions for class DSRSCoord3DTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -60,33 +67,33 @@ class DCMTK_DCMSR_EXPORT DSRSCoord3DTreeNode */ virtual ~DSRSCoord3DTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRSCoord3DTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRSCoord3DTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the two base classes are valid. This check includes the value @@ -167,6 +174,10 @@ class DCMTK_DCMSR_EXPORT DSRSCoord3DTreeNode size_t &annexNumber, const size_t flags) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -177,4 +188,27 @@ class DCMTK_DCMSR_EXPORT DSRSCoord3DTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRSCoord3DTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRSCoord3DTreeNode &lhs, + const DSRSCoord3DTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRSCoord3DTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRSCoord3DTreeNode &lhs, + const DSRSCoord3DTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h b/dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h index f7bcbe95..49d46bec 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2018, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrsc3gr.h" +// include this file in doxygen documentation + +/** @file dsrsc3vl.h + * @brief definitions for class DSRSpatialCoordinates3DValue + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -68,25 +75,25 @@ class DCMTK_DCMSR_EXPORT DSRSpatialCoordinates3DValue */ DSRSpatialCoordinates3DValue &operator=(const DSRSpatialCoordinates3DValue &coordinatesValue); - /** comparison operator "equal" + /** clear all internal variables. + * Graphic type is set to DSRTypes::GT3_invalid. Since an empty list of graphic data is + * invalid the spatial coordinates value becomes invalid afterwards. + */ + virtual void clear(); + + /** check whether values are "equal" ** @param coordinatesValue spatial coordinates value that should be compared to the * current one ** @return OFTrue if both spatial coordinates values are equal, OFFalse otherwise */ - OFBool operator==(const DSRSpatialCoordinates3DValue &coordinatesValue) const; + OFBool isEqual(const DSRSpatialCoordinates3DValue &coordinatesValue) const; - /** comparison operator "not equal" + /** check whether values are "not equal" ** @param coordinatesValue spatial coordinates value that should be compared to the * current one ** @return OFTrue if both spatial coordinates values are not equal, OFFalse otherwise */ - OFBool operator!=(const DSRSpatialCoordinates3DValue &coordinatesValue) const; - - /** clear all internal variables. - * Graphic type is set to DSRTypes::GT3_invalid. Since an empty list of graphic data is - * invalid the spatial coordinates value becomes invalid afterwards. - */ - virtual void clear(); + OFBool isNotEqual(const DSRSpatialCoordinates3DValue &coordinatesValue) const; /** check whether the current spatial coordinates value is valid. * The value is valid if the graphic type is not DSRTypes::GT3_invalid and the graphic data @@ -309,4 +316,27 @@ class DCMTK_DCMSR_EXPORT DSRSpatialCoordinates3DValue }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRSpatialCoordinates3DValue::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRSpatialCoordinates3DValue &lhs, + const DSRSpatialCoordinates3DValue &rhs); + +/** inequality operator. + * Internally, the DSRSpatialCoordinates3DValue::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRSpatialCoordinates3DValue &lhs, + const DSRSpatialCoordinates3DValue &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrscogr.h b/dcmsr/include/dcmtk/dcmsr/dsrscogr.h index 66c924a5..87e5cf3c 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrscogr.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrscogr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2023, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrtlist.h" +// include this file in doxygen documentation + +/** @file dsrscogr.h + * @brief definitions for class DSRGraphicDataItem + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -51,38 +58,38 @@ class DCMTK_DCMSR_EXPORT DSRGraphicDataItem { } - /** comparison operator + /** check whether items are "equal" ** @param item item with which the (column,row) pair should be compared ** @return OFTrue if both pairs are equal, OFFalse otherwise */ - inline OFBool operator==(const DSRGraphicDataItem &item) const + inline OFBool isEqual(const DSRGraphicDataItem &item) const { return (item.Column == Column) && (item.Row == Row); } - /** comparison operator + /** check whether items are "not equal" ** @param item item with which the (column,row) pair should be compared ** @return OFTrue if not equal, OFFalse if equal */ - inline OFBool operator!=(const DSRGraphicDataItem &item) const + inline OFBool isNotEqual(const DSRGraphicDataItem &item) const { return (item.Column != Column) || (item.Row != Row); } - /** comparison operator + /** check whether this item is "less than" the given item ** @param item item with which the (column,row) pair should be compared ** @return OFTrue if smaller. Row takes precedence over column. */ - inline OFBool operator<(const DSRGraphicDataItem &item) const + inline OFBool isLessThan(const DSRGraphicDataItem &item) const { return (Row < item.Row) || ((Row == item.Row) && (Column < item.Column)); } - /** comparison operator + /** check whether this item is "greater than" the given item ** @param item item with which the (column,row) pair should be compared ** @return OFTrue if greater. Row takes precedence over column. */ - inline OFBool operator>(const DSRGraphicDataItem &item) const + inline OFBool isGreaterThan(const DSRGraphicDataItem &item) const { return (Row > item.Row) || ((Row == item.Row) && (Column > item.Column)); } @@ -183,4 +190,45 @@ class DCMTK_DCMSR_EXPORT DSRGraphicDataList }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRGraphicDataItem::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRGraphicDataItem &lhs, + const DSRGraphicDataItem &rhs); + +/** inequality operator. + * Internally, the DSRGraphicDataItem::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRGraphicDataItem &lhs, + const DSRGraphicDataItem &rhs); + +/** less-than operator. + * Internally, the DSRGraphicDataItem::isLessThan() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' is less than 'rhs', OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator<(const DSRGraphicDataItem &lhs, + const DSRGraphicDataItem &rhs); + +/** greater-than operator. + * Internally, the DSRGraphicDataItem::isGreaterThan() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' is greater than 'rhs', OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator>(const DSRGraphicDataItem &lhs, + const DSRGraphicDataItem &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrscotn.h b/dcmsr/include/dcmtk/dcmsr/dsrscotn.h index d1260d5a..b6f89a29 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrscotn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrscotn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrscovl.h" +// include this file in doxygen documentation + +/** @file dsrscotn.h + * @brief definitions for class DSRSCoordTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -60,33 +67,33 @@ class DCMTK_DCMSR_EXPORT DSRSCoordTreeNode */ virtual ~DSRSCoordTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRSCoordTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRSCoordTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the two base classes are valid. This check includes the value @@ -167,6 +174,10 @@ class DCMTK_DCMSR_EXPORT DSRSCoordTreeNode size_t &annexNumber, const size_t flags) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -177,4 +188,27 @@ class DCMTK_DCMSR_EXPORT DSRSCoordTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRSCoordTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRSCoordTreeNode &lhs, + const DSRSCoordTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRSCoordTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRSCoordTreeNode &lhs, + const DSRSCoordTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrscovl.h b/dcmsr/include/dcmtk/dcmsr/dsrscovl.h index 081ac855..e2302381 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrscovl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrscovl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrscogr.h" +// include this file in doxygen documentation + +/** @file dsrscovl.h + * @brief definitions for class DSRSpatialCoordinatesValue + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -68,25 +75,25 @@ class DCMTK_DCMSR_EXPORT DSRSpatialCoordinatesValue */ DSRSpatialCoordinatesValue &operator=(const DSRSpatialCoordinatesValue &coordinatesValue); - /** comparison operator "equal" + /** clear all internal variables. + * Graphic type is set to DSRTypes::GT_invalid. Since an empty list of graphic data is + * invalid the spatial coordinates value becomes invalid afterwards. + */ + virtual void clear(); + + /** check whether values are "equal" ** @param coordinatesValue spatial coordinates value that should be compared to the * current one ** @return OFTrue if both spatial coordinates values are equal, OFFalse otherwise */ - OFBool operator==(const DSRSpatialCoordinatesValue &coordinatesValue) const; + OFBool isEqual(const DSRSpatialCoordinatesValue &coordinatesValue) const; - /** comparison operator "not equal" + /** check whether values are "not equal" ** @param coordinatesValue spatial coordinates value that should be compared to the * current one ** @return OFTrue if both spatial coordinates values are not equal, OFFalse otherwise */ - OFBool operator!=(const DSRSpatialCoordinatesValue &coordinatesValue) const; - - /** clear all internal variables. - * Graphic type is set to DSRTypes::GT_invalid. Since an empty list of graphic data is - * invalid the spatial coordinates value becomes invalid afterwards. - */ - virtual void clear(); + OFBool isNotEqual(const DSRSpatialCoordinatesValue &coordinatesValue) const; /** check whether the current spatial coordinates value is valid. * The value is valid if the graphic type is not DSRTypes::GT_invalid and the graphic data @@ -280,4 +287,27 @@ class DCMTK_DCMSR_EXPORT DSRSpatialCoordinatesValue }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRSpatialCoordinatesValue::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRSpatialCoordinatesValue &lhs, + const DSRSpatialCoordinatesValue &rhs); + +/** inequality operator. + * Internally, the DSRSpatialCoordinatesValue::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRSpatialCoordinatesValue &lhs, + const DSRSpatialCoordinatesValue &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrspecc.h b/dcmsr/include/dcmtk/dcmsr/dsrspecc.h index ca723c39..2b34a04d 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrspecc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrspecc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2015, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -62,10 +62,9 @@ class DCMTK_DCMSR_EXPORT DSRSpectaclePrescriptionReportConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier and mapping resource of the root template (if any) - ** @param templateIdentifier identifier of the root template (might be empty) + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template * @param mappingResource mapping resource that defines the root template - * (might be empty) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, diff --git a/dcmsr/include/dcmtk/dcmsr/dsrstrvl.h b/dcmsr/include/dcmtk/dcmsr/dsrstrvl.h index e0a7e3da..621be49d 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrstrvl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrstrvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -29,6 +29,13 @@ #include "dcmtk/dcmsr/dsrtypes.h" +// include this file in doxygen documentation + +/** @file dsrstrvl.h + * @brief definitions for class DSRStringValue + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -67,26 +74,26 @@ class DCMTK_DCMSR_EXPORT DSRStringValue */ DSRStringValue &operator=(const DSRStringValue &stringValue); - /** comparison operator "equal". + /** clear all internal variables. + * Please note that the string value might become invalid afterwards. + */ + virtual void clear(); + + /** check whether values are "equal". * Please note that padding or other non-significant characters are not removed before * comparing the two values, i.e. a simple character-by-character comparison is used. ** @param stringValue string value that should be compared to the current one ** @return OFTrue if both string values are equal, OFFalse otherwise */ - OFBool operator==(const DSRStringValue &stringValue) const; + OFBool isEqual(const DSRStringValue &stringValue) const; - /** comparison operator "not equal". + /** check whether values are "not equal". * Please note that padding or other non-significant characters are not removed before * comparing the two values, i.e. a simple character-by-character comparison is used. ** @param stringValue string value that should be compared to the current one ** @return OFTrue if both string values are not equal, OFFalse otherwise */ - OFBool operator!=(const DSRStringValue &stringValue) const; - - /** clear all internal variables. - * Please note that the string value might become invalid afterwards. - */ - virtual void clear(); + OFBool isNotEqual(const DSRStringValue &stringValue) const; /** check whether the current code is valid. * See checkValue() for details. @@ -222,4 +229,27 @@ class DCMTK_DCMSR_EXPORT DSRStringValue }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRStringValue::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRStringValue &lhs, + const DSRStringValue &rhs); + +/** inequality operator. + * Internally, the DSRStringValue::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRStringValue &lhs, + const DSRStringValue &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrtcotn.h b/dcmsr/include/dcmtk/dcmsr/dsrtcotn.h index 1ec34d72..07fad274 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrtcotn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrtcotn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrtcovl.h" +// include this file in doxygen documentation + +/** @file dsrtcotn.h + * @brief definitions for class DSRTCoordTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -60,33 +67,33 @@ class DCMTK_DCMSR_EXPORT DSRTCoordTreeNode */ virtual ~DSRTCoordTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRTCoordTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRTCoordTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the two base classes are valid. This check includes the value @@ -167,6 +174,10 @@ class DCMTK_DCMSR_EXPORT DSRTCoordTreeNode size_t &annexNumber, const size_t flags) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -177,4 +188,27 @@ class DCMTK_DCMSR_EXPORT DSRTCoordTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRTCoordTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRTCoordTreeNode &lhs, + const DSRTCoordTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRTCoordTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRTCoordTreeNode &lhs, + const DSRTCoordTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrtcovl.h b/dcmsr/include/dcmtk/dcmsr/dsrtcovl.h index 3bf99b91..00a5cca2 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrtcovl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrtcovl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -32,6 +32,13 @@ #include "dcmtk/dcmsr/dsrtcoto.h" +// include this file in doxygen documentation + +/** @file dsrtcovl.h + * @brief definitions for class DSRTemporalCoordinatesValue + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -70,25 +77,25 @@ class DCMTK_DCMSR_EXPORT DSRTemporalCoordinatesValue */ DSRTemporalCoordinatesValue &operator=(const DSRTemporalCoordinatesValue &coordinatesValue); - /** comparison operator "equal" + /** clear all internal variables. + * Temporal range type is set to DSRTypes::TRT_invalid. Since an empty list of graphic data + * is invalid the temporal coordinates value becomes invalid afterwards. + */ + virtual void clear(); + + /** check whether values are "equal" ** @param coordinatesValue temporal coordinates value that should be compared to the * current one ** @return OFTrue if both temporal coordinates values are equal, OFFalse otherwise */ - OFBool operator==(const DSRTemporalCoordinatesValue &coordinatesValue) const; + OFBool isEqual(const DSRTemporalCoordinatesValue &coordinatesValue) const; - /** comparison operator "not equal" + /** check whether values are "not equal" ** @param coordinatesValue temporal coordinates value that should be compared to the * current one ** @return OFTrue if both temporal coordinates values are not equal, OFFalse otherwise */ - OFBool operator!=(const DSRTemporalCoordinatesValue &coordinatesValue) const; - - /** clear all internal variables. - * Temporal range type is set to DSRTypes::TRT_invalid. Since an empty list of graphic data - * is invalid the temporal coordinates value becomes invalid afterwards. - */ - virtual void clear(); + OFBool isNotEqual(const DSRTemporalCoordinatesValue &coordinatesValue) const; /** check whether the current temporal coordinates value is valid. * The value is valid if the temporal range type is not DSRTypes::TRT_invalid and the other @@ -277,4 +284,27 @@ class DCMTK_DCMSR_EXPORT DSRTemporalCoordinatesValue }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRTemporalCoordinatesValue::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRTemporalCoordinatesValue &lhs, + const DSRTemporalCoordinatesValue &rhs); + +/** inequality operator. + * Internally, the DSRTemporalCoordinatesValue::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRTemporalCoordinatesValue &lhs, + const DSRTemporalCoordinatesValue &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrtextn.h b/dcmsr/include/dcmtk/dcmsr/dsrtextn.h index 183ec4aa..575b62a5 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrtextn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrtextn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrstrvl.h" +// include this file in doxygen documentation + +/** @file dsrtextn.h + * @brief definitions for class DSRTextTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -72,33 +79,33 @@ class DCMTK_DCMSR_EXPORT DSRTextTreeNode */ virtual ~DSRTextTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRTextTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRTextTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the base classes, the concept name and the currently @@ -188,6 +195,10 @@ class DCMTK_DCMSR_EXPORT DSRTextTreeNode */ virtual OFCondition checkValue(const OFString &textValue) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -198,4 +209,27 @@ class DCMTK_DCMSR_EXPORT DSRTextTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRTextTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRTextTreeNode &lhs, + const DSRTextTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRTextTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRTextTreeNode &lhs, + const DSRTextTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrtimtn.h b/dcmsr/include/dcmtk/dcmsr/dsrtimtn.h index 4822c7bb..d874467b 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrtimtn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrtimtn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrstrvl.h" +// include this file in doxygen documentation + +/** @file dsrtimtn.h + * @brief definitions for class DSRTimeTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -72,33 +79,33 @@ class DCMTK_DCMSR_EXPORT DSRTimeTreeNode */ virtual ~DSRTimeTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRTimeTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRTimeTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the base classes, the concept name and the currently stored @@ -195,6 +202,10 @@ class DCMTK_DCMSR_EXPORT DSRTimeTreeNode */ virtual OFCondition checkValue(const OFString &timeValue) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -205,4 +216,27 @@ class DCMTK_DCMSR_EXPORT DSRTimeTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRTimeTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRTimeTreeNode &lhs, + const DSRTimeTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRTimeTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRTimeTreeNode &lhs, + const DSRTimeTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrtnant.h b/dcmsr/include/dcmtk/dcmsr/dsrtnant.h index 8f4a93ca..2bf2c78d 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrtnant.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrtnant.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2017, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -30,10 +30,17 @@ #include "dcmtk/dcmsr/dsrtypes.h" +// include this file in doxygen documentation + +/** @file dsrtnant.h + * @brief definitions for class DSRTreeNodeAnnotation + */ + + /** Base class for tree node annotations. * Currently, this class supports textual annotations only. */ -class DSRTreeNodeAnnotation +class DCMTK_DCMSR_EXPORT DSRTreeNodeAnnotation { public: @@ -42,16 +49,11 @@ class DSRTreeNodeAnnotation ** @param text optional character string that should be set as the initial value * of the annotation text */ - DSRTreeNodeAnnotation(const OFString &text = OFString()) - : Text(text) - { - } + DSRTreeNodeAnnotation(const OFString &text = OFString()); /** destructor */ - virtual ~DSRTreeNodeAnnotation() - { - } + virtual ~DSRTreeNodeAnnotation(); /** conversion operator that returns the currently stored annotation text */ @@ -60,35 +62,35 @@ class DSRTreeNodeAnnotation return Text; } - /** comparison operator. + /** clear the currently stored annotation text + */ + inline void clear() + { + Text.clear(); + } + + /** check whether annotations are "equal". * Two annotations are equal, if the internally stored character strings (text) * have the same value. ** @param annotation annotation that should be compared to the current one ** @return OFTrue if both annotations are equal, OFFalse otherwise */ - OFBool operator==(const DSRTreeNodeAnnotation &annotation) const + OFBool isEqual(const DSRTreeNodeAnnotation &annotation) const { return (Text == annotation.Text); } - /** comparison operator. + /** check whether annotations are "not equal". * Two annotations are not equal, if the internally stored character strings * (text) have different values. ** @param annotation annotation that should be compared to the current one ** @return OFTrue if both annotations are not equal, OFFalse otherwise */ - OFBool operator!=(const DSRTreeNodeAnnotation &annotation) const + OFBool isNotEqual(const DSRTreeNodeAnnotation &annotation) const { return (Text != annotation.Text); } - /** clear the currently stored annotation text - */ - inline void clear() - { - Text.clear(); - } - /** check whether the annotation is empty, i.e.\ whether the internally stored * character string (text) has an empty value ** @return OFTrue if the annotation is empty, OFFalse otherwise @@ -123,4 +125,28 @@ class DSRTreeNodeAnnotation }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRTreeNodeAnnotation::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRTreeNodeAnnotation &lhs, + const DSRTreeNodeAnnotation &rhs); + + +/** inequality operator. + * Internally, the DSRTreeNodeAnnotation::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRTreeNodeAnnotation &lhs, + const DSRTreeNodeAnnotation &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrtpltn.h b/dcmsr/include/dcmtk/dcmsr/dsrtpltn.h index 8e82e6c7..4c1ccd04 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrtpltn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrtpltn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2018, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrstpl.h" +// include this file in doxygen documentation + +/** @file dsrtpltn.h + * @brief definitions for class DSRIncludedTemplateTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -61,33 +68,33 @@ class DCMTK_DCMSR_EXPORT DSRIncludedTemplateTreeNode */ virtual ~DSRIncludedTemplateTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRIncludedTemplateTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item becomes invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRIncludedTemplateTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item becomes invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the base class is valid and the reference to the @@ -182,13 +189,15 @@ class DCMTK_DCMSR_EXPORT DSRIncludedTemplateTreeNode * @param nestingLevel dummy parameter * @param annexNumber dummy parameter * @param flags dummy parameter + * @param urlPrefix dummy parameter ** @return always returns SR_EC_CannotProcessIncludedTemplates */ virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, const size_t nestingLevel, size_t &annexNumber, - const size_t flags) const; + const size_t flags, + const char *urlPrefix = NULL) const; /** set the concept name ** @param conceptName dummy parameter @@ -262,4 +271,27 @@ class DCMTK_DCMSR_EXPORT DSRIncludedTemplateTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRIncludedTemplateTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRIncludedTemplateTreeNode &lhs, + const DSRIncludedTemplateTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRIncludedTemplateTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRIncludedTemplateTreeNode &lhs, + const DSRIncludedTemplateTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrtypes.h b/dcmsr/include/dcmtk/dcmsr/dsrtypes.h index 2394816d..ba1ecc9a 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrtypes.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrtypes.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2023, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -69,8 +69,8 @@ extern DCMTK_DCMSR_EXPORT OFLogger DCM_dcmsrLogger; // organization responsible for the private coding scheme #define OFFIS_CODING_SCHEME_RESPONSIBLE_ORGANIZATION "OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany" -// protocol, hostname and CGI script name used for HTML hyperlinks to composite objects -#define HTML_HYPERLINK_PREFIX_FOR_CGI "http://localhost/dicom.cgi" +// default URL prefix used for HTML hyperlinks to composite objects +#define DEFAULT_HTML_HYPERLINK_PREFIX_FOR_COMPOSITE_OBJECTS "http://localhost/dicom.cgi" // URL of the DICOM toolkit DCMTK #define DCMTK_INTERNET_URL "https://www.dcmtk.org/" @@ -547,8 +547,10 @@ class DCMTK_DCMSR_EXPORT DSRTypes DT_PlannedImagingAgentAdministrationSR, /// DICOM IOD: Rendition Selection Document DT_RenditionSelectionDocument, + /// DICOM IOD: Waveform Annotation SR + DT_WaveformAnnotationSR, /// internal type used to mark the last entry - DT_last = DT_RenditionSelectionDocument + DT_last = DT_WaveformAnnotationSR }; /** SR relationship types @@ -1247,11 +1249,13 @@ class DCMTK_DCMSR_EXPORT DSRTypes /** convert unsigned integer number to character string ** @param number unsigned integer number to be converted * @param stringValue character string used to store the result + * @param stringLength size of the character string buffer used to store the result ** @return pointer to the first character of the resulting string * (may be NULL if 'string' was NULL) */ static const char *numberToString(const size_t number, - char *stringValue); + char *stringValue, + size_t stringLength); /** convert string to unsigned integer number ** @param stringValue character string to be converted diff --git a/dcmsr/include/dcmtk/dcmsr/dsruidtn.h b/dcmsr/include/dcmtk/dcmsr/dsruidtn.h index 5c1ea061..629d7b1d 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsruidtn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsruidtn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrstrvl.h" +// include this file in doxygen documentation + +/** @file dsruidtn.h + * @brief definitions for class DSRUIDRefTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -72,33 +79,33 @@ class DCMTK_DCMSR_EXPORT DSRUIDRefTreeNode */ virtual ~DSRUIDRefTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRUIDRefTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRUIDRefTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the base classes, the concept name and the currently stored @@ -179,6 +186,10 @@ class DCMTK_DCMSR_EXPORT DSRUIDRefTreeNode */ virtual OFCondition checkValue(const OFString &uidValue) const; + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; + private: @@ -189,4 +200,27 @@ class DCMTK_DCMSR_EXPORT DSRUIDRefTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRUIDRefTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRUIDRefTreeNode &lhs, + const DSRUIDRefTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRUIDRefTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRUIDRefTreeNode &lhs, + const DSRUIDRefTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrwancc.h b/dcmsr/include/dcmtk/dcmsr/dsrwancc.h new file mode 100644 index 00000000..1cbd9901 --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/dsrwancc.h @@ -0,0 +1,93 @@ +/* + * + * Copyright (C) 2024, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation are maintained by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmsr + * + * Author: Joerg Riesmeier + * + * Purpose: + * classes: DSRWaveformAnnotationSRConstraintChecker + * + */ + + +#ifndef DSRWANCC_H +#define DSRWANCC_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsriodcc.h" + + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Class for checking the relationship content constraints of the Waveform Annotation + * SR IOD. + * According to DICOM PS 3.3: "The document shall be constructed from TID 3750 + * (Waveform Annotations) invoked at the root node." + */ +class DCMTK_DCMSR_EXPORT DSRWaveformAnnotationSRConstraintChecker + : public DSRIODConstraintChecker +{ + + public: + + /** default constructor + */ + DSRWaveformAnnotationSRConstraintChecker(); + + /** destructor + */ + virtual ~DSRWaveformAnnotationSRConstraintChecker(); + + /** check whether by-reference relationships are allowed for this SR IOD + ** @return always returns OFTrue, i.e. by-reference relationships are allowed + */ + virtual OFBool isByReferenceAllowed() const; + + /** check whether this SR IOD requires template support + ** @return always returns OFTrue, i.e. template support is required + */ + virtual OFBool isTemplateSupportRequired() const; + + /** get identifier and mapping resource of the root template + ** @param templateIdentifier identifier of the root template + * @param mappingResource mapping resource that defines the root template + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; + + /** get the associated document type of the SR IOD + ** @return document type (DSRTypes::DSRWaveformAnnotationSRConstraintChecker) + */ + virtual E_DocumentType getDocumentType() const; + + /** check whether specified content relationship is allowed for this IOD + ** @param sourceValueType value type of the source content item to be checked + * @param relationshipType type of relationship between source and target item + * @param targetValueType value type of the target content item to be checked + * @param byReference optional flag indicating whether the node/relationship + * should be added by-value (default) or by-reference + ** @return OFTrue if content relationship is allowed, OFFalse otherwise + */ + virtual OFBool checkContentRelationship(const E_ValueType sourceValueType, + const E_RelationshipType relationshipType, + const E_ValueType targetValueType, + const OFBool byReference = OFFalse) const; +}; + + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrwavch.h b/dcmsr/include/dcmtk/dcmsr/dsrwavch.h index 1dafa126..3639c662 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrwavch.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrwavch.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2023, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrtlist.h" +// include this file in doxygen documentation + +/** @file dsrwavch.h + * @brief definitions for class DSRWaveformChannelItem + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -51,38 +58,38 @@ class DCMTK_DCMSR_EXPORT DSRWaveformChannelItem { } - /** comparison operator + /** check whether items are "equal" ** @param item item with which the (m,c) pair should be compared ** @return OFTrue if both pairs are equal, OFFalse otherwise */ - inline OFBool operator==(const DSRWaveformChannelItem &item) const + inline OFBool isEqual(const DSRWaveformChannelItem &item) const { return (item.MultiplexGroupNumber == MultiplexGroupNumber) && (item.ChannelNumber == ChannelNumber); } - /** comparison operator + /** check whether items are "not equal" ** @param item item with which the (m,c) pair should be compared ** @return OFTrue if not equal, OFFalse if equal */ - inline OFBool operator!=(const DSRWaveformChannelItem &item) const + inline OFBool isNotEqual(const DSRWaveformChannelItem &item) const { return (item.MultiplexGroupNumber != MultiplexGroupNumber) || (item.ChannelNumber != ChannelNumber); } - /** comparison operator + /** check whether this item is "less than" the given item ** @param item item with which the (m,c) pair should be compared ** @return OFTrue if smaller. ChannelNumber takes precedence over MultiplexGroupNumber. */ - inline OFBool operator<(const DSRWaveformChannelItem &item) const + inline OFBool isLessThan(const DSRWaveformChannelItem &item) const { return (ChannelNumber < item.ChannelNumber) || ((ChannelNumber == item.ChannelNumber) && (MultiplexGroupNumber < item.MultiplexGroupNumber)); } - /** comparison operator + /** check whether this item is "greater than" the given item ** @param item item with which the (m,c) pair should be compared ** @return OFTrue if greater. ChannelNumber takes precedence over MultiplexGroupNumber. */ - inline OFBool operator>(const DSRWaveformChannelItem &item) const + inline OFBool isGreaterThan(const DSRWaveformChannelItem &item) const { return (ChannelNumber > item.ChannelNumber) || ((ChannelNumber == item.ChannelNumber) && (MultiplexGroupNumber > item.MultiplexGroupNumber)); } @@ -185,4 +192,45 @@ class DCMTK_DCMSR_EXPORT DSRWaveformChannelList }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRWaveformChannelItem::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRWaveformChannelItem &lhs, + const DSRWaveformChannelItem &rhs); + +/** inequality operator. + * Internally, the DSRWaveformChannelItem::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRWaveformChannelItem &lhs, + const DSRWaveformChannelItem &rhs); + +/** less-than operator. + * Internally, the DSRWaveformChannelItem::isLessThan() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' is less than 'rhs', OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator<(const DSRWaveformChannelItem &lhs, + const DSRWaveformChannelItem &rhs); + +/** greater-than operator. + * Internally, the DSRWaveformChannelItem::isGreaterThan() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' is greater than 'rhs', OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator>(const DSRWaveformChannelItem &lhs, + const DSRWaveformChannelItem &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrwavtn.h b/dcmsr/include/dcmtk/dcmsr/dsrwavtn.h index 87be60aa..7479fc2e 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrwavtn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrwavtn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,6 +30,13 @@ #include "dcmtk/dcmsr/dsrwavvl.h" +// include this file in doxygen documentation + +/** @file dsrwavtn.h + * @brief definitions for class DSRWaveformTreeNode + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -60,33 +67,33 @@ class DCMTK_DCMSR_EXPORT DSRWaveformTreeNode */ virtual ~DSRWaveformTreeNode(); - /** comparison operator "equal". + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRWaveformTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item might become invalid afterwards. + */ + virtual void clear(); + + /** check whether nodes are "equal". * Two tree nodes are equal if the comparison operator of the base class DSRDocumentTreeNode * regards them as "equal" (same types and concept names) and the stored values are equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are equal, OFFalse otherwise */ - virtual OFBool operator==(const DSRDocumentTreeNode &node) const; + virtual OFBool isEqual(const DSRDocumentTreeNode &node) const; - /** comparison operator "not equal". + /** check whether nodes are "not equal". * Two tree nodes are not equal if either the comparison operator of the base class * DSRDocumentTreeNode regards them as "not equal" (different types or concept names) or * the stored values are not equal. ** @param node tree node that should be compared to the current one ** @return OFTrue if both tree nodes are not equal, OFFalse otherwise */ - virtual OFBool operator!=(const DSRDocumentTreeNode &node) const; - - /** clone this tree node. - * Internally, the copy constructor is used, so the corresponding comments apply. - ** @return copy of this tree node - */ - virtual DSRWaveformTreeNode *clone() const; - - /** clear all member variables. - * Please note that the content item might become invalid afterwards. - */ - virtual void clear(); + virtual OFBool isNotEqual(const DSRDocumentTreeNode &node) const; /** check whether the content item is valid. * The content item is valid if the two base classes are valid. This check includes the value @@ -159,13 +166,19 @@ class DCMTK_DCMSR_EXPORT DSRWaveformTreeNode * @param annexNumber reference to the variable where the current annex number is stored. * Value is increased automatically by 1 after a new entry has been added. * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix URL prefix used for hyperlink to referenced composite object ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition renderHTMLContentItem(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, const size_t nestingLevel, size_t &annexNumber, - const size_t flags) const; + const size_t flags, + const char *urlPrefix) const; + + // --- reintroduce methods from base class + + using DSRDocumentTreeNode::renderHTMLContentItem; private: @@ -177,4 +190,27 @@ class DCMTK_DCMSR_EXPORT DSRWaveformTreeNode }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRWaveformTreeNode::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRWaveformTreeNode &lhs, + const DSRWaveformTreeNode &rhs); + +/** inequality operator. + * Internally, the DSRWaveformTreeNode::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRWaveformTreeNode &lhs, + const DSRWaveformTreeNode &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrwavvl.h b/dcmsr/include/dcmtk/dcmsr/dsrwavvl.h index f28cab59..3f7b5253 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrwavvl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrwavvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2023, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -31,6 +31,13 @@ #include "dcmtk/dcmsr/dsrwavch.h" +// include this file in doxygen documentation + +/** @file dsrwavvl.h + * @brief definitions for class DSRWaveformReferenceValue + */ + + /*---------------------* * class declaration * *---------------------*/ @@ -77,22 +84,22 @@ class DCMTK_DCMSR_EXPORT DSRWaveformReferenceValue */ DSRWaveformReferenceValue &operator=(const DSRWaveformReferenceValue &referenceValue); - /** comparison operator "equal" + /** clear all internal variables. + * Since an empty waveform reference is invalid the reference becomes invalid afterwards. + */ + virtual void clear(); + + /** check whether values are "equal" ** @param referenceValue waveform reference value that should be compared to the current one ** @return OFTrue if both waveform reference values are equal, OFFalse otherwise */ - OFBool operator==(const DSRWaveformReferenceValue &referenceValue) const; + OFBool isEqual(const DSRWaveformReferenceValue &referenceValue) const; - /** comparison operator "not equal" + /** check whether values are "not equal" ** @param referenceValue waveform reference value that should be compared to the current one ** @return OFTrue if both waveform reference values are not equal, OFFalse otherwise */ - OFBool operator!=(const DSRWaveformReferenceValue &referenceValue) const; - - /** clear all internal variables. - * Since an empty waveform reference is invalid the reference becomes invalid afterwards. - */ - virtual void clear(); + OFBool isNotEqual(const DSRWaveformReferenceValue &referenceValue) const; /** check whether the content is short. * This method is used to check whether the rendered output of this content item can be @@ -137,12 +144,14 @@ class DCMTK_DCMSR_EXPORT DSRWaveformReferenceValue * @param annexNumber reference to the variable where the current annex number is stored. * Value is increased automatically by 1 after a new entry has been added. * @param flags flag used to customize the output (see DSRTypes::HF_xxx) + * @param urlPrefix optional URL prefix used for hyperlink to referenced composite object ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, size_t &annexNumber, - const size_t flags) const; + const size_t flags, + const char *urlPrefix = NULL) const; /** get reference to waveform reference value ** @return reference to waveform reference value @@ -232,4 +241,27 @@ class DCMTK_DCMSR_EXPORT DSRWaveformReferenceValue }; +/*------------------------* + * comparison operators * + *------------------------*/ + +/** equality operator. + * Internally, the DSRWaveformReferenceValue::isEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator==(const DSRWaveformReferenceValue &lhs, + const DSRWaveformReferenceValue &rhs); + +/** inequality operator. + * Internally, the DSRWaveformReferenceValue::isNotEqual() method is used. + * @param lhs left-hand side + * @param rhs right-hand side + * @return OFTrue if 'lhs' and 'rhs' are not equal, OFFalse otherwise + */ +DCMTK_DCMSR_EXPORT OFBool operator!=(const DSRWaveformReferenceValue &lhs, + const DSRWaveformReferenceValue &rhs); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrxmlc.h b/dcmsr/include/dcmtk/dcmsr/dsrxmlc.h index 6cc94f45..afd7a0c9 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrxmlc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrxmlc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2021, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -39,18 +39,6 @@ #define LIBXML_ATTR_FORMAT(fmt,args) #endif -// The libxml library also uses unicode. So we have to reuse some -// workarounds for the ICU library here as well. -// The type char16_t is only supported since C++11. -#ifndef HAVE_CHAR16_T -#define UCHAR_TYPE uint16_t -#endif - -//If U_NOEXCEPT is not defined, ICU falls back to NOEXCEPT. -#ifndef HAVE_CXX11 -#define U_NOEXCEPT -#endif - #include #endif diff --git a/dcmsr/libcmr/Makefile.dep b/dcmsr/libcmr/Makefile.dep index 1717bdc4..8ea43193 100644 --- a/dcmsr/libcmr/Makefile.dep +++ b/dcmsr/libcmr/Makefile.dep @@ -11,8 +11,8 @@ cid100.o: cid100.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -48,6 +48,7 @@ cid100.o: cid100.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -57,7 +58,6 @@ cid100.o: cid100.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -78,8 +78,8 @@ cid10013.o: cid10013.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -115,6 +115,7 @@ cid10013.o: cid10013.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -124,7 +125,6 @@ cid10013.o: cid10013.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -146,8 +146,8 @@ cid10013e.o: cid10013e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -183,6 +183,7 @@ cid10013e.o: cid10013e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -192,7 +193,6 @@ cid10013e.o: cid10013e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -213,8 +213,8 @@ cid10033.o: cid10033.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -250,6 +250,7 @@ cid10033.o: cid10033.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -259,7 +260,6 @@ cid10033.o: cid10033.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -281,8 +281,8 @@ cid10033e.o: cid10033e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -318,6 +318,7 @@ cid10033e.o: cid10033e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -327,7 +328,6 @@ cid10033e.o: cid10033e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -348,8 +348,8 @@ cid11.o: cid11.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -385,6 +385,7 @@ cid11.o: cid11.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -394,7 +395,6 @@ cid11.o: cid11.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -415,8 +415,8 @@ cid218.o: cid218.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -452,6 +452,7 @@ cid218.o: cid218.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -461,7 +462,6 @@ cid218.o: cid218.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -482,8 +482,8 @@ cid218e.o: cid218e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -519,6 +519,7 @@ cid218e.o: cid218e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -528,7 +529,6 @@ cid218e.o: cid218e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -550,8 +550,8 @@ cid244.o: cid244.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -587,6 +587,7 @@ cid244.o: cid244.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -596,7 +597,6 @@ cid244.o: cid244.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -617,8 +617,8 @@ cid244e.o: cid244e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -654,6 +654,7 @@ cid244e.o: cid244e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -663,7 +664,6 @@ cid244e.o: cid244e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -684,8 +684,8 @@ cid247.o: cid247.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -721,6 +721,7 @@ cid247.o: cid247.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -730,7 +731,6 @@ cid247.o: cid247.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -751,8 +751,8 @@ cid29.o: cid29.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -788,6 +788,7 @@ cid29.o: cid29.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -797,7 +798,6 @@ cid29.o: cid29.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -818,8 +818,8 @@ cid29e.o: cid29e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -855,6 +855,7 @@ cid29e.o: cid29e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -864,7 +865,6 @@ cid29e.o: cid29e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -886,8 +886,8 @@ cid4020.o: cid4020.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -923,6 +923,7 @@ cid4020.o: cid4020.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -932,7 +933,6 @@ cid4020.o: cid4020.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -953,8 +953,8 @@ cid4021.o: cid4021.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -990,6 +990,7 @@ cid4021.o: cid4021.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -999,7 +1000,6 @@ cid4021.o: cid4021.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1020,8 +1020,8 @@ cid4031.o: cid4031.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1057,6 +1057,7 @@ cid4031.o: cid4031.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1066,7 +1067,6 @@ cid4031.o: cid4031.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1088,8 +1088,8 @@ cid4031e.o: cid4031e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1125,6 +1125,7 @@ cid4031e.o: cid4031e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1134,7 +1135,6 @@ cid4031e.o: cid4031e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1155,8 +1155,8 @@ cid42.o: cid42.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1192,6 +1192,7 @@ cid42.o: cid42.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1201,7 +1202,6 @@ cid42.o: cid42.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1222,8 +1222,8 @@ cid5000.o: cid5000.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1259,6 +1259,7 @@ cid5000.o: cid5000.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1268,7 +1269,6 @@ cid5000.o: cid5000.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1289,8 +1289,8 @@ cid5001.o: cid5001.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1326,6 +1326,7 @@ cid5001.o: cid5001.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1335,7 +1336,6 @@ cid5001.o: cid5001.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1356,8 +1356,8 @@ cid6147.o: cid6147.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1393,6 +1393,7 @@ cid6147.o: cid6147.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1402,7 +1403,6 @@ cid6147.o: cid6147.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1423,8 +1423,8 @@ cid7021.o: cid7021.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1460,6 +1460,7 @@ cid7021.o: cid7021.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1469,7 +1470,6 @@ cid7021.o: cid7021.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1490,8 +1490,8 @@ cid7181.o: cid7181.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1527,6 +1527,7 @@ cid7181.o: cid7181.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1536,7 +1537,6 @@ cid7181.o: cid7181.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1557,8 +1557,8 @@ cid7445.o: cid7445.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1594,6 +1594,7 @@ cid7445.o: cid7445.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1603,7 +1604,6 @@ cid7445.o: cid7445.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1624,8 +1624,8 @@ cid7452.o: cid7452.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1661,6 +1661,7 @@ cid7452.o: cid7452.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1670,7 +1671,6 @@ cid7452.o: cid7452.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1691,8 +1691,8 @@ cid7453.o: cid7453.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1728,6 +1728,7 @@ cid7453.o: cid7453.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1737,7 +1738,6 @@ cid7453.o: cid7453.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1758,8 +1758,8 @@ cid7464.o: cid7464.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1795,6 +1795,7 @@ cid7464.o: cid7464.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1804,7 +1805,6 @@ cid7464.o: cid7464.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1825,8 +1825,8 @@ cid7469.o: cid7469.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1862,6 +1862,7 @@ cid7469.o: cid7469.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1871,7 +1872,6 @@ cid7469.o: cid7469.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1892,8 +1892,8 @@ cid7551.o: cid7551.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1929,6 +1929,7 @@ cid7551.o: cid7551.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1938,7 +1939,6 @@ cid7551.o: cid7551.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1960,8 +1960,8 @@ init.o: init.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1997,6 +1997,7 @@ init.o: init.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2006,7 +2007,6 @@ init.o: init.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2046,9 +2046,9 @@ logger.o: logger.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -2080,8 +2080,8 @@ srnumvl.o: srnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2117,6 +2117,7 @@ srnumvl.o: srnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2126,7 +2127,6 @@ srnumvl.o: srnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2152,8 +2152,8 @@ tid1001.o: tid1001.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2189,6 +2189,7 @@ tid1001.o: tid1001.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2198,7 +2199,6 @@ tid1001.o: tid1001.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2245,8 +2245,8 @@ tid1204.o: tid1204.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2282,6 +2282,7 @@ tid1204.o: tid1204.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2291,7 +2292,6 @@ tid1204.o: tid1204.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2337,8 +2337,8 @@ tid1411.o: tid1411.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2374,6 +2374,7 @@ tid1411.o: tid1411.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2383,7 +2384,6 @@ tid1411.o: tid1411.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2443,8 +2443,8 @@ tid1419m.o: tid1419m.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2480,6 +2480,7 @@ tid1419m.o: tid1419m.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2489,7 +2490,6 @@ tid1419m.o: tid1419m.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2546,8 +2546,8 @@ tid1500.o: tid1500.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2583,6 +2583,7 @@ tid1500.o: tid1500.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2592,7 +2593,6 @@ tid1500.o: tid1500.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2663,8 +2663,8 @@ tid1501.o: tid1501.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2700,6 +2700,7 @@ tid1501.o: tid1501.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2709,7 +2710,6 @@ tid1501.o: tid1501.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2761,8 +2761,8 @@ tid15def.o: tid15def.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -2784,8 +2784,8 @@ tid1600.o: tid1600.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2821,6 +2821,7 @@ tid1600.o: tid1600.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2830,7 +2831,6 @@ tid1600.o: tid1600.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2889,8 +2889,8 @@ tid300.o: tid300.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2926,6 +2926,7 @@ tid300.o: tid300.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2935,7 +2936,6 @@ tid300.o: tid300.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2992,8 +2992,8 @@ tid4019.o: tid4019.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3029,6 +3029,7 @@ tid4019.o: tid4019.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3038,7 +3039,6 @@ tid4019.o: tid4019.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ diff --git a/dcmsr/libcmr/cid100.cc b/dcmsr/libcmr/cid100.cc index ccd5a891..c1fc65c0 100644 --- a/dcmsr/libcmr/cid100.cc +++ b/dcmsr/libcmr/cid100.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID100_QuantitativeDiagnosticImagingProcedure * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:44 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:09 by J. Riesmeier * */ @@ -18,7 +18,7 @@ // general information on CID 100 (Quantitative Diagnostic Imaging Procedure) #define CONTEXT_GROUP_NUMBER "100" -#define CONTEXT_GROUP_VERSION "20210905" +#define CONTEXT_GROUP_VERSION "20230630" #define CONTEXT_GROUP_UID "1.2.840.10008.6.1.998" #define CONTEXT_GROUP_TYPE OFTrue /* extensible */ @@ -160,6 +160,8 @@ CID100_QuantitativeDiagnosticImagingProcedure::CodeList &CID100_QuantitativeDiag Codes->insert(OFMake_pair(MRIUnspecifiedBodyRegion, DSRBasicCodedEntry("25056-3", "LN", "MRI unspecified body region"))); Codes->insert(OFMake_pair(NMUnspecifiedBodyRegion, DSRBasicCodedEntry("49118-3", "LN", "NM unspecified body region"))); Codes->insert(OFMake_pair(PETUnspecifiedBodyRegion, DSRBasicCodedEntry("44136-0", "LN", "PET unspecified body region"))); + Codes->insert(OFMake_pair(XRUnspecifiedBodyRegion, DSRBasicCodedEntry("43468-8", "LN", "XR unspecified body region"))); + Codes->insert(OFMake_pair(Angiography, DSRBasicCodedEntry("77343006", "SCT", "Angiography"))); Codes->insert(OFMake_pair(PETWholeBody, DSRBasicCodedEntry("44139-4", "LN", "PET whole body"))); Codes->insert(OFMake_pair(PETCT_FDGImagingOfWholeBody, DSRBasicCodedEntry("443271005", "SCT", "PET/CT FDG imaging of whole body"))); Codes->insert(OFMake_pair(PETCT_METImagingOfWholeBody, DSRBasicCodedEntry("764704008", "SCT", "PET/CT MET imaging of whole body"))); diff --git a/dcmsr/libcmr/cid10013.cc b/dcmsr/libcmr/cid10013.cc index 7e2e8330..af30769e 100644 --- a/dcmsr/libcmr/cid10013.cc +++ b/dcmsr/libcmr/cid10013.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID10013_CTAcquisitionType * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:57:00 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:25 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid10033.cc b/dcmsr/libcmr/cid10033.cc index 4ec3ce8b..87e2531d 100644 --- a/dcmsr/libcmr/cid10033.cc +++ b/dcmsr/libcmr/cid10033.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID10033_CTReconstructionAlgorithm * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:57:01 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:26 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid11.cc b/dcmsr/libcmr/cid11.cc index db9990ee..e6e61071 100644 --- a/dcmsr/libcmr/cid11.cc +++ b/dcmsr/libcmr/cid11.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID11_AdministrationRoute * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:42 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:06 by J. Riesmeier * */ @@ -18,7 +18,7 @@ // general information on CID 11 (Administration Route) #define CONTEXT_GROUP_NUMBER "11" -#define CONTEXT_GROUP_VERSION "20200117" +#define CONTEXT_GROUP_VERSION "20240611" #define CONTEXT_GROUP_UID "1.2.840.10008.6.1.9" #define CONTEXT_GROUP_TYPE OFTrue /* extensible */ @@ -174,7 +174,7 @@ CID11_AdministrationRoute::CodeList &CID11_AdministrationRoute::getCodes() Codes->insert(OFMake_pair(NasalRoute, DSRBasicCodedEntry("46713006", "SCT", "Nasal route"))); Codes->insert(OFMake_pair(IntradermalRoute, DSRBasicCodedEntry("372464004", "SCT", "Intradermal route"))); Codes->insert(OFMake_pair(IntratumorRoute, DSRBasicCodedEntry("447122006", "SCT", "Intratumor route"))); - Codes->insert(OFMake_pair(IntracorpusCavernosumRoute, DSRBasicCodedEntry("445769006", "SCT", "Intracorpus cavernosum route"))); + Codes->insert(OFMake_pair(IntracorpusCavernosumRoute, DSRBasicCodedEntry("1259221004", "SCT", "Intracorpus cavernosum route"))); } /* should never be NULL */ return *Codes; diff --git a/dcmsr/libcmr/cid218.cc b/dcmsr/libcmr/cid218.cc index bf85a594..96b3fa15 100644 --- a/dcmsr/libcmr/cid218.cc +++ b/dcmsr/libcmr/cid218.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID218_QuantitativeImageFeature * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:46 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:10 by J. Riesmeier * */ @@ -460,6 +460,8 @@ CID218_QuantitativeImageFeature::CodeList &CID218_QuantitativeImageFeature::getC Codes->insert(OFMake_pair(VolumeOfBoundingThreeDimensionalRegion, DSRBasicCodedEntry("121219", "DCM", "Volume of bounding three dimensional region"))); Codes->insert(OFMake_pair(VolumeOfMesh, DSRBasicCodedEntry("RNU0", "IBSI", "Volume of Mesh"))); Codes->insert(OFMake_pair(VolumeFromVoxelSummation, DSRBasicCodedEntry("YEKZ", "IBSI", "Volume from Voxel Summation"))); + Codes->insert(OFMake_pair(NumberOfPixels, DSRBasicCodedEntry("130922", "DCM", "Number of pixels"))); + Codes->insert(OFMake_pair(NumberOfVoxels, DSRBasicCodedEntry("130923", "DCM", "Number of voxels"))); Codes->insert(OFMake_pair(SurfaceToVolumeRatio, DSRBasicCodedEntry("2PR5", "IBSI", "Surface to Volume Ratio"))); Codes->insert(OFMake_pair(Compactness1, DSRBasicCodedEntry("SKGS", "IBSI", "Compactness 1"))); Codes->insert(OFMake_pair(Compactness2, DSRBasicCodedEntry("BQWJ", "IBSI", "Compactness 2"))); diff --git a/dcmsr/libcmr/cid244.cc b/dcmsr/libcmr/cid244.cc index ecb61c95..6550718e 100644 --- a/dcmsr/libcmr/cid244.cc +++ b/dcmsr/libcmr/cid244.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID244_Laterality * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:47 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:11 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid247.cc b/dcmsr/libcmr/cid247.cc index 4641aaa7..41640c58 100644 --- a/dcmsr/libcmr/cid247.cc +++ b/dcmsr/libcmr/cid247.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID247_LateralityLeftRightOnly * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:48 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:12 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid29.cc b/dcmsr/libcmr/cid29.cc index b85ac36c..6da71569 100644 --- a/dcmsr/libcmr/cid29.cc +++ b/dcmsr/libcmr/cid29.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID29_AcquisitionModality * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:43 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:07 by J. Riesmeier * */ @@ -18,7 +18,7 @@ // general information on CID 29 (Acquisition Modality) #define CONTEXT_GROUP_NUMBER "29" -#define CONTEXT_GROUP_VERSION "20201115" +#define CONTEXT_GROUP_VERSION "20231115" #define CONTEXT_GROUP_UID "1.2.840.10008.6.1.19" #define CONTEXT_GROUP_TYPE OFTrue /* extensible */ @@ -152,20 +152,15 @@ CID29_AcquisitionModality::CodeList &CID29_AcquisitionModality::getCodes() Codes->insert(OFMake_pair(Autorefraction, DSRBasicCodedEntry("AR", "DCM", "Autorefraction"))); Codes->insert(OFMake_pair(BiomagneticImaging, DSRBasicCodedEntry("BI", "DCM", "Biomagnetic Imaging"))); Codes->insert(OFMake_pair(BoneMineralDensitometry, DSRBasicCodedEntry("BMD", "DCM", "Bone Mineral Densitometry"))); - Codes->insert(OFMake_pair(CardiacElectrophysiology, DSRBasicCodedEntry("EPS", "DCM", "Cardiac Electrophysiology"))); Codes->insert(OFMake_pair(ComputedRadiography, DSRBasicCodedEntry("CR", "DCM", "Computed Radiography"))); Codes->insert(OFMake_pair(ComputedTomography, DSRBasicCodedEntry("CT", "DCM", "Computed Tomography"))); + Codes->insert(OFMake_pair(ConfocalMicroscopy, DSRBasicCodedEntry("CFM", "DCM", "Confocal Microscopy"))); Codes->insert(OFMake_pair(Dermoscopy, DSRBasicCodedEntry("DMS", "DCM", "Dermoscopy"))); Codes->insert(OFMake_pair(Diaphanography, DSRBasicCodedEntry("DG", "DCM", "Diaphanography"))); Codes->insert(OFMake_pair(DigitalRadiography, DSRBasicCodedEntry("DX", "DCM", "Digital Radiography"))); - Codes->insert(OFMake_pair(Electrocardiography, DSRBasicCodedEntry("ECG", "DCM", "Electrocardiography"))); - Codes->insert(OFMake_pair(Electroencephalography, DSRBasicCodedEntry("EEG", "DCM", "Electroencephalography"))); - Codes->insert(OFMake_pair(Electromyography, DSRBasicCodedEntry("EMG", "DCM", "Electromyography"))); - Codes->insert(OFMake_pair(Electrooculography, DSRBasicCodedEntry("EOG", "DCM", "Electrooculography"))); Codes->insert(OFMake_pair(Endoscopy, DSRBasicCodedEntry("ES", "DCM", "Endoscopy"))); Codes->insert(OFMake_pair(ExternalCameraPhotography, DSRBasicCodedEntry("XC", "DCM", "External-camera Photography"))); Codes->insert(OFMake_pair(GeneralMicroscopy, DSRBasicCodedEntry("GM", "DCM", "General Microscopy"))); - Codes->insert(OFMake_pair(HemodynamicWaveform, DSRBasicCodedEntry("HD", "DCM", "Hemodynamic Waveform"))); Codes->insert(OFMake_pair(IntraOralRadiography, DSRBasicCodedEntry("IO", "DCM", "Intra-oral Radiography"))); Codes->insert(OFMake_pair(IntravascularOpticalCoherenceTomography, DSRBasicCodedEntry("IVOCT", "DCM", "Intravascular Optical Coherence Tomography"))); Codes->insert(OFMake_pair(IntravascularUltrasound, DSRBasicCodedEntry("IVUS", "DCM", "Intravascular Ultrasound"))); @@ -185,11 +180,10 @@ CID29_AcquisitionModality::CodeList &CID29_AcquisitionModality::getCodes() Codes->insert(OFMake_pair(OpticalCoherenceTomography, DSRBasicCodedEntry("OCT", "DCM", "Optical Coherence Tomography"))); Codes->insert(OFMake_pair(OpticalSurfaceScanner, DSRBasicCodedEntry("OSS", "DCM", "Optical Surface Scanner"))); Codes->insert(OFMake_pair(PanoramicXRay, DSRBasicCodedEntry("PX", "DCM", "Panoramic X-Ray"))); - Codes->insert(OFMake_pair(PositionSensor, DSRBasicCodedEntry("POS", "DCM", "Position Sensor"))); + Codes->insert(OFMake_pair(Photoacoustic, DSRBasicCodedEntry("PA", "DCM", "Photoacoustic"))); Codes->insert(OFMake_pair(PositronEmissionTomography, DSRBasicCodedEntry("PT", "DCM", "Positron emission tomography"))); Codes->insert(OFMake_pair(Radiofluoroscopy, DSRBasicCodedEntry("RF", "DCM", "Radiofluoroscopy"))); Codes->insert(OFMake_pair(RadiographicImaging, DSRBasicCodedEntry("RG", "DCM", "Radiographic imaging"))); - Codes->insert(OFMake_pair(RespiratoryWaveform, DSRBasicCodedEntry("RESP", "DCM", "Respiratory Waveform"))); Codes->insert(OFMake_pair(RTImage, DSRBasicCodedEntry("RTIMAGE", "DCM", "RT Image"))); Codes->insert(OFMake_pair(SlideMicroscopy, DSRBasicCodedEntry("SM", "DCM", "Slide Microscopy"))); Codes->insert(OFMake_pair(SubjectiveRefraction, DSRBasicCodedEntry("SRF", "DCM", "Subjective Refraction"))); @@ -198,6 +192,14 @@ CID29_AcquisitionModality::CodeList &CID29_AcquisitionModality::getCodes() Codes->insert(OFMake_pair(UltrasoundBoneDensitometry, DSRBasicCodedEntry("BDUS", "DCM", "Ultrasound Bone Densitometry"))); Codes->insert(OFMake_pair(VisualAcuity, DSRBasicCodedEntry("VA", "DCM", "Visual Acuity"))); Codes->insert(OFMake_pair(XRayAngiography, DSRBasicCodedEntry("XA", "DCM", "X-Ray Angiography"))); + Codes->insert(OFMake_pair(CardiacElectrophysiology, DSRBasicCodedEntry("EPS", "DCM", "Cardiac Electrophysiology"))); + Codes->insert(OFMake_pair(Electrocardiography, DSRBasicCodedEntry("ECG", "DCM", "Electrocardiography"))); + Codes->insert(OFMake_pair(Electroencephalography, DSRBasicCodedEntry("EEG", "DCM", "Electroencephalography"))); + Codes->insert(OFMake_pair(Electromyography, DSRBasicCodedEntry("EMG", "DCM", "Electromyography"))); + Codes->insert(OFMake_pair(Electrooculography, DSRBasicCodedEntry("EOG", "DCM", "Electrooculography"))); + Codes->insert(OFMake_pair(Hemodynamic, DSRBasicCodedEntry("HD", "DCM", "Hemodynamic"))); + Codes->insert(OFMake_pair(PositionSensor, DSRBasicCodedEntry("POS", "DCM", "Position Sensor"))); + Codes->insert(OFMake_pair(Respiratory, DSRBasicCodedEntry("RESP", "DCM", "Respiratory"))); } /* should never be NULL */ return *Codes; diff --git a/dcmsr/libcmr/cid4020.cc b/dcmsr/libcmr/cid4020.cc index a7eca72c..88e913ef 100644 --- a/dcmsr/libcmr/cid4020.cc +++ b/dcmsr/libcmr/cid4020.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID4020_PETRadionuclide * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:48 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:13 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid4021.cc b/dcmsr/libcmr/cid4021.cc index f6ee77a5..fee7a975 100644 --- a/dcmsr/libcmr/cid4021.cc +++ b/dcmsr/libcmr/cid4021.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID4021_PETRadiopharmaceutical * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:49 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:14 by J. Riesmeier * */ @@ -178,7 +178,7 @@ CID4021_PETRadiopharmaceutical::CodeList &CID4021_PETRadiopharmaceutical::getCod Codes->insert(OFMake_pair(CMAbU36_89Zr, DSRBasicCodedEntry("126746", "DCM", "cMAb U36 ^89^Zr"))); Codes->insert(OFMake_pair(CU36_89Zr, DSRBasicCodedEntry("126515", "DCM", "cU36 ^89^Zr"))); Codes->insert(OFMake_pair(DCFBC_F18, DSRBasicCodedEntry("C96234", "NCIt", "DCFBC F^18^"))); - Codes->insert(OFMake_pair(DCFPyL_F18, DSRBasicCodedEntry("C116352", "NCIt", "DCFPyL F^18^"))); + Codes->insert(OFMake_pair(Piflufolastat_F18, DSRBasicCodedEntry("C116352", "NCIt", "Piflufolastat F^18^"))); Codes->insert(OFMake_pair(DfFK2_89Zr, DSRBasicCodedEntry("126762", "DCM", "Df-[FK](2) ^89^Zr"))); Codes->insert(OFMake_pair(DfFK23PEG4_89Zr, DSRBasicCodedEntry("126763", "DCM", "Df-[FK](2)-3PEG(4) ^89^Zr"))); Codes->insert(OFMake_pair(DfCD45_89Zr, DSRBasicCodedEntry("126520", "DCM", "Df-CD45 ^89^Zr"))); diff --git a/dcmsr/libcmr/cid4031.cc b/dcmsr/libcmr/cid4031.cc index 49a3d514..ec254824 100644 --- a/dcmsr/libcmr/cid4031.cc +++ b/dcmsr/libcmr/cid4031.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID4031_CommonAnatomicRegion * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:50 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:15 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid4031e.cc b/dcmsr/libcmr/cid4031e.cc index 7183af20..1c7765a8 100644 --- a/dcmsr/libcmr/cid4031e.cc +++ b/dcmsr/libcmr/cid4031e.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID4031e_CommonAnatomicRegion @@ -39,7 +39,7 @@ static const DefinedTermTypeMapStruct DefinedTermTypeMap[] = {"ACJOINT", CID4031_CommonAnatomicRegion::AcromioclavicularJoint}, {"ANKLE", CID4031_CommonAnatomicRegion::AnkleJoint}, {"BILEDUCT", CID4031_CommonAnatomicRegion::BileDuct}, - {"BILIARYTRACT​", CID4031_CommonAnatomicRegion::BiliaryTract}, + {"BILIARYTRACT", CID4031_CommonAnatomicRegion::BiliaryTract}, {"BLADDER", CID4031_CommonAnatomicRegion::Bladder}, {"BREAST", CID4031_CommonAnatomicRegion::Breast}, {"BRONCHUS", CID4031_CommonAnatomicRegion::Bronchus}, @@ -95,11 +95,11 @@ static const DefinedTermTypeMapStruct DefinedTermTypeMap[] = {"ORBIT", CID4031_CommonAnatomicRegion::OrbitalStructure}, {"PANCREAS", CID4031_CommonAnatomicRegion::Pancreas}, {"PANCREATICDUCT", CID4031_CommonAnatomicRegion::PancreaticDuct}, - {"PANCBILEDUCT​", CID4031_CommonAnatomicRegion::PancreaticDuctAndBileDuctSystems}, + {"PANCBILEDUCT", CID4031_CommonAnatomicRegion::PancreaticDuctAndBileDuctSystems}, {"PAROTID", CID4031_CommonAnatomicRegion::ParotidGland}, {"PATELLA", CID4031_CommonAnatomicRegion::Patella}, {"PELVIS", CID4031_CommonAnatomicRegion::Pelvis}, - {"PELVISLOWEXTREMT​", CID4031_CommonAnatomicRegion::PelvisAndLowerExtremities}, + {"PELVISLOWEXTREMT", CID4031_CommonAnatomicRegion::PelvisAndLowerExtremities}, {"PHANTOM", CID4031_CommonAnatomicRegion::Phantom}, {"PROSTATE", CID4031_CommonAnatomicRegion::Prostate}, {"RECTUM", CID4031_CommonAnatomicRegion::Rectum}, diff --git a/dcmsr/libcmr/cid42.cc b/dcmsr/libcmr/cid42.cc index a94557a9..73e7fd06 100644 --- a/dcmsr/libcmr/cid42.cc +++ b/dcmsr/libcmr/cid42.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID42_NumericValueQualifier * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:44 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:08 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid6147.cc b/dcmsr/libcmr/cid6147.cc index 0ddde5cb..9a58e1e7 100644 --- a/dcmsr/libcmr/cid6147.cc +++ b/dcmsr/libcmr/cid6147.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID6147_ResponseCriteria * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:51 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:16 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid7021.cc b/dcmsr/libcmr/cid7021.cc index 107c2ba6..d70b58a3 100644 --- a/dcmsr/libcmr/cid7021.cc +++ b/dcmsr/libcmr/cid7021.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7021_MeasurementReportDocumentTitle * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:52 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:17 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid7181.cc b/dcmsr/libcmr/cid7181.cc index 5467a1d3..200328b3 100644 --- a/dcmsr/libcmr/cid7181.cc +++ b/dcmsr/libcmr/cid7181.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7181_AbstractMultiDimensionalImageModelComponentUnit * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:53 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:18 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid7445.cc b/dcmsr/libcmr/cid7445.cc index 712c53e2..fc05b84e 100644 --- a/dcmsr/libcmr/cid7445.cc +++ b/dcmsr/libcmr/cid7445.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7445_DeviceParticipatingRole * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:54 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:19 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid7452.cc b/dcmsr/libcmr/cid7452.cc index 6963fedc..8bdcc10e 100644 --- a/dcmsr/libcmr/cid7452.cc +++ b/dcmsr/libcmr/cid7452.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7452_OrganizationalRole * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:55 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:20 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid7453.cc b/dcmsr/libcmr/cid7453.cc index 840f595f..ce6a674e 100644 --- a/dcmsr/libcmr/cid7453.cc +++ b/dcmsr/libcmr/cid7453.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7453_PerformingRole * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:56 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:21 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid7464.cc b/dcmsr/libcmr/cid7464.cc index 66c3c246..c91f8780 100644 --- a/dcmsr/libcmr/cid7464.cc +++ b/dcmsr/libcmr/cid7464.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7464_GeneralRegionOfInterestMeasurementModifier * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:57 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:22 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid7469.cc b/dcmsr/libcmr/cid7469.cc index 8aefba8f..81466ba5 100644 --- a/dcmsr/libcmr/cid7469.cc +++ b/dcmsr/libcmr/cid7469.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7469_GenericIntensityAndSizeMeasurement * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:58 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:23 by J. Riesmeier * */ @@ -18,7 +18,7 @@ // general information on CID 7469 (Generic Intensity and Size Measurement) #define CONTEXT_GROUP_NUMBER "7469" -#define CONTEXT_GROUP_VERSION "20141110" +#define CONTEXT_GROUP_VERSION "20240913" #define CONTEXT_GROUP_UID "1.2.840.10008.6.1.1003" #define CONTEXT_GROUP_TYPE OFTrue /* extensible */ @@ -340,6 +340,8 @@ CID7469_GenericIntensityAndSizeMeasurement::CodeList &CID7469_GenericIntensityAn Codes->insert(OFMake_pair(VolumeOfBoundingThreeDimensionalRegion, DSRBasicCodedEntry("121219", "DCM", "Volume of bounding three dimensional region"))); Codes->insert(OFMake_pair(VolumeOfMesh, DSRBasicCodedEntry("RNU0", "IBSI", "Volume of Mesh"))); Codes->insert(OFMake_pair(VolumeFromVoxelSummation, DSRBasicCodedEntry("YEKZ", "IBSI", "Volume from Voxel Summation"))); + Codes->insert(OFMake_pair(NumberOfPixels, DSRBasicCodedEntry("130922", "DCM", "Number of pixels"))); + Codes->insert(OFMake_pair(NumberOfVoxels, DSRBasicCodedEntry("130923", "DCM", "Number of voxels"))); } /* should never be NULL */ return *Codes; diff --git a/dcmsr/libcmr/cid7551.cc b/dcmsr/libcmr/cid7551.cc index a6d8ac14..22c79cc1 100644 --- a/dcmsr/libcmr/cid7551.cc +++ b/dcmsr/libcmr/cid7551.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015-2023, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7551_GenericPurposeOfReferenceToImagesAndCoordinatesInMeasurement * - * Generated automatically from DICOM PS 3.16-2023a - * File created on 2023-02-02 17:56:59 by J. Riesmeier + * Generated automatically from DICOM PS 3.16-2024d + * File created on 2024-10-08 10:25:24 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/tid1411.cc b/dcmsr/libcmr/tid1411.cc index 19a64911..6cd3323c 100644 --- a/dcmsr/libcmr/tid1411.cc +++ b/dcmsr/libcmr/tid1411.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2022, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2016-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class TID1411_VolumetricROIMeasurements @@ -331,7 +331,7 @@ OFCondition TID1411_VolumetricROIMeasurements::setReferencedSegm if (copyTracking && result.good()) { DcmSequenceOfItems *dseq = NULL; - /* get SegmentSequence (should always be present) */ + /* get segment sequence (should always be present) */ result = dataset.findAndGetSequence(DCM_SegmentSequence, dseq); checkElementValue(dseq, DCM_SegmentSequence, "1-n", "1", result, "SegmentDescriptionMacro"); if (result.good()) diff --git a/dcmsr/libsrc/CMakeLists.txt b/dcmsr/libsrc/CMakeLists.txt index be7825d4..804a01b7 100644 --- a/dcmsr/libsrc/CMakeLists.txt +++ b/dcmsr/libsrc/CMakeLists.txt @@ -65,10 +65,12 @@ DCMTK_ADD_LIBRARY(dcmsr dsrtcovl.cc dsrtextn.cc dsrtimtn.cc + dsrtnant.cc dsrtpltn.cc dsrtree.cc dsrtypes.cc dsruidtn.cc + dsrwancc.cc dsrwavch.cc dsrwavtn.cc dsrwavvl.cc diff --git a/dcmsr/libsrc/Makefile.dep b/dcmsr/libsrc/Makefile.dep index fca60ba6..33344c72 100644 --- a/dcmsr/libsrc/Makefile.dep +++ b/dcmsr/libsrc/Makefile.dep @@ -10,8 +10,8 @@ dsracqcc.o: dsracqcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -47,6 +47,7 @@ dsracqcc.o: dsracqcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -56,7 +57,6 @@ dsracqcc.o: dsracqcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -73,8 +73,8 @@ dsrbascc.o: dsrbascc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -110,6 +110,7 @@ dsrbascc.o: dsrbascc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -119,7 +120,6 @@ dsrbascc.o: dsrbascc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -136,8 +136,8 @@ dsrc3dcc.o: dsrc3dcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -173,6 +173,7 @@ dsrc3dcc.o: dsrc3dcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -182,7 +183,6 @@ dsrc3dcc.o: dsrc3dcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -199,8 +199,8 @@ dsrchecc.o: dsrchecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -236,6 +236,7 @@ dsrchecc.o: dsrchecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -245,7 +246,6 @@ dsrchecc.o: dsrchecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -262,8 +262,8 @@ dsrcitem.o: dsrcitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -299,6 +299,7 @@ dsrcitem.o: dsrcitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -308,7 +309,6 @@ dsrcitem.o: dsrcitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -350,8 +350,8 @@ dsrcodtn.o: dsrcodtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -387,6 +387,7 @@ dsrcodtn.o: dsrcodtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -396,7 +397,6 @@ dsrcodtn.o: dsrcodtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -420,8 +420,8 @@ dsrcodvl.o: dsrcodvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -457,6 +457,7 @@ dsrcodvl.o: dsrcodvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -466,7 +467,6 @@ dsrcodvl.o: dsrcodvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -499,8 +499,8 @@ dsrcolcc.o: dsrcolcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -536,6 +536,7 @@ dsrcolcc.o: dsrcolcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -545,7 +546,6 @@ dsrcolcc.o: dsrcolcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -562,8 +562,8 @@ dsrcomcc.o: dsrcomcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -599,6 +599,7 @@ dsrcomcc.o: dsrcomcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -608,7 +609,6 @@ dsrcomcc.o: dsrcomcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -624,8 +624,8 @@ dsrcomtn.o: dsrcomtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -661,6 +661,7 @@ dsrcomtn.o: dsrcomtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -670,7 +671,6 @@ dsrcomtn.o: dsrcomtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -696,8 +696,8 @@ dsrcomvl.o: dsrcomvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -733,6 +733,7 @@ dsrcomvl.o: dsrcomvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -742,7 +743,6 @@ dsrcomvl.o: dsrcomvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -764,8 +764,8 @@ dsrcontn.o: dsrcontn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -801,6 +801,7 @@ dsrcontn.o: dsrcontn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -810,7 +811,6 @@ dsrcontn.o: dsrcontn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -835,8 +835,8 @@ dsrcsidl.o: dsrcsidl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -872,6 +872,7 @@ dsrcsidl.o: dsrcsidl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -881,7 +882,6 @@ dsrcsidl.o: dsrcsidl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -908,8 +908,8 @@ dsrctpl.o: dsrctpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -945,6 +945,7 @@ dsrctpl.o: dsrctpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -954,7 +955,6 @@ dsrctpl.o: dsrctpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -997,8 +997,8 @@ dsrctxgr.o: dsrctxgr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1034,6 +1034,7 @@ dsrctxgr.o: dsrctxgr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1043,7 +1044,6 @@ dsrctxgr.o: dsrctxgr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1060,8 +1060,8 @@ dsrdattn.o: dsrdattn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1097,6 +1097,7 @@ dsrdattn.o: dsrdattn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1106,7 +1107,6 @@ dsrdattn.o: dsrdattn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1135,8 +1135,8 @@ dsrdncsr.o: dsrdncsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1172,6 +1172,7 @@ dsrdncsr.o: dsrdncsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1181,7 +1182,6 @@ dsrdncsr.o: dsrdncsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1206,8 +1206,8 @@ dsrdnflt.o: dsrdnflt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1243,6 +1243,7 @@ dsrdnflt.o: dsrdnflt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1252,7 +1253,6 @@ dsrdnflt.o: dsrdnflt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1280,8 +1280,8 @@ dsrdoc.o: dsrdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1317,6 +1317,7 @@ dsrdoc.o: dsrdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1326,7 +1327,6 @@ dsrdoc.o: dsrdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1385,8 +1385,8 @@ dsrdocst.o: dsrdocst.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1422,6 +1422,7 @@ dsrdocst.o: dsrdocst.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1431,7 +1432,6 @@ dsrdocst.o: dsrdocst.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1475,8 +1475,8 @@ dsrdoctn.o: dsrdoctn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1512,6 +1512,7 @@ dsrdoctn.o: dsrdoctn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1521,7 +1522,6 @@ dsrdoctn.o: dsrdoctn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1558,8 +1558,8 @@ dsrdoctr.o: dsrdoctr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1595,6 +1595,7 @@ dsrdoctr.o: dsrdoctr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1604,7 +1605,6 @@ dsrdoctr.o: dsrdoctr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1646,8 +1646,8 @@ dsrdtitn.o: dsrdtitn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1683,6 +1683,7 @@ dsrdtitn.o: dsrdtitn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1692,7 +1693,6 @@ dsrdtitn.o: dsrdtitn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1723,8 +1723,8 @@ dsrenhcc.o: dsrenhcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1760,6 +1760,7 @@ dsrenhcc.o: dsrenhcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1769,7 +1770,6 @@ dsrenhcc.o: dsrenhcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1786,8 +1786,8 @@ dsrimgfr.o: dsrimgfr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1823,6 +1823,7 @@ dsrimgfr.o: dsrimgfr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1832,7 +1833,6 @@ dsrimgfr.o: dsrimgfr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1853,8 +1853,8 @@ dsrimgse.o: dsrimgse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1890,6 +1890,7 @@ dsrimgse.o: dsrimgse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1899,7 +1900,6 @@ dsrimgse.o: dsrimgse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1918,8 +1918,8 @@ dsrimgtn.o: dsrimgtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -1955,6 +1955,7 @@ dsrimgtn.o: dsrimgtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -1964,7 +1965,6 @@ dsrimgtn.o: dsrimgtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -1992,8 +1992,8 @@ dsrimgvl.o: dsrimgvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2029,6 +2029,7 @@ dsrimgvl.o: dsrimgvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2038,7 +2039,6 @@ dsrimgvl.o: dsrimgvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2083,8 +2083,8 @@ dsrimpcc.o: dsrimpcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2120,6 +2120,7 @@ dsrimpcc.o: dsrimpcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2129,7 +2130,6 @@ dsrimpcc.o: dsrimpcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2146,8 +2146,8 @@ dsriodcc.o: dsriodcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2183,6 +2183,7 @@ dsriodcc.o: dsriodcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2192,7 +2193,6 @@ dsriodcc.o: dsriodcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2209,8 +2209,8 @@ dsritcsr.o: dsritcsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2246,6 +2246,7 @@ dsritcsr.o: dsritcsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2255,7 +2256,6 @@ dsritcsr.o: dsritcsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2295,8 +2295,8 @@ dsrkeycc.o: dsrkeycc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2332,6 +2332,7 @@ dsrkeycc.o: dsrkeycc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2341,7 +2342,6 @@ dsrkeycc.o: dsrkeycc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2358,8 +2358,8 @@ dsrmaccc.o: dsrmaccc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2395,6 +2395,7 @@ dsrmaccc.o: dsrmaccc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2404,7 +2405,6 @@ dsrmaccc.o: dsrmaccc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2421,8 +2421,8 @@ dsrmamcc.o: dsrmamcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2458,6 +2458,7 @@ dsrmamcc.o: dsrmamcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2467,7 +2468,6 @@ dsrmamcc.o: dsrmamcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2483,8 +2483,8 @@ dsrnumtn.o: dsrnumtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2520,6 +2520,7 @@ dsrnumtn.o: dsrnumtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2529,7 +2530,6 @@ dsrnumtn.o: dsrnumtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2556,8 +2556,8 @@ dsrnumvl.o: dsrnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2593,6 +2593,7 @@ dsrnumvl.o: dsrnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2602,7 +2603,6 @@ dsrnumvl.o: dsrnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2628,8 +2628,8 @@ dsrpficc.o: dsrpficc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2665,6 +2665,7 @@ dsrpficc.o: dsrpficc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2674,7 +2675,6 @@ dsrpficc.o: dsrpficc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2691,8 +2691,8 @@ dsrplicc.o: dsrplicc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2728,6 +2728,7 @@ dsrplicc.o: dsrplicc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2737,7 +2738,6 @@ dsrplicc.o: dsrplicc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2753,8 +2753,8 @@ dsrpnmtn.o: dsrpnmtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2790,6 +2790,7 @@ dsrpnmtn.o: dsrpnmtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2799,7 +2800,6 @@ dsrpnmtn.o: dsrpnmtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2866,6 +2866,7 @@ dsrposcn.o: dsrposcn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2874,7 +2875,6 @@ dsrposcn.o: dsrposcn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2891,8 +2891,8 @@ dsrprdcc.o: dsrprdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2928,6 +2928,7 @@ dsrprdcc.o: dsrprdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -2937,7 +2938,6 @@ dsrprdcc.o: dsrprdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -2954,8 +2954,8 @@ dsrprocc.o: dsrprocc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -2991,6 +2991,7 @@ dsrprocc.o: dsrprocc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3000,7 +3001,6 @@ dsrprocc.o: dsrprocc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3017,8 +3017,8 @@ dsrrefin.o: dsrrefin.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3054,6 +3054,7 @@ dsrrefin.o: dsrrefin.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3063,7 +3064,6 @@ dsrrefin.o: dsrrefin.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3086,8 +3086,8 @@ dsrreftn.o: dsrreftn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3123,6 +3123,7 @@ dsrreftn.o: dsrreftn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3132,7 +3133,6 @@ dsrreftn.o: dsrreftn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3158,8 +3158,8 @@ dsrrrdcc.o: dsrrrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3195,6 +3195,7 @@ dsrrrdcc.o: dsrrrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3204,7 +3205,6 @@ dsrrrdcc.o: dsrrrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3221,8 +3221,8 @@ dsrrsdcc.o: dsrrsdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3258,6 +3258,7 @@ dsrrsdcc.o: dsrrsdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3267,7 +3268,6 @@ dsrrsdcc.o: dsrrsdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3285,8 +3285,8 @@ dsrrtpl.o: dsrrtpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3322,6 +3322,7 @@ dsrrtpl.o: dsrrtpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3331,7 +3332,6 @@ dsrrtpl.o: dsrrtpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3372,8 +3372,8 @@ dsrsaecc.o: dsrsaecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3409,6 +3409,7 @@ dsrsaecc.o: dsrsaecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3418,7 +3419,6 @@ dsrsaecc.o: dsrsaecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3435,8 +3435,8 @@ dsrsc3gr.o: dsrsc3gr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3472,6 +3472,7 @@ dsrsc3gr.o: dsrsc3gr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3481,7 +3482,6 @@ dsrsc3gr.o: dsrsc3gr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3500,8 +3500,8 @@ dsrsc3tn.o: dsrsc3tn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3537,6 +3537,7 @@ dsrsc3tn.o: dsrsc3tn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3546,7 +3547,6 @@ dsrsc3tn.o: dsrsc3tn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3572,8 +3572,8 @@ dsrsc3vl.o: dsrsc3vl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3609,6 +3609,7 @@ dsrsc3vl.o: dsrsc3vl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3618,7 +3619,6 @@ dsrsc3vl.o: dsrsc3vl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3640,8 +3640,8 @@ dsrscogr.o: dsrscogr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3677,6 +3677,7 @@ dsrscogr.o: dsrscogr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3686,7 +3687,6 @@ dsrscogr.o: dsrscogr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3705,8 +3705,8 @@ dsrscotn.o: dsrscotn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3742,6 +3742,7 @@ dsrscotn.o: dsrscotn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3751,7 +3752,6 @@ dsrscotn.o: dsrscotn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3777,8 +3777,8 @@ dsrscovl.o: dsrscovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3814,6 +3814,7 @@ dsrscovl.o: dsrscovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3823,7 +3824,6 @@ dsrscovl.o: dsrscovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3845,8 +3845,8 @@ dsrsoprf.o: dsrsoprf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3882,6 +3882,7 @@ dsrsoprf.o: dsrsoprf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3891,7 +3892,6 @@ dsrsoprf.o: dsrsoprf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3919,8 +3919,8 @@ dsrspecc.o: dsrspecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -3956,6 +3956,7 @@ dsrspecc.o: dsrspecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -3965,7 +3966,6 @@ dsrspecc.o: dsrspecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -3983,8 +3983,8 @@ dsrstpl.o: dsrstpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4020,6 +4020,7 @@ dsrstpl.o: dsrstpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4029,7 +4030,6 @@ dsrstpl.o: dsrstpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4068,8 +4068,8 @@ dsrstrvl.o: dsrstrvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4105,6 +4105,7 @@ dsrstrvl.o: dsrstrvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4114,7 +4115,6 @@ dsrstrvl.o: dsrstrvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4132,8 +4132,8 @@ dsrtcodt.o: dsrtcodt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4169,6 +4169,7 @@ dsrtcodt.o: dsrtcodt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4178,7 +4179,6 @@ dsrtcodt.o: dsrtcodt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4202,8 +4202,8 @@ dsrtcosp.o: dsrtcosp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4239,6 +4239,7 @@ dsrtcosp.o: dsrtcosp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4248,7 +4249,6 @@ dsrtcosp.o: dsrtcosp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4267,8 +4267,8 @@ dsrtcotn.o: dsrtcotn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4304,6 +4304,7 @@ dsrtcotn.o: dsrtcotn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4313,7 +4314,6 @@ dsrtcotn.o: dsrtcotn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4340,8 +4340,8 @@ dsrtcoto.o: dsrtcoto.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4377,6 +4377,7 @@ dsrtcoto.o: dsrtcoto.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4386,7 +4387,6 @@ dsrtcoto.o: dsrtcoto.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4407,8 +4407,8 @@ dsrtcovl.o: dsrtcovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4444,6 +4444,7 @@ dsrtcovl.o: dsrtcovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4453,7 +4454,6 @@ dsrtcovl.o: dsrtcovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4473,8 +4473,8 @@ dsrtextn.o: dsrtextn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4510,6 +4510,7 @@ dsrtextn.o: dsrtextn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4519,7 +4520,6 @@ dsrtextn.o: dsrtextn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4547,8 +4547,8 @@ dsrtimtn.o: dsrtimtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4584,6 +4584,7 @@ dsrtimtn.o: dsrtimtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4593,7 +4594,6 @@ dsrtimtn.o: dsrtimtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4610,6 +4610,69 @@ dsrtimtn.o: dsrtimtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h +dsrtnant.o: dsrtnant.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../include/dcmtk/dcmsr/dsrtypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h dsrtpltn.o: dsrtpltn.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtypes.h ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -4621,8 +4684,8 @@ dsrtpltn.o: dsrtpltn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4658,6 +4721,7 @@ dsrtpltn.o: dsrtpltn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4667,7 +4731,6 @@ dsrtpltn.o: dsrtpltn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4710,8 +4773,8 @@ dsrtree.o: dsrtree.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4747,6 +4810,7 @@ dsrtree.o: dsrtree.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4756,7 +4820,6 @@ dsrtree.o: dsrtree.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4775,8 +4838,8 @@ dsrtypes.o: dsrtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4812,6 +4875,7 @@ dsrtypes.o: dsrtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4821,7 +4885,6 @@ dsrtypes.o: dsrtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4861,7 +4924,7 @@ dsrtypes.o: dsrtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrrrdcc.h ../include/dcmtk/dcmsr/dsracqcc.h \ ../include/dcmtk/dcmsr/dsrsaecc.h ../include/dcmtk/dcmsr/dsrprdcc.h \ ../include/dcmtk/dcmsr/dsrpficc.h ../include/dcmtk/dcmsr/dsrplicc.h \ - ../include/dcmtk/dcmsr/dsrrsdcc.h \ + ../include/dcmtk/dcmsr/dsrrsdcc.h ../include/dcmtk/dcmsr/dsrwancc.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ @@ -4883,8 +4946,8 @@ dsruidtn.o: dsruidtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4920,6 +4983,7 @@ dsruidtn.o: dsruidtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -4929,7 +4993,6 @@ dsruidtn.o: dsruidtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -4945,6 +5008,69 @@ dsruidtn.o: dsruidtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h +dsrwancc.o: dsrwancc.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/dsrwancc.h ../include/dcmtk/dcmsr/dsriodcc.h \ + ../include/dcmtk/dcmsr/dsrtypes.h ../include/dcmtk/dcmsr/dsdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h dsrwavch.o: dsrwavch.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrtypes.h \ ../include/dcmtk/dcmsr/dsdefine.h \ @@ -4957,8 +5083,8 @@ dsrwavch.o: dsrwavch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -4994,6 +5120,7 @@ dsrwavch.o: dsrwavch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -5003,7 +5130,6 @@ dsrwavch.o: dsrwavch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -5023,8 +5149,8 @@ dsrwavtn.o: dsrwavtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -5060,6 +5186,7 @@ dsrwavtn.o: dsrwavtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -5069,7 +5196,6 @@ dsrwavtn.o: dsrwavtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -5096,8 +5222,8 @@ dsrwavvl.o: dsrwavvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -5133,6 +5259,7 @@ dsrwavvl.o: dsrwavvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -5142,7 +5269,6 @@ dsrwavvl.o: dsrwavvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -5157,8 +5283,7 @@ dsrxmlc.o: dsrxmlc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h dsrxmld.o: dsrxmld.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrtypes.h \ ../include/dcmtk/dcmsr/dsdefine.h \ @@ -5171,8 +5296,8 @@ dsrxmld.o: dsrxmld.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -5208,6 +5333,7 @@ dsrxmld.o: dsrxmld.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -5217,7 +5343,6 @@ dsrxmld.o: dsrxmld.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ @@ -5235,8 +5360,8 @@ dsrxrdcc.o: dsrxrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -5272,6 +5397,7 @@ dsrxrdcc.o: dsrxrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ @@ -5281,7 +5407,6 @@ dsrxrdcc.o: dsrxrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ diff --git a/dcmsr/libsrc/Makefile.in b/dcmsr/libsrc/Makefile.in index 266bdebb..cb21e71d 100644 --- a/dcmsr/libsrc/Makefile.in +++ b/dcmsr/libsrc/Makefile.in @@ -23,18 +23,18 @@ LOCALINCLUDES = -I$(ofstddir)/include -I$(oflogdir)/include -I$(dcmdatadir)/incl LOCALDEFS = objs = dsrdoc.o dsrposcn.o dsrdncsr.o dsritcsr.o dsrdnflt.o dsrtree.o \ - dsrdoctn.o dsrdoctr.o dsrdocst.o dsrctpl.o dsrrtpl.o dsrstpl.o \ - dsrctxgr.o dsrcitem.o dsrtypes.o dsrimgfr.o dsrimgse.o dsrscogr.o \ - dsrsc3gr.o dsrtcodt.o dsrtcosp.o dsrtcoto.o dsrwavch.o dsrstrvl.o \ - dsrcodvl.o dsrnumvl.o dsrscovl.o dsrsc3vl.o dsrtcovl.o dsrcomvl.o \ - dsrimgvl.o dsrwavvl.o dsrtextn.o dsrcodtn.o dsrnumtn.o dsrdtitn.o \ - dsrdattn.o dsrtimtn.o dsruidtn.o dsrpnmtn.o dsrscotn.o dsrsc3tn.o \ - dsrtcotn.o dsrcomtn.o dsrimgtn.o dsrwavtn.o dsrcontn.o dsrreftn.o \ - dsrtpltn.o dsrsoprf.o dsrrefin.o dsrcsidl.o dsrxmlc.o dsrxmld.o \ - dsriodcc.o dsrbascc.o dsrenhcc.o dsrcomcc.o dsrkeycc.o dsrmamcc.o \ - dsrchecc.o dsrcolcc.o dsrprocc.o dsrxrdcc.o dsrspecc.o dsrmaccc.o \ - dsrimpcc.o dsrc3dcc.o dsrrrdcc.o dsracqcc.o dsrsaecc.o dsrprdcc.o \ - dsrpficc.o dsrplicc.o dsrrsdcc.o + dsrtnant.o dsrdoctn.o dsrdoctr.o dsrdocst.o dsrctpl.o dsrrtpl.o \ + dsrstpl.o dsrctxgr.o dsrcitem.o dsrtypes.o dsrimgfr.o dsrimgse.o \ + dsrscogr.o dsrsc3gr.o dsrtcodt.o dsrtcosp.o dsrtcoto.o dsrwavch.o \ + dsrstrvl.o dsrcodvl.o dsrnumvl.o dsrscovl.o dsrsc3vl.o dsrtcovl.o \ + dsrcomvl.o dsrimgvl.o dsrwavvl.o dsrtextn.o dsrcodtn.o dsrnumtn.o \ + dsrdtitn.o dsrdattn.o dsrtimtn.o dsruidtn.o dsrpnmtn.o dsrscotn.o \ + dsrsc3tn.o dsrtcotn.o dsrcomtn.o dsrimgtn.o dsrwavtn.o dsrcontn.o \ + dsrreftn.o dsrtpltn.o dsrsoprf.o dsrrefin.o dsrcsidl.o dsrxmlc.o \ + dsrxmld.o dsriodcc.o dsrbascc.o dsrenhcc.o dsrcomcc.o dsrkeycc.o \ + dsrmamcc.o dsrchecc.o dsrcolcc.o dsrprocc.o dsrxrdcc.o dsrspecc.o \ + dsrmaccc.o dsrimpcc.o dsrc3dcc.o dsrrrdcc.o dsracqcc.o dsrsaecc.o \ + dsrprdcc.o dsrpficc.o dsrplicc.o dsrrsdcc.o dsrwancc.o library = libdcmsr.$(LIBEXT) diff --git a/dcmsr/libsrc/dsracqcc.cc b/dcmsr/libsrc/dsracqcc.cc index 3ec5f58e..4d576cc9 100644 --- a/dcmsr/libsrc/dsracqcc.cc +++ b/dcmsr/libsrc/dsracqcc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015-2021, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -86,7 +86,7 @@ OFBool DSRAcquisitionContextSRConstraintChecker::checkContentRelationship(const { result = (targetValueType == VT_Code) || (targetValueType == VT_Date) || (targetValueType == VT_DateTime) || (targetValueType == VT_Num) || (targetValueType == VT_PName) || (targetValueType == VT_Text) || - (targetValueType == VT_Time) || (targetValueType == VT_UIDRef) || (targetValueType == VT_Container) /* see CP-2084 */; + (targetValueType == VT_Time) || (targetValueType == VT_UIDRef) || (targetValueType == VT_Container); } /* row 3 of the table */ else if ((relationshipType == RT_hasObsContext) && (sourceValueType == VT_Code)) diff --git a/dcmsr/libsrc/dsrbascc.cc b/dcmsr/libsrc/dsrbascc.cc index b95df1e0..6059ed6d 100644 --- a/dcmsr/libsrc/dsrbascc.cc +++ b/dcmsr/libsrc/dsrbascc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2021, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -87,7 +87,7 @@ OFBool DSRBasicTextSRConstraintChecker::checkContentRelationship(const E_ValueTy { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_DateTime) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_UIDRef) || - (targetValueType == VT_PName) || (targetValueType == VT_Composite) || (targetValueType == VT_Container) /* see CP-2084 */; + (targetValueType == VT_PName) || (targetValueType == VT_Composite) || (targetValueType == VT_Container); } /* row 3 of the table */ else if ((relationshipType == RT_hasAcqContext) && ((sourceValueType == VT_Container) || @@ -102,7 +102,7 @@ OFBool DSRBasicTextSRConstraintChecker::checkContentRelationship(const E_ValueTy { result = (targetValueType == VT_Text) || (targetValueType == VT_Code); } - /* row 5 of the table */ + /* row 5 of the table */ else if ((relationshipType == RT_hasProperties) && (sourceValueType == VT_Text)) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_DateTime) || diff --git a/dcmsr/libsrc/dsrc3dcc.cc b/dcmsr/libsrc/dsrc3dcc.cc index 6478f366..5cc1ae24 100644 --- a/dcmsr/libsrc/dsrc3dcc.cc +++ b/dcmsr/libsrc/dsrc3dcc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2013-2021, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -81,20 +81,23 @@ OFBool DSRComprehensive3DSRConstraintChecker::checkContentRelationship(const E_V (targetValueType == VT_Image) || (targetValueType == VT_Waveform) || ((targetValueType == VT_Container) && !byReference /* only by-value */); } - /* row 2 of the table */ - else if ((relationshipType == RT_hasObsContext) && ((sourceValueType == VT_Container) || - (sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) + /* row 2 of the table (CONTAINER-related constraints are checked with row 3) */ + else if ((relationshipType == RT_hasObsContext) && + ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || (targetValueType == VT_DateTime) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || (targetValueType == VT_Composite); } - /* new row introduced with CP-2084 */ + /* row 3 of the table (including CONTAINER-related constraints from row 2) */ else if ((relationshipType == RT_hasObsContext) && (sourceValueType == VT_Container)) { - result = (targetValueType == VT_Container); + result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || + (targetValueType == VT_DateTime) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || + (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || (targetValueType == VT_Composite) || + (targetValueType == VT_Container); } - /* row 3 of the table */ + /* row 4 of the table */ else if ((relationshipType == RT_hasAcqContext) && ((sourceValueType == VT_Container) || (sourceValueType == VT_Image) || (sourceValueType == VT_Waveform) || (sourceValueType == VT_Composite) || (sourceValueType == VT_Num))) { @@ -102,12 +105,12 @@ OFBool DSRComprehensive3DSRConstraintChecker::checkContentRelationship(const E_V (targetValueType == VT_DateTime) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || (targetValueType == VT_Container); } - /* row 4 of the table */ + /* row 5 of the table */ else if ((relationshipType == RT_hasConceptMod) && !byReference /* only by-value */) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code); } - /* row 5 of the table */ + /* row 6 of the table */ else if ((relationshipType == RT_hasProperties) && ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { @@ -117,14 +120,14 @@ OFBool DSRComprehensive3DSRConstraintChecker::checkContentRelationship(const E_V (targetValueType == VT_Waveform) || (targetValueType == VT_Composite) || (targetValueType == VT_SCoord) || (targetValueType == VT_SCoord3D) || (targetValueType == VT_TCoord) || (targetValueType == VT_Container); } - /* row 6 of the table */ + /* row 7 of the table */ else if ((relationshipType == RT_hasProperties) && (sourceValueType == VT_PName)) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_DateTime) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName); } - /* row 7 of the table */ + /* row 8 of the table */ else if ((relationshipType == RT_inferredFrom) && ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { @@ -134,12 +137,12 @@ OFBool DSRComprehensive3DSRConstraintChecker::checkContentRelationship(const E_V (targetValueType == VT_Waveform) || (targetValueType == VT_Composite) || (targetValueType == VT_SCoord) || (targetValueType == VT_SCoord3D) || (targetValueType == VT_TCoord) || (targetValueType == VT_Container); } - /* row 8 of the table */ + /* row 9 of the table */ else if ((relationshipType == RT_selectedFrom) && (sourceValueType == VT_SCoord)) { result = (targetValueType == VT_Image); } - /* row 9 of the table */ + /* row 10 of the table */ else if ((relationshipType == RT_selectedFrom) && (sourceValueType == VT_TCoord)) { result = (targetValueType == VT_SCoord) || (targetValueType == VT_SCoord3D) || (targetValueType == VT_Image) || diff --git a/dcmsr/libsrc/dsrchecc.cc b/dcmsr/libsrc/dsrchecc.cc index 54032bda..fd593c4b 100644 --- a/dcmsr/libsrc/dsrchecc.cc +++ b/dcmsr/libsrc/dsrchecc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2021, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -77,57 +77,59 @@ OFBool DSRChestCadSRConstraintChecker::checkContentRelationship(const E_ValueTyp result = (targetValueType == VT_Code) || (targetValueType == VT_Num) || (targetValueType == VT_Image) || (targetValueType == VT_Container); } - /* row 2 of the table */ - else if ((relationshipType == RT_hasObsContext) && !byReference && ((sourceValueType == VT_Container) || - (sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) + /* row 2 of the table (CONTAINER-related constraints are checked with row 3) */ + else if ((relationshipType == RT_hasObsContext) && !byReference && + ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { - result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || + result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_PName) || (targetValueType == VT_UIDRef) || (targetValueType == VT_Composite); } - /* new row introduced with CP-2084 */ - else if ((relationshipType == RT_hasObsContext) && (sourceValueType == VT_Container)) + /* row 3 of the table (including CONTAINER-related constraints from row 2) */ + else if ((relationshipType == RT_hasObsContext) && !byReference && (sourceValueType == VT_Container)) { - result = (targetValueType == VT_Container); + result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || + (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_PName) || + (targetValueType == VT_UIDRef) || (targetValueType == VT_Composite) || (targetValueType == VT_Container); } - /* row 3 of the table */ + /* row 4 of the table */ else if ((relationshipType == RT_hasAcqContext) && !byReference && ((sourceValueType == VT_Image) || (sourceValueType == VT_Waveform))) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || (targetValueType == VT_Date) || (targetValueType == VT_Time); } - /* row 4 of the table */ + /* row 5 of the table */ else if ((relationshipType == RT_hasConceptMod) && !byReference && ((sourceValueType == VT_Container) || (sourceValueType == VT_Code) || (sourceValueType == VT_Composite) || (sourceValueType == VT_Num))) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code); } - /* row 5 the table */ + /* row 6 the table */ else if ((relationshipType == RT_hasProperties) && ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { /* by-reference allowed */ - result = (targetValueType == VT_Container) || (targetValueType == VT_Text) || (targetValueType == VT_Code) || - (targetValueType == VT_Num) || (targetValueType == VT_Date) || (targetValueType == VT_Image) || + result = (targetValueType == VT_Container) || (targetValueType == VT_Text) || (targetValueType == VT_Code) || + (targetValueType == VT_Num) || (targetValueType == VT_Date) || (targetValueType == VT_Image) || (targetValueType == VT_Waveform) || (targetValueType == VT_SCoord) || (targetValueType == VT_TCoord) || (targetValueType == VT_UIDRef); } - /* row 6 of the table */ + /* row 7 of the table */ else if ((relationshipType == RT_inferredFrom) && ((sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { /* by-reference allowed */ - result = (targetValueType == VT_Code) || (targetValueType == VT_Num) || (targetValueType == VT_Image) || + result = (targetValueType == VT_Code) || (targetValueType == VT_Num) || (targetValueType == VT_Image) || (targetValueType == VT_Waveform) || (targetValueType == VT_SCoord) || (targetValueType == VT_TCoord) || (targetValueType == VT_Container) || (targetValueType == VT_Text); } - /* row 7 of the table */ + /* row 8 of the table */ else if ((relationshipType == RT_selectedFrom) && (sourceValueType == VT_SCoord)) { /* by-reference allowed */ result = (targetValueType == VT_Image); } - /* row 8 of the table */ + /* row 9 of the table */ else if ((relationshipType == RT_selectedFrom) && (sourceValueType == VT_TCoord)) { /* by-reference allowed */ diff --git a/dcmsr/libsrc/dsrcitem.cc b/dcmsr/libsrc/dsrcitem.cc index 196cfb32..f79c9186 100644 --- a/dcmsr/libsrc/dsrcitem.cc +++ b/dcmsr/libsrc/dsrcitem.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -78,22 +78,22 @@ DSRContentItem::~DSRContentItem() } -OFBool DSRContentItem::operator==(const DSRContentItem &item) const +OFBool DSRContentItem::isEqual(const DSRContentItem &item) const { OFBool result = (TreeNode == item.TreeNode); /* call comparison operator (if referenced tree nodes are not the same) */ if (!result && (TreeNode != NULL) && (item.TreeNode != NULL)) - result = TreeNode->operator==(*item.TreeNode); + result = TreeNode->isEqual(*item.TreeNode); return result; } -OFBool DSRContentItem::operator!=(const DSRContentItem &item) const +OFBool DSRContentItem::isNotEqual(const DSRContentItem &item) const { OFBool result = (TreeNode != item.TreeNode); /* call comparison operator (if referenced tree nodes are not the same) */ if (result && (TreeNode != NULL) && (item.TreeNode != NULL)) - result = TreeNode->operator!=(*item.TreeNode); + result = TreeNode->isNotEqual(*item.TreeNode); return result; } @@ -790,3 +790,19 @@ void DSRContentItem::swap(DSRContentItem &item) OFswap(TreeNode, item.TreeNode); OFswap(DeleteTreeNode, item.DeleteTreeNode); } + + +// comparison operators + +OFBool operator==(const DSRContentItem &lhs, + const DSRContentItem &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRContentItem &lhs, + const DSRContentItem &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrcodtn.cc b/dcmsr/libsrc/dsrcodtn.cc index 93e7b9b7..8e0c1971 100644 --- a/dcmsr/libsrc/dsrcodtn.cc +++ b/dcmsr/libsrc/dsrcodtn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2019, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -49,45 +49,45 @@ DSRCodeTreeNode::~DSRCodeTreeNode() } -OFBool DSRCodeTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRCodeTreeNode *DSRCodeTreeNode::clone() const +{ + return new DSRCodeTreeNode(*this); +} + + +void DSRCodeTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRCodedEntryValue::clear(); +} + + +OFBool DSRCodeTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRCodedEntryValue::operator==(OFstatic_cast(const DSRCodeTreeNode &, node).getValue()); + result = DSRCodedEntryValue::isEqual(OFstatic_cast(const DSRCodeTreeNode &, node).getValue()); } return result; } -OFBool DSRCodeTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRCodeTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRCodedEntryValue::operator!=(OFstatic_cast(const DSRCodeTreeNode &, node).getValue()); + result = DSRCodedEntryValue::isNotEqual(OFstatic_cast(const DSRCodeTreeNode &, node).getValue()); } return result; } -DSRCodeTreeNode *DSRCodeTreeNode::clone() const -{ - return new DSRCodeTreeNode(*this); -} - - -void DSRCodeTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRCodedEntryValue::clear(); -} - - OFBool DSRCodeTreeNode::isValid() const { /* ConceptNameCodeSequence required */ @@ -204,3 +204,19 @@ OFCondition DSRCodeTreeNode::renderHTMLContentItem(STD_NAMESPACE ostream &docStr } return result; } + + +// comparison operators + +OFBool operator==(const DSRCodeTreeNode &lhs, + const DSRCodeTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRCodeTreeNode &lhs, + const DSRCodeTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrcodvl.cc b/dcmsr/libsrc/dsrcodvl.cc index b07ef307..d84afa7e 100644 --- a/dcmsr/libsrc/dsrcodvl.cc +++ b/dcmsr/libsrc/dsrcodvl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2022, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -189,7 +189,23 @@ DSRCodedEntryValue &DSRCodedEntryValue::operator=(const DSRCodedEntryValue &code } -OFBool DSRCodedEntryValue::operator==(const DSRCodedEntryValue &codedEntryValue) const +void DSRCodedEntryValue::clear() +{ + CodeValueType = DSRTypes::CVT_Short /* should not be "auto" */; + CodeValue.clear(); + CodingSchemeDesignator.clear(); + CodingSchemeVersion.clear(); + CodeMeaning.clear(); + ContextIdentifier.clear(); + ContextUID.clear(); + MappingResource.clear(); + ContextGroupVersion.clear(); + ContextGroupLocalVersion.clear(); + ContextGroupExtensionCreatorUID.clear(); +} + + +OFBool DSRCodedEntryValue::isEqual(const DSRCodedEntryValue &codedEntryValue) const { /* Code Meaning is not used for comparing the two codes, also the "Enhanced Encoding Mode" is not taken into account */ return (CodeValue == codedEntryValue.CodeValue) && @@ -198,7 +214,7 @@ OFBool DSRCodedEntryValue::operator==(const DSRCodedEntryValue &codedEntryValue) } -OFBool DSRCodedEntryValue::operator!=(const DSRCodedEntryValue &codedEntryValue) const +OFBool DSRCodedEntryValue::isNotEqual(const DSRCodedEntryValue &codedEntryValue) const { /* Code Meaning is not used for comparing the two codes, also the "Enhanced Encoding Mode" is not taken into account */ return (CodeValue != codedEntryValue.CodeValue) || @@ -207,7 +223,7 @@ OFBool DSRCodedEntryValue::operator!=(const DSRCodedEntryValue &codedEntryValue) } -OFBool DSRCodedEntryValue::operator==(const DSRBasicCodedEntry &basicCodedEntry) const +OFBool DSRCodedEntryValue::isEqual(const DSRBasicCodedEntry &basicCodedEntry) const { /* Code Meaning is not used for comparing the two codes */ return (CodeValue == basicCodedEntry.CodeValue) && @@ -216,7 +232,7 @@ OFBool DSRCodedEntryValue::operator==(const DSRBasicCodedEntry &basicCodedEntry) } -OFBool DSRCodedEntryValue::operator!=(const DSRBasicCodedEntry &basicCodedEntry) const +OFBool DSRCodedEntryValue::isNotEqual(const DSRBasicCodedEntry &basicCodedEntry) const { /* Code Meaning is not used for comparing the two codes */ return (CodeValue != basicCodedEntry.CodeValue) || @@ -225,22 +241,6 @@ OFBool DSRCodedEntryValue::operator!=(const DSRBasicCodedEntry &basicCodedEntry) } -void DSRCodedEntryValue::clear() -{ - CodeValueType = DSRTypes::CVT_Short /* should not be "auto" */; - CodeValue.clear(); - CodingSchemeDesignator.clear(); - CodingSchemeVersion.clear(); - CodeMeaning.clear(); - ContextIdentifier.clear(); - ContextUID.clear(); - MappingResource.clear(); - ContextGroupVersion.clear(); - ContextGroupLocalVersion.clear(); - ContextGroupExtensionCreatorUID.clear(); -} - - OFBool DSRCodedEntryValue::isValid() const { return checkCurrentValue().good(); @@ -821,7 +821,7 @@ DSRTypes::E_CodeValueType DSRCodedEntryValue::determineCodeValueType(const OFStr } -// output operators +// i/o stream operators STD_NAMESPACE ostream &operator<<(STD_NAMESPACE ostream &stream, const DSRCodedEntryValue& codedEntryValue) @@ -829,3 +829,33 @@ STD_NAMESPACE ostream &operator<<(STD_NAMESPACE ostream &stream, codedEntryValue.print(stream, OFTrue /*printCodeValue*/, DSRTypes::PF_printEmptyCodes /*flags*/); return stream; } + + +// comparison operators + +OFBool operator==(const DSRCodedEntryValue &lhs, + const DSRCodedEntryValue &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRCodedEntryValue &lhs, + const DSRCodedEntryValue &rhs) +{ + return lhs.isNotEqual(rhs); +} + + +OFBool operator==(const DSRCodedEntryValue &lhs, + const DSRBasicCodedEntry &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRCodedEntryValue &lhs, + const DSRBasicCodedEntry &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrcolcc.cc b/dcmsr/libsrc/dsrcolcc.cc index aac1fa3e..f413f6ea 100644 --- a/dcmsr/libsrc/dsrcolcc.cc +++ b/dcmsr/libsrc/dsrcolcc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2021, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -78,33 +78,35 @@ OFBool DSRColonCadSRConstraintChecker::checkContentRelationship(const E_ValueTyp (targetValueType == VT_Container) || (targetValueType == VT_UIDRef) || (targetValueType == VT_Date) || (targetValueType == VT_Time); } - /* row 2 of the table */ - else if ((relationshipType == RT_hasObsContext) && !byReference && ((sourceValueType == VT_Container) || - (sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) + /* row 2 of the table (CONTAINER-related constraints are checked with row 3) */ + else if ((relationshipType == RT_hasObsContext) && !byReference && + ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_PName) || (targetValueType == VT_UIDRef) || (targetValueType == VT_Composite); } - /* new row introduced with CP-2084 */ - else if ((relationshipType == RT_hasObsContext) && (sourceValueType == VT_Container)) + /* row 3 of the table (including CONTAINER-related constraints from row 2) */ + else if ((relationshipType == RT_hasObsContext) && !byReference && (sourceValueType == VT_Container)) { - result = (targetValueType == VT_Container); + result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || + (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_PName) || + (targetValueType == VT_UIDRef) || (targetValueType == VT_Composite) || (targetValueType == VT_Container); } - /* row 3 of the table */ + /* row 4 of the table */ else if ((relationshipType == RT_hasAcqContext) && (sourceValueType == VT_Image)) { /* by-reference allowed */ result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_Num) || (targetValueType == VT_Container); } - /* row 4 of the table */ + /* row 5 of the table */ else if ((relationshipType == RT_hasConceptMod) && !byReference && ((sourceValueType == VT_Container) || (sourceValueType == VT_Code) || (sourceValueType == VT_Composite) || (sourceValueType == VT_Num))) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code); } - /* row 5 the table */ + /* row 6 the table */ else if ((relationshipType == RT_hasProperties) && !byReference && ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { @@ -112,7 +114,7 @@ OFBool DSRColonCadSRConstraintChecker::checkContentRelationship(const E_ValueTyp (targetValueType == VT_Num) || (targetValueType == VT_Date) || (targetValueType == VT_Image) || (targetValueType == VT_SCoord) || (targetValueType == VT_SCoord3D) || (targetValueType == VT_UIDRef); } - /* row 6 of the table */ + /* row 7 of the table */ else if ((relationshipType == RT_inferredFrom) && ((sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { /* by-reference allowed */ @@ -120,12 +122,12 @@ OFBool DSRColonCadSRConstraintChecker::checkContentRelationship(const E_ValueTyp (targetValueType == VT_SCoord) || (targetValueType == VT_SCoord3D) || (targetValueType == VT_Container) || (targetValueType == VT_Text); } - /* row 7 of the table */ + /* row 8 of the table */ else if ((relationshipType == RT_selectedFrom) && !byReference && (sourceValueType == VT_SCoord)) { result = (targetValueType == VT_Image); } - /* row 8 of the table (introduced with CP-1335) */ + /* row 9 of the table */ else if ((relationshipType == RT_selectedFrom) && !byReference && (sourceValueType == VT_TCoord)) { result = (targetValueType == VT_SCoord) || (targetValueType == VT_SCoord3D) || (targetValueType == VT_Image) || diff --git a/dcmsr/libsrc/dsrcomcc.cc b/dcmsr/libsrc/dsrcomcc.cc index 26d20b21..13d63c6b 100644 --- a/dcmsr/libsrc/dsrcomcc.cc +++ b/dcmsr/libsrc/dsrcomcc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2021, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -80,20 +80,23 @@ OFBool DSRComprehensiveSRConstraintChecker::checkContentRelationship(const E_Val (targetValueType == VT_TCoord) || (targetValueType == VT_Composite) || (targetValueType == VT_Image) || (targetValueType == VT_Waveform) || ((targetValueType == VT_Container) && !byReference /* only by-value */); } - /* row 2 of the table */ - else if ((relationshipType == RT_hasObsContext) && ((sourceValueType == VT_Container) || - (sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) + /* row 2 of the table (CONTAINER-related constraints are checked with row 3) */ + else if ((relationshipType == RT_hasObsContext) && + ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || (targetValueType == VT_DateTime) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || (targetValueType == VT_Composite); } - /* new row introduced with CP-2084 */ + /* row 3 of the table (including CONTAINER-related constraints from row 2) */ else if ((relationshipType == RT_hasObsContext) && (sourceValueType == VT_Container)) { - result = (targetValueType == VT_Container); + result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || + (targetValueType == VT_DateTime) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || + (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || (targetValueType == VT_Composite) || + (targetValueType == VT_Container); } - /* row 3 of the table */ + /* row 4 of the table */ else if ((relationshipType == RT_hasAcqContext) && ((sourceValueType == VT_Container) || (sourceValueType == VT_Image) || (sourceValueType == VT_Waveform) || (sourceValueType == VT_Composite) || (sourceValueType == VT_Num))) { @@ -101,12 +104,12 @@ OFBool DSRComprehensiveSRConstraintChecker::checkContentRelationship(const E_Val (targetValueType == VT_DateTime) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || (targetValueType == VT_Container); } - /* row 4 of the table */ + /* row 5 of the table */ else if ((relationshipType == RT_hasConceptMod) && !byReference /* only by-value */) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code); } - /* row 5 of the table */ + /* row 6 of the table */ else if ((relationshipType == RT_hasProperties) && ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { @@ -116,14 +119,14 @@ OFBool DSRComprehensiveSRConstraintChecker::checkContentRelationship(const E_Val (targetValueType == VT_Waveform) || (targetValueType == VT_Composite) || (targetValueType == VT_SCoord) || (targetValueType == VT_TCoord) || (targetValueType == VT_Container); } - /* row 6 of the table */ + /* row 7 of the table */ else if ((relationshipType == RT_hasProperties) && (sourceValueType == VT_PName)) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_DateTime) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName); } - /* row 7 of the table */ + /* row 8 of the table */ else if ((relationshipType == RT_inferredFrom) && ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { @@ -133,12 +136,12 @@ OFBool DSRComprehensiveSRConstraintChecker::checkContentRelationship(const E_Val (targetValueType == VT_Waveform) || (targetValueType == VT_Composite) || (targetValueType == VT_SCoord) || (targetValueType == VT_TCoord) || (targetValueType == VT_Container); } - /* row 8 of the table */ + /* row 9 of the table */ else if ((relationshipType == RT_selectedFrom) && (sourceValueType == VT_SCoord)) { result = (targetValueType == VT_Image); } - /* row 9 of the table */ + /* row 10 of the table */ else if ((relationshipType == RT_selectedFrom) && (sourceValueType == VT_TCoord)) { result = (targetValueType == VT_SCoord) || (targetValueType == VT_Image) || (targetValueType == VT_Waveform); diff --git a/dcmsr/libsrc/dsrcomtn.cc b/dcmsr/libsrc/dsrcomtn.cc index 9d3c5645..c1e1a205 100644 --- a/dcmsr/libsrc/dsrcomtn.cc +++ b/dcmsr/libsrc/dsrcomtn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2018, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -50,45 +50,45 @@ DSRCompositeTreeNode::~DSRCompositeTreeNode() } -OFBool DSRCompositeTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRCompositeTreeNode *DSRCompositeTreeNode::clone() const +{ + return new DSRCompositeTreeNode(*this); +} + + +void DSRCompositeTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRCompositeReferenceValue::clear(); +} + + +OFBool DSRCompositeTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRCompositeReferenceValue::operator==(OFstatic_cast(const DSRCompositeTreeNode &, node).getValue()); + result = DSRCompositeReferenceValue::isEqual(OFstatic_cast(const DSRCompositeTreeNode &, node).getValue()); } return result; } -OFBool DSRCompositeTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRCompositeTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRCompositeReferenceValue::operator!=(OFstatic_cast(const DSRCompositeTreeNode &, node).getValue()); + result = DSRCompositeReferenceValue::isNotEqual(OFstatic_cast(const DSRCompositeTreeNode &, node).getValue()); } return result; } -DSRCompositeTreeNode *DSRCompositeTreeNode::clone() const -{ - return new DSRCompositeTreeNode(*this); -} - - -void DSRCompositeTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRCompositeReferenceValue::clear(); -} - - OFBool DSRCompositeTreeNode::isValid() const { return DSRDocumentTreeNode::isValid() && hasValidValue(); @@ -158,15 +158,32 @@ OFCondition DSRCompositeTreeNode::renderHTMLContentItem(STD_NAMESPACE ostream &d STD_NAMESPACE ostream &annexStream, const size_t /* nestingLevel */, size_t &annexNumber, - const size_t flags) const + const size_t flags, + const char *urlPrefix) const { /* render ConceptName */ OFCondition result = renderHTMLConceptName(docStream, flags); /* render Reference */ if (result.good()) { - result = DSRCompositeReferenceValue::renderHTML(docStream, annexStream, annexNumber, flags); + result = DSRCompositeReferenceValue::renderHTML(docStream, annexStream, annexNumber, flags, urlPrefix); docStream << OFendl; } return result; } + + +// comparison operators + +OFBool operator==(const DSRCompositeTreeNode &lhs, + const DSRCompositeTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRCompositeTreeNode &lhs, + const DSRCompositeTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrcomvl.cc b/dcmsr/libsrc/dsrcomvl.cc index dde69f31..4baef1ba 100644 --- a/dcmsr/libsrc/dsrcomvl.cc +++ b/dcmsr/libsrc/dsrcomvl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2021, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -72,24 +72,24 @@ DSRCompositeReferenceValue &DSRCompositeReferenceValue::operator=(const DSRCompo } -OFBool DSRCompositeReferenceValue::operator==(const DSRCompositeReferenceValue &referenceValue) const +void DSRCompositeReferenceValue::clear() { - return (SOPClassUID == referenceValue.SOPClassUID) && - (SOPInstanceUID == referenceValue.SOPInstanceUID); + SOPClassUID.clear(); + SOPInstanceUID.clear(); } -OFBool DSRCompositeReferenceValue::operator!=(const DSRCompositeReferenceValue &referenceValue) const +OFBool DSRCompositeReferenceValue::isEqual(const DSRCompositeReferenceValue &referenceValue) const { - return (SOPClassUID != referenceValue.SOPClassUID) || - (SOPInstanceUID != referenceValue.SOPInstanceUID); + return (SOPClassUID == referenceValue.SOPClassUID) && + (SOPInstanceUID == referenceValue.SOPInstanceUID); } -void DSRCompositeReferenceValue::clear() +OFBool DSRCompositeReferenceValue::isNotEqual(const DSRCompositeReferenceValue &referenceValue) const { - SOPClassUID.clear(); - SOPInstanceUID.clear(); + return (SOPClassUID != referenceValue.SOPClassUID) || + (SOPInstanceUID != referenceValue.SOPInstanceUID); } @@ -244,10 +244,11 @@ OFCondition DSRCompositeReferenceValue::writeSequence(DcmItem &dataset, OFCondition DSRCompositeReferenceValue::renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream & /*annexStream*/, size_t & /*annexNumber*/, - const size_t /*flags*/) const + const size_t /*flags*/, + const char *urlPrefix) const { /* render reference */ - docStream << ""; /* retrieve name of SOP class (if known) */ docStream << dcmFindNameOfUID(SOPClassUID.c_str(), "unknown composite object"); @@ -440,3 +441,19 @@ OFCondition DSRCompositeReferenceValue::checkCurrentValue(const OFBool reportWar result = checkSOPInstanceUID(SOPInstanceUID, reportWarnings); return result; } + + +// comparison operators + +OFBool operator==(const DSRCompositeReferenceValue &lhs, + const DSRCompositeReferenceValue &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRCompositeReferenceValue &lhs, + const DSRCompositeReferenceValue &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrcontn.cc b/dcmsr/libsrc/dsrcontn.cc index 5e343b3e..ed77e5bd 100644 --- a/dcmsr/libsrc/dsrcontn.cc +++ b/dcmsr/libsrc/dsrcontn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2018, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -50,10 +50,22 @@ DSRContainerTreeNode::~DSRContainerTreeNode() } -OFBool DSRContainerTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRContainerTreeNode *DSRContainerTreeNode::clone() const +{ + return new DSRContainerTreeNode(*this); +} + + +void DSRContainerTreeNode::clear() +{ + ContinuityOfContent = COC_Separate; // this is more useful than COC_invalid +} + + +OFBool DSRContainerTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ @@ -63,10 +75,10 @@ OFBool DSRContainerTreeNode::operator==(const DSRDocumentTreeNode &node) const } -OFBool DSRContainerTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRContainerTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ @@ -76,18 +88,6 @@ OFBool DSRContainerTreeNode::operator!=(const DSRDocumentTreeNode &node) const } -DSRContainerTreeNode *DSRContainerTreeNode::clone() const -{ - return new DSRContainerTreeNode(*this); -} - - -void DSRContainerTreeNode::clear() -{ - ContinuityOfContent = COC_Separate; // this is more useful that COC_invalid -} - - OFBool DSRContainerTreeNode::isValid() const { /* ConceptNameCodeSequence required for root node container */ @@ -226,7 +226,8 @@ OFCondition DSRContainerTreeNode::renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, const size_t nestingLevel, size_t &annexNumber, - const size_t flags) const + const size_t flags, + const char *urlPrefix) const { /* check for validity */ if (!isValid()) @@ -237,9 +238,9 @@ OFCondition DSRContainerTreeNode::renderHTML(STD_NAMESPACE ostream &docStream, { /* section body: render child nodes */ if (ContinuityOfContent == COC_Continuous) - result = renderHTMLChildNodes(docStream, annexStream, nestingLevel, annexNumber, flags & ~HF_renderItemsSeparately); + result = renderHTMLChildNodes(docStream, annexStream, nestingLevel, annexNumber, flags & ~HF_renderItemsSeparately, urlPrefix); else // might be invalid - result = renderHTMLChildNodes(docStream, annexStream, nestingLevel, annexNumber, flags | HF_renderItemsSeparately); + result = renderHTMLChildNodes(docStream, annexStream, nestingLevel, annexNumber, flags | HF_renderItemsSeparately, urlPrefix); } else printContentItemErrorMessage("Rendering", result, this); return result; @@ -258,3 +259,19 @@ OFCondition DSRContainerTreeNode::setContinuityOfContent(const E_ContinuityOfCon } return result; } + + +// comparison operators + +OFBool operator==(const DSRContainerTreeNode &lhs, + const DSRContainerTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRContainerTreeNode &lhs, + const DSRContainerTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrdattn.cc b/dcmsr/libsrc/dsrdattn.cc index 89cde2c8..f266efc6 100644 --- a/dcmsr/libsrc/dsrdattn.cc +++ b/dcmsr/libsrc/dsrdattn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2019, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -60,45 +60,45 @@ DSRDateTreeNode::~DSRDateTreeNode() } -OFBool DSRDateTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRDateTreeNode *DSRDateTreeNode::clone() const +{ + return new DSRDateTreeNode(*this); +} + + +void DSRDateTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRStringValue::clear(); +} + + +OFBool DSRDateTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRStringValue::operator==(OFstatic_cast(const DSRDateTreeNode &, node).getValue()); + result = DSRStringValue::isEqual(OFstatic_cast(const DSRDateTreeNode &, node).getValue()); } return result; } -OFBool DSRDateTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRDateTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRStringValue::operator!=(OFstatic_cast(const DSRDateTreeNode &, node).getValue()); + result = DSRStringValue::isNotEqual(OFstatic_cast(const DSRDateTreeNode &, node).getValue()); } return result; } -DSRDateTreeNode *DSRDateTreeNode::clone() const -{ - return new DSRDateTreeNode(*this); -} - - -void DSRDateTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRStringValue::clear(); -} - - OFBool DSRDateTreeNode::isValid() const { /* ConceptNameCodeSequence required */ @@ -238,3 +238,19 @@ OFCondition DSRDateTreeNode::checkValue(const OFString &dateValue) const result = DcmDate::checkStringValue(dateValue, "1"); return result; } + + +// comparison operators + +OFBool operator==(const DSRDateTreeNode &lhs, + const DSRDateTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRDateTreeNode &lhs, + const DSRDateTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrdoc.cc b/dcmsr/libsrc/dsrdoc.cc index f6ce3376..30d74769 100644 --- a/dcmsr/libsrc/dsrdoc.cc +++ b/dcmsr/libsrc/dsrdoc.cc @@ -1569,7 +1569,8 @@ void DSRDocument::renderHTMLPatientData(STD_NAMESPACE ostream &stream, void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream, DSRSOPInstanceReferenceList &refList, - const size_t flags) + const size_t flags, + const char *urlPrefix) { /* goto first list item (if not empty) */ if (refList.gotoFirstItem().good()) @@ -1577,6 +1578,7 @@ void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream, OFString tmpString; DSRCodedEntryValue codeValue; unsigned int i = 0; + const char *urlPrefixToCompositeObjects = (urlPrefix == NULL ? DEFAULT_HTML_HYPERLINK_PREFIX_FOR_COMPOSITE_OBJECTS : urlPrefix); /* iterate over all list items */ do { if (i > 0) @@ -1589,7 +1591,7 @@ void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream, OFString sopClass, sopInstance; if (!refList.getSOPClassUID(sopClass).empty() && !refList.getSOPInstanceUID(sopInstance).empty()) { - stream << ""; /* check whether referenced object has a well-known SOP class */ stream << dcmFindNameOfUID(sopClass.c_str(), "unknown composite object"); @@ -1608,7 +1610,8 @@ void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream, void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream, DSRReferencedInstanceList &refList, - const size_t flags) + const size_t flags, + const char *urlPrefix) { /* goto first list item (if not empty) */ if (refList.gotoFirstItem().good()) @@ -1616,6 +1619,7 @@ void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream, OFString tmpString; DSRCodedEntryValue codeValue; unsigned int i = 0; + const char *urlPrefixToCompositeObjects = (urlPrefix == NULL ? DEFAULT_HTML_HYPERLINK_PREFIX_FOR_COMPOSITE_OBJECTS : urlPrefix); /* iterate over all list items */ do { if (i > 0) @@ -1628,7 +1632,7 @@ void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream, OFString sopClass, sopInstance; if (!refList.getSOPClassUID(sopClass).empty() && !refList.getSOPInstanceUID(sopInstance).empty()) { - stream << ""; /* retrieve name of SOP class (if known) */ stream << dcmFindNameOfUID(sopClass.c_str(), "unknown composite object"); @@ -1647,9 +1651,11 @@ void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream, OFCondition DSRDocument::renderHTML(STD_NAMESPACE ostream &stream, const size_t flags, - const char *styleSheet) + const char *styleSheet, + const char *urlPrefix) { OFCondition result = SR_EC_InvalidDocument; + /* only render valid documents */ if (isValid()) { @@ -1874,7 +1880,7 @@ OFCondition DSRDocument::renderHTML(STD_NAMESPACE ostream &stream, { stream << "" << OFendl; stream << "Predecessor Docs:" << OFendl; - renderHTMLReferenceList(stream, PredecessorDocuments, flags); + renderHTMLReferenceList(stream, PredecessorDocuments, flags, urlPrefix); stream << "" << OFendl; } } @@ -1883,7 +1889,7 @@ OFCondition DSRDocument::renderHTML(STD_NAMESPACE ostream &stream, { stream << "" << OFendl; stream << "Identical Docs:" << OFendl; - renderHTMLReferenceList(stream, IdenticalDocuments, flags); + renderHTMLReferenceList(stream, IdenticalDocuments, flags, urlPrefix); stream << "" << OFendl; } /* referenced instances */ @@ -1891,7 +1897,7 @@ OFCondition DSRDocument::renderHTML(STD_NAMESPACE ostream &stream, { stream << "" << OFendl; stream << "Referenced Objects:" << OFendl; - renderHTMLReferenceList(stream, ReferencedInstances, flags); + renderHTMLReferenceList(stream, ReferencedInstances, flags, urlPrefix); stream << "" << OFendl; } if (usesGeneralSRModules) @@ -1972,7 +1978,7 @@ OFCondition DSRDocument::renderHTML(STD_NAMESPACE ostream &stream, /* create memory output stream for the annex */ OFOStringStream annexStream; /* render document tree two the streams */ - result = DocumentTree.renderHTML(stream, annexStream, newFlags); + result = DocumentTree.renderHTML(stream, annexStream, newFlags, urlPrefix); /* append annex (with heading) to main document */ if (result.good()) result = appendStream(stream, annexStream, "

    Annex

    "); diff --git a/dcmsr/libsrc/dsrdocst.cc b/dcmsr/libsrc/dsrdocst.cc index 3a848129..b3dea722 100644 --- a/dcmsr/libsrc/dsrdocst.cc +++ b/dcmsr/libsrc/dsrdocst.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2018, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by diff --git a/dcmsr/libsrc/dsrdoctn.cc b/dcmsr/libsrc/dsrdoctn.cc index 92555918..01dff74d 100644 --- a/dcmsr/libsrc/dsrdoctn.cc +++ b/dcmsr/libsrc/dsrdoctn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2022, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -79,7 +79,22 @@ DSRDocumentTreeNode::~DSRDocumentTreeNode() } -OFBool DSRDocumentTreeNode::operator==(const DSRDocumentTreeNode &node) const +void DSRDocumentTreeNode::clear() +{ + MarkFlag = OFFalse; + ReferenceTarget = OFFalse; + ConceptName.clear(); + ObservationDateTime.clear(); + ObservationUID.clear(); + TemplateIdentifier.clear(); + MappingResource.clear(); + MappingResourceUID.clear(); + MACParameters.clear(); + DigitalSignatures.clear(); +} + + +OFBool DSRDocumentTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* only very basic information is used for comparing the two nodes */ return (RelationshipType == node.RelationshipType) && @@ -88,7 +103,7 @@ OFBool DSRDocumentTreeNode::operator==(const DSRDocumentTreeNode &node) const } -OFBool DSRDocumentTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRDocumentTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* only very basic information is used for comparing the two nodes */ return (RelationshipType != node.RelationshipType) || @@ -97,21 +112,6 @@ OFBool DSRDocumentTreeNode::operator!=(const DSRDocumentTreeNode &node) const } -void DSRDocumentTreeNode::clear() -{ - MarkFlag = OFFalse; - ReferenceTarget = OFFalse; - ConceptName.clear(); - ObservationDateTime.clear(); - ObservationUID.clear(); - TemplateIdentifier.clear(); - MappingResource.clear(); - MappingResourceUID.clear(); - MACParameters.clear(); - DigitalSignatures.clear(); -} - - OFBool DSRDocumentTreeNode::isValid() const { return (RelationshipType != RT_invalid) && (ValueType != VT_invalid); @@ -453,7 +453,8 @@ OFCondition DSRDocumentTreeNode::renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, const size_t nestingLevel, size_t &annexNumber, - const size_t flags) const + const size_t flags, + const char *urlPrefix) const { /* check for validity */ if (!isValid()) @@ -466,10 +467,10 @@ OFCondition DSRDocumentTreeNode::renderHTML(STD_NAMESPACE ostream &docStream, docStream << "
    " << OFendl; } /* render content item */ - OFCondition result = renderHTMLContentItem(docStream, annexStream, nestingLevel, annexNumber, flags); + OFCondition result = renderHTMLContentItem(docStream, annexStream, nestingLevel, annexNumber, flags, urlPrefix); /* render child nodes */ if (result.good()) - result = renderHTMLChildNodes(docStream, annexStream, nestingLevel, annexNumber, flags | HF_renderItemsSeparately); + result = renderHTMLChildNodes(docStream, annexStream, nestingLevel, annexNumber, flags | HF_renderItemsSeparately, urlPrefix); else printContentItemErrorMessage("Rendering", result, this); return result; @@ -674,6 +675,18 @@ OFCondition DSRDocumentTreeNode::renderHTMLContentItem(STD_NAMESPACE ostream & / } +OFCondition DSRDocumentTreeNode::renderHTMLContentItem(STD_NAMESPACE ostream &docStream, + STD_NAMESPACE ostream &annexStream, + const size_t nestingLevel, + size_t &annexNumber, + const size_t flags, + const char * /*urlPrefix*/) const +{ + /* call the real method (without "urlPrefix" parameter) */ + return renderHTMLContentItem(docStream, annexStream, nestingLevel, annexNumber, flags); +} + + OFCondition DSRDocumentTreeNode::readSRDocumentContentModule(DcmItem &dataset, const DSRIODConstraintChecker *constraintChecker, const size_t flags) @@ -971,7 +984,7 @@ OFCondition DSRDocumentTreeNode::readContentSequence(DcmItem &dataset, OFString location = posString; if (!location.empty()) location += "."; - location += numberToString(OFstatic_cast(size_t, i + 1), buffer); + location += numberToString(OFstatic_cast(size_t, i + 1), buffer, sizeof(buffer)); if (flags & RF_showCurrentlyProcessedItem) DCMSR_INFO("Processing content item " << location); /* read RelationshipType */ @@ -1169,7 +1182,8 @@ OFCondition DSRDocumentTreeNode::renderHTMLChildNodes(STD_NAMESPACE ostream &doc STD_NAMESPACE ostream &annexStream, const size_t nestingLevel, size_t &annexNumber, - const size_t flags) const + const size_t flags, + const char *urlPrefix) const { OFCondition result = EC_Normal; /* goto first child of current node */ @@ -1235,7 +1249,7 @@ OFCondition DSRDocumentTreeNode::renderHTMLChildNodes(STD_NAMESPACE ostream &doc docStream << " = "; } /* render HTML code (directly to the reference text) */ - result = node->renderHTML(docStream, annexStream, 0 /*nesting level*/, annexNumber, newFlags | HF_renderItemInline); + result = node->renderHTML(docStream, annexStream, 0 /*nesting level*/, annexNumber, newFlags | HF_renderItemInline, urlPrefix); } else { /* render concept name or value type */ if (node->getConceptName().getCodeMeaning().empty()) @@ -1251,7 +1265,7 @@ OFCondition DSRDocumentTreeNode::renderHTMLChildNodes(STD_NAMESPACE ostream &doc /* create memory output stream for the temporal annex */ OFOStringStream tempAnnexStream; /* render HTML code (directly to the annex) */ - result = node->renderHTML(annexStream, tempAnnexStream, 0 /*nesting level*/, annexNumber, newFlags | HF_currentlyInsideAnnex); + result = node->renderHTML(annexStream, tempAnnexStream, 0 /*nesting level*/, annexNumber, newFlags | HF_currentlyInsideAnnex, urlPrefix); annexStream << "" << OFendl; /* use empty paragraph for bottom margin */ if (!(flags & HF_XHTML11Compatibility)) @@ -1286,7 +1300,7 @@ OFCondition DSRDocumentTreeNode::renderHTMLChildNodes(STD_NAMESPACE ostream &doc if (newFlags & HF_createFootnoteReferences) { /* render HTML code (without child nodes) */ - result = node->renderHTMLContentItem(docStream, annexStream, 0 /*nestingLevel*/, annexNumber, newFlags); + result = node->renderHTMLContentItem(docStream, annexStream, 0 /*nestingLevel*/, annexNumber, newFlags, urlPrefix); /* create footnote numbers (individually for each child?) */ if (result.good()) { @@ -1302,11 +1316,11 @@ OFCondition DSRDocumentTreeNode::renderHTMLChildNodes(STD_NAMESPACE ostream &doc /* render footnote text and reference */ createHTMLFootnote(docStream, tempDocStream, footnoteNumber, node->getNodeID(), flags); /* render child nodes to temporary stream */ - result = node->renderHTMLChildNodes(tempDocStream, annexStream, 0 /*nestingLevel*/, annexNumber, newFlags); + result = node->renderHTMLChildNodes(tempDocStream, annexStream, 0 /*nestingLevel*/, annexNumber, newFlags, urlPrefix); } } else { /* render HTML code (incl. child nodes)*/ - result = node->renderHTML(docStream, annexStream, nestingLevel + 1, annexNumber, newFlags); + result = node->renderHTML(docStream, annexStream, nestingLevel + 1, annexNumber, newFlags, urlPrefix); } /* end paragraph */ if (flags & HF_renderItemsSeparately) @@ -1390,3 +1404,19 @@ OFBool DSRDocumentTreeNode::checkTemplateIdentification(const OFString &template result = OFTrue; return result; } + + +// comparison operators + +OFBool operator==(const DSRDocumentTreeNode &lhs, + const DSRDocumentTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRDocumentTreeNode &lhs, + const DSRDocumentTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrdoctr.cc b/dcmsr/libsrc/dsrdoctr.cc index 69ec0c10..fb4e01e3 100644 --- a/dcmsr/libsrc/dsrdoctr.cc +++ b/dcmsr/libsrc/dsrdoctr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2016, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -244,7 +244,8 @@ OFCondition DSRDocumentTree::readXML(const DSRXMLDocument &doc, OFCondition DSRDocumentTree::renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, - const size_t flags) + const size_t flags, + const char *urlPrefix) { OFCondition result = SR_EC_InvalidDocumentTree; /* check whether document tree is valid */ @@ -262,7 +263,7 @@ OFCondition DSRDocumentTree::renderHTML(STD_NAMESPACE ostream &docStream, /* update the document tree for output (if needed) */ updateTreeForOutput(); /* start rendering from root node */ - result = node->renderHTML(docStream, annexStream, 1 /*nestingLevel*/, annexNumber, flags & ~HF_internalUseOnly); + result = node->renderHTML(docStream, annexStream, 1 /*nestingLevel*/, annexNumber, flags & ~HF_internalUseOnly, urlPrefix); } } else { /* tbd: cannot render document with included templates */ diff --git a/dcmsr/libsrc/dsrdtitn.cc b/dcmsr/libsrc/dsrdtitn.cc index 4a957c53..3046253b 100644 --- a/dcmsr/libsrc/dsrdtitn.cc +++ b/dcmsr/libsrc/dsrdtitn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2019, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -59,45 +59,45 @@ DSRDateTimeTreeNode::~DSRDateTimeTreeNode() } -OFBool DSRDateTimeTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRDateTimeTreeNode *DSRDateTimeTreeNode::clone() const +{ + return new DSRDateTimeTreeNode(*this); +} + + +void DSRDateTimeTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRStringValue::clear(); +} + + +OFBool DSRDateTimeTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRStringValue::operator==(OFstatic_cast(const DSRDateTimeTreeNode &, node).getValue()); + result = DSRStringValue::isEqual(OFstatic_cast(const DSRDateTimeTreeNode &, node).getValue()); } return result; } -OFBool DSRDateTimeTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRDateTimeTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRStringValue::operator!=(OFstatic_cast(const DSRDateTimeTreeNode &, node).getValue()); + result = DSRStringValue::isNotEqual(OFstatic_cast(const DSRDateTimeTreeNode &, node).getValue()); } return result; } -DSRDateTimeTreeNode *DSRDateTimeTreeNode::clone() const -{ - return new DSRDateTimeTreeNode(*this); -} - - -void DSRDateTimeTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRStringValue::clear(); -} - - OFBool DSRDateTimeTreeNode::isValid() const { /* ConceptNameCodeSequence required */ @@ -243,3 +243,19 @@ OFCondition DSRDateTimeTreeNode::checkValue(const OFString &dateTimeValue) const result = DcmDateTime::checkStringValue(dateTimeValue, "1"); return result; } + + +// comparison operators + +OFBool operator==(const DSRDateTimeTreeNode &lhs, + const DSRDateTimeTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRDateTimeTreeNode &lhs, + const DSRDateTimeTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrenhcc.cc b/dcmsr/libsrc/dsrenhcc.cc index 64339551..fd57ca12 100644 --- a/dcmsr/libsrc/dsrenhcc.cc +++ b/dcmsr/libsrc/dsrenhcc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2021, OFFIS e.V. + * Copyright (C) 2003-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -89,7 +89,7 @@ OFBool DSREnhancedSRConstraintChecker::checkContentRelationship(const E_ValueTyp result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || (targetValueType == VT_DateTime) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || (targetValueType == VT_Composite) || - (targetValueType == VT_Container) /* see CP-2084 */; + (targetValueType == VT_Container); } /* row 3 of the table */ else if ((relationshipType == RT_hasAcqContext) && ((sourceValueType == VT_Container) || (sourceValueType == VT_Image) || diff --git a/dcmsr/libsrc/dsrimgfr.cc b/dcmsr/libsrc/dsrimgfr.cc index 83e20717..249ab40a 100644 --- a/dcmsr/libsrc/dsrimgfr.cc +++ b/dcmsr/libsrc/dsrimgfr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2021, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,11 +22,10 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ - #include "dcmtk/dcmsr/dsrimgfr.h" - #include "dcmtk/dcmdata/dcdeftag.h" #include "dcmtk/dcmdata/dcvris.h" +#include "dcmtk/ofstd/ofstd.h" template<> @@ -125,11 +124,11 @@ OFCondition DSRImageFrameList::write(DcmItem &dataset) const if (!tmpString.empty()) tmpString += '\\'; #ifdef PRId32 - sprintf(buffer, "%" PRId32, *iterator); + OFStandard::snprintf(buffer, sizeof(buffer), "%" PRId32, *iterator); #elif SIZEOF_LONG == 8 - sprintf(buffer, "%d", *iterator); + OFStandard::snprintf(buffer, sizeof(buffer), "%d", *iterator); #else - sprintf(buffer, "%ld", *iterator); + OFStandard::snprintf(buffer, sizeof(buffer), "%ld", *iterator); #endif tmpString += buffer; iterator++; diff --git a/dcmsr/libsrc/dsrimgtn.cc b/dcmsr/libsrc/dsrimgtn.cc index a5d07a8e..958c83c0 100644 --- a/dcmsr/libsrc/dsrimgtn.cc +++ b/dcmsr/libsrc/dsrimgtn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2019, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -49,45 +49,45 @@ DSRImageTreeNode::~DSRImageTreeNode() } -OFBool DSRImageTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRImageTreeNode *DSRImageTreeNode::clone() const +{ + return new DSRImageTreeNode(*this); +} + + +void DSRImageTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRImageReferenceValue::clear(); +} + + +OFBool DSRImageTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRImageReferenceValue::operator==(OFstatic_cast(const DSRImageTreeNode &, node).getValue()); + result = DSRImageReferenceValue::isEqual(OFstatic_cast(const DSRImageTreeNode &, node).getValue()); } return result; } -OFBool DSRImageTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRImageTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRImageReferenceValue::operator!=(OFstatic_cast(const DSRImageTreeNode &, node).getValue()); + result = DSRImageReferenceValue::isNotEqual(OFstatic_cast(const DSRImageTreeNode &, node).getValue()); } return result; } -DSRImageTreeNode *DSRImageTreeNode::clone() const -{ - return new DSRImageTreeNode(*this); -} - - -void DSRImageTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRImageReferenceValue::clear(); -} - - OFBool DSRImageTreeNode::isValid() const { return DSRDocumentTreeNode::isValid() && hasValidValue(); @@ -163,15 +163,32 @@ OFCondition DSRImageTreeNode::renderHTMLContentItem(STD_NAMESPACE ostream &docSt STD_NAMESPACE ostream &annexStream, const size_t /*nestingLevel*/, size_t &annexNumber, - const size_t flags) const + const size_t flags, + const char *urlPrefix) const { /* render ConceptName */ OFCondition result = renderHTMLConceptName(docStream, flags); /* render Reference */ if (result.good()) { - result = DSRImageReferenceValue::renderHTML(docStream, annexStream, annexNumber, flags); + result = DSRImageReferenceValue::renderHTML(docStream, annexStream, annexNumber, flags, urlPrefix); docStream << OFendl; } return result; } + + +// comparison operators + +OFBool operator==(const DSRImageTreeNode &lhs, + const DSRImageTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRImageTreeNode &lhs, + const DSRImageTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrimgvl.cc b/dcmsr/libsrc/dsrimgvl.cc index 1b173b58..50033558 100644 --- a/dcmsr/libsrc/dsrimgvl.cc +++ b/dcmsr/libsrc/dsrimgvl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2023, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -131,10 +131,21 @@ DSRImageReferenceValue &DSRImageReferenceValue::operator=(const DSRImageReferenc } -OFBool DSRImageReferenceValue::operator==(const DSRImageReferenceValue &referenceValue) const +void DSRImageReferenceValue::clear() +{ + DSRCompositeReferenceValue::clear(); + FrameList.clear(); + SegmentList.clear(); + PresentationState.clear(); + RealWorldValueMapping.clear(); + deleteIconImage(); +} + + +OFBool DSRImageReferenceValue::isEqual(const DSRImageReferenceValue &referenceValue) const { /* the optional icon image is not used for comparison */ - return DSRCompositeReferenceValue::operator==(referenceValue) && + return DSRCompositeReferenceValue::isEqual(referenceValue) && (FrameList == referenceValue.FrameList) && (SegmentList == referenceValue.SegmentList) && (PresentationState == referenceValue.PresentationState) && @@ -142,10 +153,10 @@ OFBool DSRImageReferenceValue::operator==(const DSRImageReferenceValue &referenc } -OFBool DSRImageReferenceValue::operator!=(const DSRImageReferenceValue &referenceValue) const +OFBool DSRImageReferenceValue::isNotEqual(const DSRImageReferenceValue &referenceValue) const { /* the optional icon image is not used for comparison */ - return DSRCompositeReferenceValue::operator!=(referenceValue) || + return DSRCompositeReferenceValue::isNotEqual(referenceValue) || (FrameList != referenceValue.FrameList) || (SegmentList != referenceValue.SegmentList) || (PresentationState != referenceValue.PresentationState) || @@ -153,17 +164,6 @@ OFBool DSRImageReferenceValue::operator!=(const DSRImageReferenceValue &referenc } -void DSRImageReferenceValue::clear() -{ - DSRCompositeReferenceValue::clear(); - FrameList.clear(); - SegmentList.clear(); - PresentationState.clear(); - RealWorldValueMapping.clear(); - deleteIconImage(); -} - - OFBool DSRImageReferenceValue::isValid() const { return DSRCompositeReferenceValue::isValid() && checkCurrentValue().good(); @@ -441,10 +441,11 @@ OFCondition DSRImageReferenceValue::writeItem(DcmItem &dataset) const OFCondition DSRImageReferenceValue::renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, size_t &annexNumber, - const size_t flags) const + const size_t flags, + const char *urlPrefix) const { /* reference: image */ - docStream << " 0) ReferencedContentItem += '.'; if (delem.getUint32(value, i).good()) - ReferencedContentItem += numberToString(OFstatic_cast(size_t, value), buffer); + ReferencedContentItem += numberToString(OFstatic_cast(size_t, value), buffer, sizeof(buffer)); } } return result; @@ -343,3 +343,19 @@ OFCondition DSRByReferenceTreeNode::setTemplateIdentification(const OFString & / /* invalid: no template identification allowed */ return EC_IllegalCall; } + + +// comparison operators + +OFBool operator==(const DSRByReferenceTreeNode &lhs, + const DSRByReferenceTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRByReferenceTreeNode &lhs, + const DSRByReferenceTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrrrdcc.cc b/dcmsr/libsrc/dsrrrdcc.cc index e6ee37a5..c1dde70e 100644 --- a/dcmsr/libsrc/dsrrrdcc.cc +++ b/dcmsr/libsrc/dsrrrdcc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2014-2021, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2014-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -88,24 +88,24 @@ OFBool DSRRadiopharmaceuticalRadiationDoseSRConstraintChecker::checkContentRelat result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName); } - /* new row introduced with CP-2084 */ + /* row 3 of the table */ else if ((relationshipType == RT_hasObsContext) && (sourceValueType == VT_Container)) { result = (targetValueType == VT_Container); } - /* row 3 of the table */ + /* row 4 of the table */ else if ((relationshipType == RT_hasAcqContext) && (sourceValueType == VT_Container)) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || (targetValueType == VT_Container); } - /* row 4 of the table */ + /* row 5 of the table */ else if (relationshipType == RT_hasConceptMod) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code); } - /* row 5 of the table */ + /* row 6 of the table */ else if ((relationshipType == RT_hasProperties) && ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num) || (sourceValueType == VT_PName))) { @@ -113,7 +113,7 @@ OFBool DSRRadiopharmaceuticalRadiationDoseSRConstraintChecker::checkContentRelat (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || (targetValueType == VT_Container); } - /* row 6 of the table */ + /* row 7 of the table */ else if ((relationshipType == RT_inferredFrom) && ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { diff --git a/dcmsr/libsrc/dsrrsdcc.cc b/dcmsr/libsrc/dsrrsdcc.cc index 53732412..e8d526af 100644 --- a/dcmsr/libsrc/dsrrsdcc.cc +++ b/dcmsr/libsrc/dsrrsdcc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2020-2021, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2020-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -84,7 +84,7 @@ OFBool DSRRenditionSelectionDocumentConstraintChecker::checkContentRelationship( else if ((relationshipType == RT_hasObsContext) && (sourceValueType == VT_Container)) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_UIDRef) || - (targetValueType == VT_PName) || (targetValueType == VT_Container) /* see CP-2084 */; + (targetValueType == VT_PName) || (targetValueType == VT_Container); } /* row 3 of the table */ else if ((relationshipType == RT_hasConceptMod) && (sourceValueType == VT_Container)) diff --git a/dcmsr/libsrc/dsrsaecc.cc b/dcmsr/libsrc/dsrsaecc.cc index 7fbb153c..cfe5d81d 100644 --- a/dcmsr/libsrc/dsrsaecc.cc +++ b/dcmsr/libsrc/dsrsaecc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2021, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2016-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -77,24 +77,24 @@ OFBool DSRSimplifiedAdultEchoSRConstraintChecker::checkContentRelationship(const /* row 1 of the table */ if ((relationshipType == RT_contains) && (sourceValueType == VT_Container)) { - result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || - (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || - (targetValueType == VT_Container); + result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || + (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || + (targetValueType == VT_Container); } /* row 2 of the table */ else if ((relationshipType == RT_hasObsContext) && ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || - (sourceValueType == VT_Num) || (sourceValueType == VT_Container) /* see CP-2084 */)) + (sourceValueType == VT_Num) || (sourceValueType == VT_Container))) { - result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || - (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || - (targetValueType == VT_Composite); + result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || + (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || + (targetValueType == VT_Composite); } /* row 3 of the table */ else if ((relationshipType == RT_hasAcqContext) && (sourceValueType == VT_Container)) { - result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || - (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || - (targetValueType == VT_Container); + result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || + (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || + (targetValueType == VT_Container); } /* row 4 of the table */ else if (relationshipType == RT_hasConceptMod) @@ -105,18 +105,18 @@ OFBool DSRSimplifiedAdultEchoSRConstraintChecker::checkContentRelationship(const else if ((relationshipType == RT_hasProperties) && ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { - result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || - (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || - (targetValueType == VT_Container); + result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || + (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) || + (targetValueType == VT_Container); } /* row 6 of the table */ else if ((relationshipType == RT_inferredFrom) && ((sourceValueType == VT_Text) || (sourceValueType == VT_Code) || (sourceValueType == VT_Num))) { - result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || - (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_Container) || - (targetValueType == VT_Image) || (targetValueType == VT_SCoord) || (targetValueType == VT_Waveform) || - (targetValueType == VT_TCoord); + result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || + (targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_Container) || + (targetValueType == VT_Image) || (targetValueType == VT_SCoord) || (targetValueType == VT_Waveform) || + (targetValueType == VT_TCoord); } /* row 7 of the table */ else if ((relationshipType == RT_selectedFrom) && (sourceValueType == VT_SCoord)) diff --git a/dcmsr/libsrc/dsrsc3gr.cc b/dcmsr/libsrc/dsrsc3gr.cc index c0b691e1..06b16d38 100644 --- a/dcmsr/libsrc/dsrsc3gr.cc +++ b/dcmsr/libsrc/dsrsc3gr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2021, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -239,3 +239,19 @@ OFCondition DSRGraphicData3DList::putString(const char *stringValue) } return result; } + + +// comparison operators + +OFBool operator==(const DSRGraphicData3DItem &lhs, + const DSRGraphicData3DItem &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRGraphicData3DItem &lhs, + const DSRGraphicData3DItem &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrsc3tn.cc b/dcmsr/libsrc/dsrsc3tn.cc index fc288c3e..c5d51c45 100644 --- a/dcmsr/libsrc/dsrsc3tn.cc +++ b/dcmsr/libsrc/dsrsc3tn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2018, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -47,45 +47,45 @@ DSRSCoord3DTreeNode::~DSRSCoord3DTreeNode() } -OFBool DSRSCoord3DTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRSCoord3DTreeNode *DSRSCoord3DTreeNode::clone() const +{ + return new DSRSCoord3DTreeNode(*this); +} + + +void DSRSCoord3DTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRSpatialCoordinates3DValue::clear(); +} + + +OFBool DSRSCoord3DTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRSpatialCoordinates3DValue::operator==(OFstatic_cast(const DSRSCoord3DTreeNode &, node).getValue()); + result = DSRSpatialCoordinates3DValue::isEqual(OFstatic_cast(const DSRSCoord3DTreeNode &, node).getValue()); } return result; } -OFBool DSRSCoord3DTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRSCoord3DTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRSpatialCoordinates3DValue::operator!=(OFstatic_cast(const DSRSCoord3DTreeNode &, node).getValue()); + result = DSRSpatialCoordinates3DValue::isNotEqual(OFstatic_cast(const DSRSCoord3DTreeNode &, node).getValue()); } return result; } -DSRSCoord3DTreeNode *DSRSCoord3DTreeNode::clone() const -{ - return new DSRSCoord3DTreeNode(*this); -} - - -void DSRSCoord3DTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRSpatialCoordinates3DValue::clear(); -} - - OFBool DSRSCoord3DTreeNode::isValid() const { return DSRDocumentTreeNode::isValid() && hasValidValue(); @@ -185,3 +185,19 @@ OFCondition DSRSCoord3DTreeNode::renderHTMLContentItem(STD_NAMESPACE ostream &do } return result; } + + +// comparison operators + +OFBool operator==(const DSRSCoord3DTreeNode &lhs, + const DSRSCoord3DTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRSCoord3DTreeNode &lhs, + const DSRSCoord3DTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrsc3vl.cc b/dcmsr/libsrc/dsrsc3vl.cc index 53c2819f..4fbab882 100644 --- a/dcmsr/libsrc/dsrsc3vl.cc +++ b/dcmsr/libsrc/dsrsc3vl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2018, OFFIS e.V. + * Copyright (C) 2010-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -72,7 +72,16 @@ DSRSpatialCoordinates3DValue &DSRSpatialCoordinates3DValue::operator=(const DSRS } -OFBool DSRSpatialCoordinates3DValue::operator==(const DSRSpatialCoordinates3DValue &coordinatesValue) const +void DSRSpatialCoordinates3DValue::clear() +{ + GraphicType = DSRTypes::GT3_invalid; + GraphicDataList.clear(); + FrameOfReferenceUID.clear(); + FiducialUID.clear(); +} + + +OFBool DSRSpatialCoordinates3DValue::isEqual(const DSRSpatialCoordinates3DValue &coordinatesValue) const { return (GraphicType == coordinatesValue.GraphicType) && (GraphicDataList == coordinatesValue.GraphicDataList) && @@ -81,7 +90,7 @@ OFBool DSRSpatialCoordinates3DValue::operator==(const DSRSpatialCoordinates3DVal } -OFBool DSRSpatialCoordinates3DValue::operator!=(const DSRSpatialCoordinates3DValue &coordinatesValue) const +OFBool DSRSpatialCoordinates3DValue::isNotEqual(const DSRSpatialCoordinates3DValue &coordinatesValue) const { return (GraphicType != coordinatesValue.GraphicType) || (GraphicDataList != coordinatesValue.GraphicDataList) || @@ -90,15 +99,6 @@ OFBool DSRSpatialCoordinates3DValue::operator!=(const DSRSpatialCoordinates3DVal } -void DSRSpatialCoordinates3DValue::clear() -{ - GraphicType = DSRTypes::GT3_invalid; - GraphicDataList.clear(); - FrameOfReferenceUID.clear(); - FiducialUID.clear(); -} - - OFBool DSRSpatialCoordinates3DValue::isValid() const { return checkGraphicData(GraphicType, GraphicDataList).good() && checkFrameOfReferenceUID(FrameOfReferenceUID).good(); @@ -423,3 +423,19 @@ OFCondition DSRSpatialCoordinates3DValue::checkFiducialUID(const OFString &fiduc return fiducialUID.empty() ? EC_Normal : DcmUniqueIdentifier::checkStringValue(fiducialUID, "1"); } + + +// comparison operators + +OFBool operator==(const DSRSpatialCoordinates3DValue &lhs, + const DSRSpatialCoordinates3DValue &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRSpatialCoordinates3DValue &lhs, + const DSRSpatialCoordinates3DValue &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrscogr.cc b/dcmsr/libsrc/dsrscogr.cc index 113a79a0..dc91d141 100644 --- a/dcmsr/libsrc/dsrscogr.cc +++ b/dcmsr/libsrc/dsrscogr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2021, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -214,3 +214,33 @@ OFCondition DSRGraphicDataList::putString(const char *stringValue) } return result; } + + +// comparison operators + +OFBool operator==(const DSRGraphicDataItem &lhs, + const DSRGraphicDataItem &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRGraphicDataItem &lhs, + const DSRGraphicDataItem &rhs) +{ + return lhs.isNotEqual(rhs); +} + + +OFBool operator<(const DSRGraphicDataItem &lhs, + const DSRGraphicDataItem &rhs) +{ + return lhs.isLessThan(rhs); +} + + +OFBool operator>(const DSRGraphicDataItem &lhs, + const DSRGraphicDataItem &rhs) +{ + return lhs.isGreaterThan(rhs); +} diff --git a/dcmsr/libsrc/dsrscotn.cc b/dcmsr/libsrc/dsrscotn.cc index 6cb91cc5..071298ba 100644 --- a/dcmsr/libsrc/dsrscotn.cc +++ b/dcmsr/libsrc/dsrscotn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2018, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -47,45 +47,45 @@ DSRSCoordTreeNode::~DSRSCoordTreeNode() } -OFBool DSRSCoordTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRSCoordTreeNode *DSRSCoordTreeNode::clone() const +{ + return new DSRSCoordTreeNode(*this); +} + + +void DSRSCoordTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRSpatialCoordinatesValue::clear(); +} + + +OFBool DSRSCoordTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRSpatialCoordinatesValue::operator==(OFstatic_cast(const DSRSCoordTreeNode &, node).getValue()); + result = DSRSpatialCoordinatesValue::isEqual(OFstatic_cast(const DSRSCoordTreeNode &, node).getValue()); } return result; } -OFBool DSRSCoordTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRSCoordTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRSpatialCoordinatesValue::operator!=(OFstatic_cast(const DSRSCoordTreeNode &, node).getValue()); + result = DSRSpatialCoordinatesValue::isNotEqual(OFstatic_cast(const DSRSCoordTreeNode &, node).getValue()); } return result; } -DSRSCoordTreeNode *DSRSCoordTreeNode::clone() const -{ - return new DSRSCoordTreeNode(*this); -} - - -void DSRSCoordTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRSpatialCoordinatesValue::clear(); -} - - OFBool DSRSCoordTreeNode::isValid() const { return DSRDocumentTreeNode::isValid() && hasValidValue(); @@ -185,3 +185,19 @@ OFCondition DSRSCoordTreeNode::renderHTMLContentItem(STD_NAMESPACE ostream &docS } return result; } + + +// comparison operators + +OFBool operator==(const DSRSCoordTreeNode &lhs, + const DSRSCoordTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRSCoordTreeNode &lhs, + const DSRSCoordTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrscovl.cc b/dcmsr/libsrc/dsrscovl.cc index 367f2595..1c2b46f7 100644 --- a/dcmsr/libsrc/dsrscovl.cc +++ b/dcmsr/libsrc/dsrscovl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -68,7 +68,15 @@ DSRSpatialCoordinatesValue &DSRSpatialCoordinatesValue::operator=(const DSRSpati } -OFBool DSRSpatialCoordinatesValue::operator==(const DSRSpatialCoordinatesValue &coordinatesValue) const +void DSRSpatialCoordinatesValue::clear() +{ + GraphicType = DSRTypes::GT_invalid; + GraphicDataList.clear(); + FiducialUID.clear(); +} + + +OFBool DSRSpatialCoordinatesValue::isEqual(const DSRSpatialCoordinatesValue &coordinatesValue) const { return (GraphicType == coordinatesValue.GraphicType) && (GraphicDataList == coordinatesValue.GraphicDataList) && @@ -76,7 +84,7 @@ OFBool DSRSpatialCoordinatesValue::operator==(const DSRSpatialCoordinatesValue & } -OFBool DSRSpatialCoordinatesValue::operator!=(const DSRSpatialCoordinatesValue &coordinatesValue) const +OFBool DSRSpatialCoordinatesValue::isNotEqual(const DSRSpatialCoordinatesValue &coordinatesValue) const { return (GraphicType != coordinatesValue.GraphicType) || (GraphicDataList != coordinatesValue.GraphicDataList) || @@ -84,14 +92,6 @@ OFBool DSRSpatialCoordinatesValue::operator!=(const DSRSpatialCoordinatesValue & } -void DSRSpatialCoordinatesValue::clear() -{ - GraphicType = DSRTypes::GT_invalid; - GraphicDataList.clear(); - FiducialUID.clear(); -} - - OFBool DSRSpatialCoordinatesValue::isValid() const { return checkGraphicData(GraphicType, GraphicDataList).good(); @@ -369,3 +369,19 @@ OFCondition DSRSpatialCoordinatesValue::checkFiducialUID(const OFString &fiducia return fiducialUID.empty() ? EC_Normal : DcmUniqueIdentifier::checkStringValue(fiducialUID, "1"); } + + +// comparison operators + +OFBool operator==(const DSRSpatialCoordinatesValue &lhs, + const DSRSpatialCoordinatesValue &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRSpatialCoordinatesValue &lhs, + const DSRSpatialCoordinatesValue &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrstrvl.cc b/dcmsr/libsrc/dsrstrvl.cc index 1f9ac494..049aa3f0 100644 --- a/dcmsr/libsrc/dsrstrvl.cc +++ b/dcmsr/libsrc/dsrstrvl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2017, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -62,21 +62,21 @@ DSRStringValue &DSRStringValue::operator=(const DSRStringValue &stringValue) } -OFBool DSRStringValue::operator==(const DSRStringValue &stringValue) const +void DSRStringValue::clear() { - return (Value == stringValue.Value); + Value.clear(); } -OFBool DSRStringValue::operator!=(const DSRStringValue &stringValue) const +OFBool DSRStringValue::isEqual(const DSRStringValue &stringValue) const { - return (Value != stringValue.Value); + return (Value == stringValue.Value); } -void DSRStringValue::clear() +OFBool DSRStringValue::isNotEqual(const DSRStringValue &stringValue) const { - Value.clear(); + return (Value != stringValue.Value); } @@ -219,3 +219,19 @@ OFCondition DSRStringValue::checkCurrentValue() const { return checkValue(Value); } + + +// comparison operators + +OFBool operator==(const DSRStringValue &lhs, + const DSRStringValue &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRStringValue &lhs, + const DSRStringValue &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrtcotn.cc b/dcmsr/libsrc/dsrtcotn.cc index 1f8a1d71..3b60ca88 100644 --- a/dcmsr/libsrc/dsrtcotn.cc +++ b/dcmsr/libsrc/dsrtcotn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2018, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -47,45 +47,45 @@ DSRTCoordTreeNode::~DSRTCoordTreeNode() } -OFBool DSRTCoordTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRTCoordTreeNode *DSRTCoordTreeNode::clone() const +{ + return new DSRTCoordTreeNode(*this); +} + + +void DSRTCoordTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRTemporalCoordinatesValue::clear(); +} + + +OFBool DSRTCoordTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRTemporalCoordinatesValue::operator==(OFstatic_cast(const DSRTCoordTreeNode &, node).getValue()); + result = DSRTemporalCoordinatesValue::isEqual(OFstatic_cast(const DSRTCoordTreeNode &, node).getValue()); } return result; } -OFBool DSRTCoordTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRTCoordTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRTemporalCoordinatesValue::operator!=(OFstatic_cast(const DSRTCoordTreeNode &, node).getValue()); + result = DSRTemporalCoordinatesValue::isNotEqual(OFstatic_cast(const DSRTCoordTreeNode &, node).getValue()); } return result; } -DSRTCoordTreeNode *DSRTCoordTreeNode::clone() const -{ - return new DSRTCoordTreeNode(*this); -} - - -void DSRTCoordTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRTemporalCoordinatesValue::clear(); -} - - OFBool DSRTCoordTreeNode::isValid() const { return DSRDocumentTreeNode::isValid() && hasValidValue(); @@ -185,3 +185,19 @@ OFCondition DSRTCoordTreeNode::renderHTMLContentItem(STD_NAMESPACE ostream &docS } return result; } + + +// comparison operators + +OFBool operator==(const DSRTCoordTreeNode &lhs, + const DSRTCoordTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRTCoordTreeNode &lhs, + const DSRTCoordTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrtcoto.cc b/dcmsr/libsrc/dsrtcoto.cc index 406e3d35..d3cf03f9 100644 --- a/dcmsr/libsrc/dsrtcoto.cc +++ b/dcmsr/libsrc/dsrtcoto.cc @@ -73,7 +73,7 @@ OFCondition DSRReferencedTimeOffsetList::print(STD_NAMESPACE ostream &stream, while (iterator != endPos) { /* need to convert float to avoid problems with decimal point ('.' or ',') */ - OFStandard::ftoa(buffer, sizeof(buffer), *iterator, 0, 0, 17 /* DBL_DECIMAL_DIG for DICOM FD */); + OFStandard::ftoa(buffer, sizeof(buffer), *iterator, 0, 0, -2 /* print enough digits to permit lossless conversion back to FD */); stream << buffer; iterator++; if (iterator != endPos) diff --git a/dcmsr/libsrc/dsrtcovl.cc b/dcmsr/libsrc/dsrtcovl.cc index dd03affd..84064cab 100644 --- a/dcmsr/libsrc/dsrtcovl.cc +++ b/dcmsr/libsrc/dsrtcovl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2019, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -71,7 +71,16 @@ DSRTemporalCoordinatesValue &DSRTemporalCoordinatesValue::operator=(const DSRTem } -OFBool DSRTemporalCoordinatesValue::operator==(const DSRTemporalCoordinatesValue &coordinatesValue) const +void DSRTemporalCoordinatesValue::clear() +{ + TemporalRangeType = DSRTypes::TRT_invalid; + SamplePositionList.clear(); + TimeOffsetList.clear(); + DateTimeList.clear(); +} + + +OFBool DSRTemporalCoordinatesValue::isEqual(const DSRTemporalCoordinatesValue &coordinatesValue) const { return (TemporalRangeType == coordinatesValue.TemporalRangeType) && (SamplePositionList == coordinatesValue.SamplePositionList) && @@ -80,7 +89,7 @@ OFBool DSRTemporalCoordinatesValue::operator==(const DSRTemporalCoordinatesValue } -OFBool DSRTemporalCoordinatesValue::operator!=(const DSRTemporalCoordinatesValue &coordinatesValue) const +OFBool DSRTemporalCoordinatesValue::isNotEqual(const DSRTemporalCoordinatesValue &coordinatesValue) const { return (TemporalRangeType != coordinatesValue.TemporalRangeType) || (SamplePositionList != coordinatesValue.SamplePositionList) || @@ -89,15 +98,6 @@ OFBool DSRTemporalCoordinatesValue::operator!=(const DSRTemporalCoordinatesValue } -void DSRTemporalCoordinatesValue::clear() -{ - TemporalRangeType = DSRTypes::TRT_invalid; - SamplePositionList.clear(); - TimeOffsetList.clear(); - DateTimeList.clear(); -} - - OFBool DSRTemporalCoordinatesValue::isValid() const { return checkData(TemporalRangeType, SamplePositionList, TimeOffsetList, DateTimeList).good(); @@ -376,3 +376,19 @@ OFCondition DSRTemporalCoordinatesValue::checkData(const DSRTypes::E_TemporalRan } return result; } + + +// comparison operators + +OFBool operator==(const DSRTemporalCoordinatesValue &lhs, + const DSRTemporalCoordinatesValue &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRTemporalCoordinatesValue &lhs, + const DSRTemporalCoordinatesValue &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrtextn.cc b/dcmsr/libsrc/dsrtextn.cc index 010ead1c..1fc9c41f 100644 --- a/dcmsr/libsrc/dsrtextn.cc +++ b/dcmsr/libsrc/dsrtextn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2019, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -60,45 +60,46 @@ DSRTextTreeNode::~DSRTextTreeNode() } -OFBool DSRTextTreeNode::operator==(const DSRDocumentTreeNode &node) const + +DSRTextTreeNode *DSRTextTreeNode::clone() const +{ + return new DSRTextTreeNode(*this); +} + + +void DSRTextTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRStringValue::clear(); +} + + +OFBool DSRTextTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRStringValue::operator==(OFstatic_cast(const DSRTextTreeNode &, node).getValue()); + result = DSRStringValue::isEqual(OFstatic_cast(const DSRTextTreeNode &, node).getValue()); } return result; } -OFBool DSRTextTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRTextTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRStringValue::operator!=(OFstatic_cast(const DSRTextTreeNode &, node).getValue()); + result = DSRStringValue::isNotEqual(OFstatic_cast(const DSRTextTreeNode &, node).getValue()); } return result; } -DSRTextTreeNode *DSRTextTreeNode::clone() const -{ - return new DSRTextTreeNode(*this); -} - - -void DSRTextTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRStringValue::clear(); -} - - OFBool DSRTextTreeNode::isValid() const { /* ConceptNameCodeSequence required */ @@ -200,3 +201,19 @@ OFCondition DSRTextTreeNode::checkValue(const OFString &textValue) const result = DcmUnlimitedText::checkStringValue(textValue, "UNKNOWN"); return result; } + + +// comparison operators + +OFBool operator==(const DSRTextTreeNode &lhs, + const DSRTextTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRTextTreeNode &lhs, + const DSRTextTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrtimtn.cc b/dcmsr/libsrc/dsrtimtn.cc index 0175cbe7..d73fc3f6 100644 --- a/dcmsr/libsrc/dsrtimtn.cc +++ b/dcmsr/libsrc/dsrtimtn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2019, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -59,45 +59,45 @@ DSRTimeTreeNode::~DSRTimeTreeNode() } -OFBool DSRTimeTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRTimeTreeNode *DSRTimeTreeNode::clone() const +{ + return new DSRTimeTreeNode(*this); +} + + +void DSRTimeTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRStringValue::clear(); +} + + +OFBool DSRTimeTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRStringValue::operator==(OFstatic_cast(const DSRTimeTreeNode &, node).getValue()); + result = DSRStringValue::isEqual(OFstatic_cast(const DSRTimeTreeNode &, node).getValue()); } return result; } -OFBool DSRTimeTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRTimeTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRStringValue::operator!=(OFstatic_cast(const DSRTimeTreeNode &, node).getValue()); + result = DSRStringValue::isNotEqual(OFstatic_cast(const DSRTimeTreeNode &, node).getValue()); } return result; } -DSRTimeTreeNode *DSRTimeTreeNode::clone() const -{ - return new DSRTimeTreeNode(*this); -} - - -void DSRTimeTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRStringValue::clear(); -} - - OFBool DSRTimeTreeNode::isValid() const { /* ConceptNameCodeSequence required */ @@ -237,3 +237,19 @@ OFCondition DSRTimeTreeNode::checkValue(const OFString &timeValue) const result = DcmTime::checkStringValue(timeValue, "1"); return result; } + + +// comparison operators + +OFBool operator==(const DSRTimeTreeNode &lhs, + const DSRTimeTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRTimeTreeNode &lhs, + const DSRTimeTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrtnant.cc b/dcmsr/libsrc/dsrtnant.cc new file mode 100644 index 00000000..97e705ab --- /dev/null +++ b/dcmsr/libsrc/dsrtnant.cc @@ -0,0 +1,53 @@ +/* + * + * Copyright (C) 2015-2024, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmsr + * + * Author: Joerg Riesmeier + * + * Purpose: + * classes: DSRTreeNodeAnnotation + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsrtnant.h" + + +DSRTreeNodeAnnotation::DSRTreeNodeAnnotation(const OFString &text) + : Text(text) +{ +} + + +DSRTreeNodeAnnotation::~DSRTreeNodeAnnotation() +{ +} + + +// comparison operators + +OFBool operator==(const DSRTreeNodeAnnotation &lhs, + const DSRTreeNodeAnnotation &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRTreeNodeAnnotation &lhs, + const DSRTreeNodeAnnotation &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrtpltn.cc b/dcmsr/libsrc/dsrtpltn.cc index 62eed194..c854f546 100644 --- a/dcmsr/libsrc/dsrtpltn.cc +++ b/dcmsr/libsrc/dsrtpltn.cc @@ -56,10 +56,23 @@ DSRIncludedTemplateTreeNode::~DSRIncludedTemplateTreeNode() } -OFBool DSRIncludedTemplateTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRIncludedTemplateTreeNode *DSRIncludedTemplateTreeNode::clone() const +{ + return new DSRIncludedTemplateTreeNode(*this); +} + + +void DSRIncludedTemplateTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + ReferencedTemplate.reset(); +} + + +OFBool DSRIncludedTemplateTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ @@ -69,10 +82,10 @@ OFBool DSRIncludedTemplateTreeNode::operator==(const DSRDocumentTreeNode &node) } -OFBool DSRIncludedTemplateTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRIncludedTemplateTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ @@ -82,19 +95,6 @@ OFBool DSRIncludedTemplateTreeNode::operator!=(const DSRDocumentTreeNode &node) } -DSRIncludedTemplateTreeNode *DSRIncludedTemplateTreeNode::clone() const -{ - return new DSRIncludedTemplateTreeNode(*this); -} - - -void DSRIncludedTemplateTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - ReferencedTemplate.reset(); -} - - OFBool DSRIncludedTemplateTreeNode::isValid() const { return DSRDocumentTreeNode::isValid() && hasValidValue(); @@ -203,7 +203,8 @@ OFCondition DSRIncludedTemplateTreeNode::renderHTML(STD_NAMESPACE ostream & /*do STD_NAMESPACE ostream & /*annexStream*/, const size_t /*nestingLevel*/, size_t & /*annexNumber*/, - const size_t /*flags*/) const + const size_t /*flags*/, + const char * /*urlPrefix*/) const { /* invalid: cannot render document with included templates */ return SR_EC_CannotProcessIncludedTemplates; @@ -261,3 +262,19 @@ OFCondition DSRIncludedTemplateTreeNode::setTemplateIdentification(const OFStrin /* invalid: no manual setting of template identification allowed */ return EC_IllegalCall; } + + +// comparison operators + +OFBool operator==(const DSRIncludedTemplateTreeNode &lhs, + const DSRIncludedTemplateTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRIncludedTemplateTreeNode &lhs, + const DSRIncludedTemplateTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrtypes.cc b/dcmsr/libsrc/dsrtypes.cc index 08414ad9..1774c957 100644 --- a/dcmsr/libsrc/dsrtypes.cc +++ b/dcmsr/libsrc/dsrtypes.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2023, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -60,6 +60,7 @@ #include "dcmtk/dcmsr/dsrpficc.h" #include "dcmtk/dcmsr/dsrplicc.h" #include "dcmtk/dcmsr/dsrrsdcc.h" +#include "dcmtk/dcmsr/dsrwancc.h" #include "dcmtk/dcmdata/dcuid.h" #include "dcmtk/dcmdata/dcvrda.h" @@ -342,7 +343,8 @@ static const S_DocumentTypeNameMap DocumentTypeNameMap[] = {DSRTypes::DT_PatientRadiationDoseSR, UID_PatientRadiationDoseSRStorage, EM_EnhancedEquipment, "SR", "Patient Radiation Dose SR"}, {DSRTypes::DT_PerformedImagingAgentAdministrationSR, UID_PerformedImagingAgentAdministrationSRStorage, EM_EnhancedEquipment | EM_Synchronization, "SR", "Performed Imaging Agent Administration SR"}, {DSRTypes::DT_PlannedImagingAgentAdministrationSR, UID_PlannedImagingAgentAdministrationSRStorage, EM_EnhancedEquipment, "SR", "Planned Imaging Agent Administration SR"}, - {DSRTypes::DT_RenditionSelectionDocument, UID_RenditionSelectionDocumentRealTimeCommunication, EM_EnhancedEquipment | EM_Synchronization | EM_KeyObjectDocument, "KO", "Rendition Selection Document"} + {DSRTypes::DT_RenditionSelectionDocument, UID_RenditionSelectionDocumentRealTimeCommunication, EM_EnhancedEquipment | EM_Synchronization | EM_KeyObjectDocument, "KO", "Rendition Selection Document"}, + {DSRTypes::DT_WaveformAnnotationSR, UID_WaveformAnnotationSRStorage, EM_EnhancedEquipment, "SR", "Waveform Annotation SR"} }; @@ -954,7 +956,8 @@ DSRTypes::E_CharacterSet DSRTypes::definedTermToCharacterSet(const OFString &def OFBool DSRTypes::isDocumentTypeSupported(const E_DocumentType documentType) { - return (documentType != DT_invalid) && (documentType != DT_ExtensibleSR) && (documentType != DT_EnhancedXRayRadiationDoseSR); + return (documentType != DT_invalid) && (documentType != DT_ExtensibleSR) && + (documentType != DT_EnhancedXRayRadiationDoseSR); } @@ -1180,11 +1183,15 @@ OFCondition DSRTypes::getAndCheckElementFromDataset(DcmItem &dataset, OFCondition result = dataset.search(tagKey, stack, ESM_fromHere, OFFalse /*searchIntoSub*/); if (result.good()) { - /* copy object from search stack */ - result = delem.copyFrom(*stack.top()); - /* we need a reference to the original element in order to determine the SpecificCharacterSet */ - if (!checkElementValue(OFstatic_cast(DcmElement *, stack.top()), tagKey, vm, type, result, moduleName, acceptViolation)) - result = SR_EC_InvalidValue; + if (stack.top()->isElement()) + { + /* copy object from search stack */ + result = delem.copyFrom(*stack.top()); + /* we need a reference to the original element in order to determine the SpecificCharacterSet */ + if (!checkElementValue(OFstatic_cast(DcmElement *, stack.top()), tagKey, vm, type, result, moduleName, acceptViolation)) + result = SR_EC_InvalidValue; + } else + result = EC_CorruptedData; } /* the element could not be found in the dataset */ else if (!checkElementValue(delem, vm, type, result, moduleName, acceptViolation)) @@ -1205,11 +1212,15 @@ OFCondition DSRTypes::getAndCheckStringValueFromDataset(DcmItem &dataset, OFCondition result = dataset.search(tagKey, stack, ESM_fromHere, OFFalse /*searchIntoSub*/); if (result.good()) { - DcmElement *delem = OFstatic_cast(DcmElement *, stack.top()); - /* we need a reference to the original element in order to determine the SpecificCharacterSet */ - if (!checkElementValue(delem, tagKey, vm, type, result, moduleName, acceptViolation)) - result = SR_EC_InvalidValue; - delem->getOFString(stringValue, 0); + if (stack.top()->isElement()) + { + DcmElement *delem = OFstatic_cast(DcmElement *, stack.top()); + /* we need a reference to the original element in order to determine the SpecificCharacterSet */ + if (!checkElementValue(delem, tagKey, vm, type, result, moduleName, acceptViolation)) + result = SR_EC_InvalidValue; + delem->getOFString(stringValue, 0); + } else + result = EC_CorruptedData; } else { if ((type == "1") || (type == "2")) { @@ -1367,12 +1378,13 @@ const OFString &DSRTypes::dicomToXMLPersonName(const OFString &dicomPersonName, const char *DSRTypes::numberToString(const size_t number, - char *stringValue) + char *stringValue, + size_t stringLength) { if (stringValue != NULL) { /* unsigned long */ - sprintf(stringValue, "%lu", OFstatic_cast(unsigned long, number)); + OFStandard::snprintf(stringValue, stringLength, "%lu", OFstatic_cast(unsigned long, number)); } return stringValue; } @@ -1517,6 +1529,9 @@ DSRIODConstraintChecker *DSRTypes::createIODConstraintChecker(const E_DocumentTy case DT_XRayRadiationDoseSR: checker = new DSRXRayRadiationDoseSRConstraintChecker(); break; + case DT_EnhancedXRayRadiationDoseSR: + /* not yet supported */ + break; case DT_SpectaclePrescriptionReport: checker = new DSRSpectaclePrescriptionReportConstraintChecker(); break; @@ -1553,8 +1568,8 @@ DSRIODConstraintChecker *DSRTypes::createIODConstraintChecker(const E_DocumentTy case DT_RenditionSelectionDocument: checker = new DSRRenditionSelectionDocumentConstraintChecker(); break; - case DT_EnhancedXRayRadiationDoseSR: - /* not yet supported */ + case DT_WaveformAnnotationSR: + checker = new DSRWaveformAnnotationSRConstraintChecker(); break; case DT_invalid: /* nothing to do */ diff --git a/dcmsr/libsrc/dsruidtn.cc b/dcmsr/libsrc/dsruidtn.cc index 4e605133..c87a946f 100644 --- a/dcmsr/libsrc/dsruidtn.cc +++ b/dcmsr/libsrc/dsruidtn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2019, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -59,45 +59,45 @@ DSRUIDRefTreeNode::~DSRUIDRefTreeNode() } -OFBool DSRUIDRefTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRUIDRefTreeNode *DSRUIDRefTreeNode::clone() const +{ + return new DSRUIDRefTreeNode(*this); +} + + +void DSRUIDRefTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRStringValue::clear(); +} + + +OFBool DSRUIDRefTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRStringValue::operator==(OFstatic_cast(const DSRUIDRefTreeNode &, node).getValue()); + result = DSRStringValue::isEqual(OFstatic_cast(const DSRUIDRefTreeNode &, node).getValue()); } return result; } -OFBool DSRUIDRefTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRUIDRefTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRStringValue::operator!=(OFstatic_cast(const DSRUIDRefTreeNode &, node).getValue()); + result = DSRStringValue::isNotEqual(OFstatic_cast(const DSRUIDRefTreeNode &, node).getValue()); } return result; } -DSRUIDRefTreeNode *DSRUIDRefTreeNode::clone() const -{ - return new DSRUIDRefTreeNode(*this); -} - - -void DSRUIDRefTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRStringValue::clear(); -} - - OFBool DSRUIDRefTreeNode::isValid() const { /* ConceptNameCodeSequence required */ @@ -189,3 +189,19 @@ OFCondition DSRUIDRefTreeNode::checkValue(const OFString &uidValue) const result = DcmUniqueIdentifier::checkStringValue(uidValue, "1"); return result; } + + +// comparison operators + +OFBool operator==(const DSRUIDRefTreeNode &lhs, + const DSRUIDRefTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRUIDRefTreeNode &lhs, + const DSRUIDRefTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrwancc.cc b/dcmsr/libsrc/dsrwancc.cc new file mode 100644 index 00000000..3e7b564f --- /dev/null +++ b/dcmsr/libsrc/dsrwancc.cc @@ -0,0 +1,121 @@ +/* + * + * Copyright (C) 2024, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation are maintained by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmsr + * + * Author: Joerg Riesmeier + * + * Purpose: + * classes: DSRWaveformAnnotationSRConstraintChecker + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsrwancc.h" + + +DSRWaveformAnnotationSRConstraintChecker::DSRWaveformAnnotationSRConstraintChecker() + : DSRIODConstraintChecker() +{ +} + + +DSRWaveformAnnotationSRConstraintChecker::~DSRWaveformAnnotationSRConstraintChecker() +{ +} + + +OFBool DSRWaveformAnnotationSRConstraintChecker::isByReferenceAllowed() const +{ + return OFTrue; +} + + +OFBool DSRWaveformAnnotationSRConstraintChecker::isTemplateSupportRequired() const +{ + return OFTrue; +} + + +OFCondition DSRWaveformAnnotationSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const +{ + templateIdentifier = "3750"; + mappingResource = "DCMR"; + return EC_Normal; +} + + +DSRTypes::E_DocumentType DSRWaveformAnnotationSRConstraintChecker::getDocumentType() const +{ + return DT_WaveformAnnotationSR; +} + + +OFBool DSRWaveformAnnotationSRConstraintChecker::checkContentRelationship(const E_ValueType sourceValueType, + const E_RelationshipType relationshipType, + const E_ValueType targetValueType, + const OFBool byReference) const +{ + /* the following code implements the constraints of table A.35.23-2 in DICOM PS3.3 */ + OFBool result = OFFalse; + /* row 1 of the table */ + if ((relationshipType == RT_contains) && !byReference && (sourceValueType == VT_Container)) + { + result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_Num) || + (targetValueType == VT_TCoord) || (targetValueType == VT_Waveform) || (targetValueType == VT_Container); + } + /* row 2 of the table */ + else if ((relationshipType == RT_hasObsContext) && !byReference && ((sourceValueType == VT_Container) || + (sourceValueType == VT_Code) || (sourceValueType == VT_Num) || (sourceValueType == VT_Text))) + { + result = (targetValueType == VT_Code) || (targetValueType == VT_PName) || (targetValueType == VT_Text) || + (targetValueType == VT_UIDRef) || (targetValueType == VT_Date) || (targetValueType == VT_Num) || + (targetValueType == VT_Container); + } + /* row 3 of the table */ + else if ((relationshipType == RT_hasAcqContext) && !byReference && + ((sourceValueType == VT_Container) || (sourceValueType == VT_Waveform))) + { + result = (targetValueType == VT_Code) || (targetValueType == VT_Date) || (targetValueType == VT_Time) || + (targetValueType == VT_DateTime) || (targetValueType == VT_Num) || (targetValueType == VT_UIDRef); + } + /* row 4 of the table */ + else if ((relationshipType == RT_hasConceptMod) && !byReference && ((sourceValueType == VT_Container) || + (sourceValueType == VT_Code) || (sourceValueType == VT_Num) || (sourceValueType == VT_Text))) + { + result = (targetValueType == VT_Text) || (targetValueType == VT_Code); + } + /* row 5 of the table */ + else if ((relationshipType == RT_hasProperties) && !byReference && + ((sourceValueType == VT_Code) || (sourceValueType == VT_Num) || (sourceValueType == VT_Text))) + { + result = (targetValueType == VT_Code) || (targetValueType == VT_Text) || (targetValueType == VT_Num); + } + /* row 6 of the table */ + else if ((relationshipType == RT_inferredFrom) && + ((sourceValueType == VT_Code) || (sourceValueType == VT_Num) || (sourceValueType == VT_Text))) + { + /* by-reference allowed */ + result = (targetValueType == VT_Waveform) || (targetValueType == VT_TCoord); + } + /* row 7 of the table */ + else if ((relationshipType == RT_selectedFrom) && (sourceValueType == VT_TCoord)) + { + /* by-reference allowed */ + result = (targetValueType == VT_Waveform); + } + return result; +} diff --git a/dcmsr/libsrc/dsrwavch.cc b/dcmsr/libsrc/dsrwavch.cc index 36528225..d4ee569a 100644 --- a/dcmsr/libsrc/dsrwavch.cc +++ b/dcmsr/libsrc/dsrwavch.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2021, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -193,3 +193,33 @@ OFCondition DSRWaveformChannelList::putString(const char *stringValue) } return result; } + + +// comparison operators + +OFBool operator==(const DSRWaveformChannelItem &lhs, + const DSRWaveformChannelItem &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRWaveformChannelItem &lhs, + const DSRWaveformChannelItem &rhs) +{ + return lhs.isNotEqual(rhs); +} + + +OFBool operator<(const DSRWaveformChannelItem &lhs, + const DSRWaveformChannelItem &rhs) +{ + return lhs.isLessThan(rhs); +} + + +OFBool operator>(const DSRWaveformChannelItem &lhs, + const DSRWaveformChannelItem &rhs) +{ + return lhs.isGreaterThan(rhs); +} diff --git a/dcmsr/libsrc/dsrwavtn.cc b/dcmsr/libsrc/dsrwavtn.cc index 489af58d..86267133 100644 --- a/dcmsr/libsrc/dsrwavtn.cc +++ b/dcmsr/libsrc/dsrwavtn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2019, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -49,45 +49,45 @@ DSRWaveformTreeNode::~DSRWaveformTreeNode() } -OFBool DSRWaveformTreeNode::operator==(const DSRDocumentTreeNode &node) const +DSRWaveformTreeNode *DSRWaveformTreeNode::clone() const +{ + return new DSRWaveformTreeNode(*this); +} + + +void DSRWaveformTreeNode::clear() +{ + DSRDocumentTreeNode::clear(); + DSRWaveformReferenceValue::clear(); +} + + +OFBool DSRWaveformTreeNode::isEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator==(node); + OFBool result = DSRDocumentTreeNode::isEqual(node); if (result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRWaveformReferenceValue::operator==(OFstatic_cast(const DSRWaveformTreeNode &, node).getValue()); + result = DSRWaveformReferenceValue::isEqual(OFstatic_cast(const DSRWaveformTreeNode &, node).getValue()); } return result; } -OFBool DSRWaveformTreeNode::operator!=(const DSRDocumentTreeNode &node) const +OFBool DSRWaveformTreeNode::isNotEqual(const DSRDocumentTreeNode &node) const { /* call comparison operator of base class (includes check of value type) */ - OFBool result = DSRDocumentTreeNode::operator!=(node); + OFBool result = DSRDocumentTreeNode::isNotEqual(node); if (!result) { /* it's safe to cast the type since the value type has already been checked */ - result = DSRWaveformReferenceValue::operator!=(OFstatic_cast(const DSRWaveformTreeNode &, node).getValue()); + result = DSRWaveformReferenceValue::isNotEqual(OFstatic_cast(const DSRWaveformTreeNode &, node).getValue()); } return result; } -DSRWaveformTreeNode *DSRWaveformTreeNode::clone() const -{ - return new DSRWaveformTreeNode(*this); -} - - -void DSRWaveformTreeNode::clear() -{ - DSRDocumentTreeNode::clear(); - DSRWaveformReferenceValue::clear(); -} - - OFBool DSRWaveformTreeNode::isValid() const { return DSRDocumentTreeNode::isValid() && hasValidValue(); @@ -163,15 +163,32 @@ OFCondition DSRWaveformTreeNode::renderHTMLContentItem(STD_NAMESPACE ostream &do STD_NAMESPACE ostream &annexStream, const size_t /*nestingLevel*/, size_t &annexNumber, - const size_t flags) const + const size_t flags, + const char *urlPrefix) const { /* render ConceptName */ OFCondition result = renderHTMLConceptName(docStream, flags); /* render Reference */ if (result.good()) { - result = DSRWaveformReferenceValue::renderHTML(docStream, annexStream, annexNumber, flags); + result = DSRWaveformReferenceValue::renderHTML(docStream, annexStream, annexNumber, flags, urlPrefix); docStream << OFendl; } return result; } + + +// comparison operators + +OFBool operator==(const DSRWaveformTreeNode &lhs, + const DSRWaveformTreeNode &rhs) +{ + return lhs.isEqual(rhs); +} + + +OFBool operator!=(const DSRWaveformTreeNode &lhs, + const DSRWaveformTreeNode &rhs) +{ + return lhs.isNotEqual(rhs); +} diff --git a/dcmsr/libsrc/dsrwavvl.cc b/dcmsr/libsrc/dsrwavvl.cc index b89bf2ab..25710261 100644 --- a/dcmsr/libsrc/dsrwavvl.cc +++ b/dcmsr/libsrc/dsrwavvl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2023, OFFIS e.V. + * Copyright (C) 2000-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -69,24 +69,24 @@ DSRWaveformReferenceValue &DSRWaveformReferenceValue::operator=(const DSRWavefor } -OFBool DSRWaveformReferenceValue::operator==(const DSRWaveformReferenceValue &referenceValue) const +void DSRWaveformReferenceValue::clear() { - return DSRCompositeReferenceValue::operator==(referenceValue) && - (ChannelList == referenceValue.ChannelList); + DSRCompositeReferenceValue::clear(); + ChannelList.clear(); } -OFBool DSRWaveformReferenceValue::operator!=(const DSRWaveformReferenceValue &referenceValue) const +OFBool DSRWaveformReferenceValue::isEqual(const DSRWaveformReferenceValue &referenceValue) const { - return DSRCompositeReferenceValue::operator!=(referenceValue) || - (ChannelList != referenceValue.ChannelList); + return DSRCompositeReferenceValue::isEqual(referenceValue) && + (ChannelList == referenceValue.ChannelList); } -void DSRWaveformReferenceValue::clear() +OFBool DSRWaveformReferenceValue::isNotEqual(const DSRWaveformReferenceValue &referenceValue) const { - DSRCompositeReferenceValue::clear(); - ChannelList.clear(); + return DSRCompositeReferenceValue::isNotEqual(referenceValue) || + (ChannelList != referenceValue.ChannelList); } @@ -195,10 +195,11 @@ OFCondition DSRWaveformReferenceValue::writeItem(DcmItem &dataset) const OFCondition DSRWaveformReferenceValue::renderHTML(STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, size_t &annexNumber, - const size_t flags) const + const size_t flags, + const char *urlPrefix) const { /* render reference */ - docStream << "_doDJ>C{>54X$kSnIBCgz~% zn5QzOg`jA(Ss7zirkJD5LFkeY1j#+M*Ka?)e&<<#!pHM?j`Quc*IN6thkDQOw!7Wy zKKDK{IOae5M@_o&g`YjL`|%;SyXfF9NB`IT?t16@-1{!~>)PR`{r~VI0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBl~2pkzdX3|OA{1c;_rQ;io1w6{Za08eAykUxQ=+22UKwzareY3?jnv~QN_Vu zmwnFORmD-n4_)x&b2mTf!Y2gC~}KZthpbQN&w3tBR9|H#oD3vxuKuS8);XrJt?hD&qh6S{2t3UwOkDR>%>* zcDpJLo>cbvNAWH>a&-KWO~lW=p!~xw?jwHXg(Y6&FmkjkKRGA<;nfduAMq+LD*v#H z!+7zXb^B`dKAwJ~M*Mz#M*YYKf37;sKA!pNM!eKZ8}Zkk-H2!0zY*Vl$40!z%^UIb z-)qDhUbPW#{-)}#>olW->VU?bel$e)r}kR+Q&Dx^ws*=?6>sR&o&Of z-)}VH^MAP&FVu)vdw2D==@&Zgm5q4TlN#}azi7mV&KmK#CpF>|uGNTl9yQ_{&(nxM zOz-))lP~w}`sE+-VxMfpyS=Ruzh8eI^&lrau`%+Z=WoPw>QBS|@DtxqeMI*0nvZV8 zPu;5#uX43Uy!s^?@xJF&UkUUJeX;(Up^uM!Nn_;IAKHi?y;URrsQ%ifpYxQDmKV#B z!`o&Y@(+1YiN_t{G~$)x$8O{@e)8PsRfmtB5{JFGipz+XdSMke5iehloSsoed?sFi z-9od7?|Jj-gTsHixcQqh^8NMU+lc+)-K%mJu|K@LKc7|(|MQoWAG zznz>Lr_U-s`Qyu0BWDr+_0@lM?#Ow>hn-!;WyH(By^8CIcX(SBw-N92)+!F3T~<$V z)QaPXpMB@z+%3%_KK=65<`)qk{ibTdQ`3k_nf*N>`wjv}TiiUsvC>tB8-RN3J7YC1Q6gZX*6s9d|D%tKaMIsx9p!o><4h3(JUS)Nvf~ zQgNE+864f`HsYsaWS^0-uoJIUp#O}4W zi1_byTt>WY{Me1$#!q^s(~d5BWFPSfFE0yqaT!l<|GXbLj9f)bFROLLPsHKf$X&#X z{(YIVTYV6(i9U89yNFkdk)7u-?%)(x5pSJF#-%;IUTAVmeBoj9yNE~n9}jUKKj}fb z%@1B$Hl0p$7%_p&Blb5~QHuDY*ir$BIC@2yyNlDf32yt!DlS@a74f0<$W6p$9d{AG z7_lJ7o$9I z?}(9|(k^0uhjgd8kJ#TKT^z=y`@;)J#81`xoJQ;)gl^yeAt^eGWLrG3P^r;+iKGwQgBpFHU7(~oX@FgX6` ze~*mcFgg71!EjlA?9P4Jii0zG=nL z2OA@otvL8lW8}OQx2-t&aO3cGD~>+W8X56JSG(Te@SpC*vW=Mjux1zW^H;A%&OTb^ z{IzRWaUSv3zgxvc#QWB9yDf*G@H^GWeZ)7MP{rZL%E;fmP8CNH?^_=}_(WsQQN%Ro zIAWS}8Zpf|{#0YmNyIegEMl5-5i!j<{d8l_dBim5GGdx@9Wl*0|7@A_xa(F*yU#Ti z+DA+a4L@H-riI24(?WwUHs%~fOmj{mra5O3)10F(H8wxrmH62Dj5c3xj2wQoF>>~` z64PC``Fe@zuG>XSo8L!Fn;(87=B)3!{WlwP4*t2sH0LN{nsX8{fegM~4!`S3)zzGT zr?Jp7Vp?bwF)g%-m=;=mx6GMto9*{XO!A|BiOF;R{nnNurY)@_rY&tFrY$Z1t+D#{ z2aVN-|6byEYNgqaO1#STD!TQL8zTq*(HJ@XX=CK-XN{5jpEpKM{;M%^Ik@iN@Sn8L z?U54GKF7y3M$XUM7`Z)PW90Axjgj*UHb$;5)EGIuaAV~3B8`#j;~OLQzt|W#9hUg% zlk3ZI(HMDyDh@7IV!G#Nzg*(k^~m+Fl$dVX!6iyO@rKo$!-!|paThV&$)ih^!yi(A zoK54m;L}IsB4YZ8Tt-YEk%RwT=1d=v!-(l4avU*jX>pZuczRi_BBqCH6EQzr5!1u9 zx@u$2O~f?kE@GN<@Z06^H0SnejXC!b)11TqQ%0sa#}U(<`>V%7_16sJ6G}{;(}+oF z9x<)HjF?tmM@*|PuGu)FRm3#sI%1l08!^qfzIJ2IZNxO^E@GN<@Vfz0fAnmw6R}nr zo>*df;uez<&#oVYRm8l|NsT!t*DLY6_2J9wmzdsQ`;!}Sdc#Is->4CXzu$$@{t;<5`ft~$fiRo5cL`;`>88OMPBc|JC zaht}RtB7gNb;LC1He#A{{l|?tw-M8vyNGGd!ENK*)2;X?5$juVaQhOI=Qv_gnnp~k z&myMP7ZKAL&1Q`=nnz4?E+eKn*Adg4i#s*uTt!TCZX%{RcM;Q^tGhIm_IE8YJ+RZe zm6#sbdBnWXpEl+koz{r6dz6@-;`KdCOi%If-iTg=(eg6H81_ z@%l+6rl)ulF)cKHa%0ZE;!(u(6fYyDyKWURJ;j@d=_wwbSr$t7=Qv`z?$e0ra?B#8>puCr z#+=iLY0i1XH0Ls6nsfH@#+-|YY0g!|H0LH_nsf1rGG_wWyt2gPxr>;T2Cph3)9Ry$ zY4u6OwEFPXjWZfYOmj{nra9*k)0~sD8gtGfra9*k)11qQY0l~E%A84Q_4*RiQ#^P> ziRmdGMobGW-q@IP^QJ}|yrsnS6i?q;VtR_#Z)?QirV;1wXvFP18*%jR64O&WZpF!m z%gFQ;&myL$cpfo5#rufqt{Z-&%$c6zNyKz3P9x?^95KsB%$Imu7P|C}s^1fsMV#Nb zikpv>k!kf^#I*W8Vp@Ip@p5=tefNpR>idXk^~tBo$n+a-tAA{4X%jJRX&W(ZX&*6d zY4e%JmbMYomWH2eY-#cN#+H^5)0Wl|)0Vao)0S3WY;0*AF>Pu5r84rl^@SUMxe-TS zZN;xQ;{F>YrUzmBy%N(sKRBnvbbI$PJqU{!neO>z#B|TEBBoc+;QM8vbSsV`CggF% zgglLykVpU4m~#>_%{h&j=A1`Nb54KQm~$R6&AEt}=3GTgb1r_=m~#~|&AE=4=G;b1 zb1r{U=FGoa_|wKhqljstam2LHG-6t4{PV_~(}-!#S;REwB4V0z@?T}n^k!HNPU?O? zIsH!Q;5;Sf+a_XKeG)OPK8u)EAD*|&neNZo`ASTmT&we!c;Vl#UaI>GG~)C^C8kf< zS;Tbs`WG4_w-M9G(M1{~#}U)W#qniidfu1ueO&2z-$YE0_BLXA2~6UziKpj%8ZkZZ z^N7iFbIG!$bm4Xp(}mkdOc!o=sd9L_aJ&EBm~(LH64RWch-uDA#5CvdGL1RM5!0O0 zh-uDw#5CvVvSrTnY%WKQh1L<%LfeRGp?$=((B|@uId>7$oP#Trk!j9R#5CvjijB=r ze!a2KEMi({5iu>aikKFf{YIHH-8QTLSz`M0j&;QJ=N*gx)i`|fn;Vo{mX;6GeUyBBlpn5i#BKtB6Ty9Wg0wBPONQ)yo;BIX4m0oZEMt-%9s~eP|KDU3+*wXqYC8jMcZdzj6()4B}CZ+MT#H2Khn6@;Fn6|XKc{w~?xWz3>Ok0}X zvc$Bd(XC2MTiQoVTN>WFj7(b^MNC_o|6v)Kwlq1l#I&X1ZAwgA+C@xT+Wb)&nYOfx zn6|W!n6@;&ZDUJ=KWS`f7cp&VeY-L;ZE11)64T3n)r#ZzX1Vl?y~~!;+j|l*y;!CZ(~D&uF}+wO^TwRBh-uD6#5CtBVw!XQXN@_R5!0OO zh-uDk#5CvX{*5^|5!0O8h-uD!#5Cvn|CKq@C&K728VgM#riEq^(?W}gX`$(Z8gtGg zra2c8)10e_Y0lY0%ADy7p7ldZOdk`Qh-u{DVU5ElixSg4KW)Y3qsqv1&u=28dwv@+ z-Sd-2m&4ONKaH5~`9;KZ&#xjTx=qAHw~d(S){iZ#r#Uwf)114AY0kmp%He6w?c*DB z?jxo-hksp0ra8wE)0~4RHs%~fOmj{mra5O3)10GanKRwoXd2ZX>2S_Yu>a!@ntqr#W{|EiwJNc=)suFLkr(YnySzbk8rIUPh)5lx4*9fwFx@ z8JRxgR?jRkea6k7Rbu);nLfM3^no&ZPKoI=ZW1wVX&NzYY5Cl8c-qqZc_pSTO`cz3 z+R|`UV%pL^V%pN+1!ZK~(lBD$((Hw0WZKgBMJ1*!4PIPg+R`p!+S2+ZWn|jYHe%Y+ zE@Il!=*-5J1}|-FX&W(ZY4vwyWZKg5WhGvr{-ez0%S%kJ%GKE=rnllYVtN7gF}*6M zZzzYSx8f{fdMhp?rZ?C+VtTkX5!1u9iG>MpA7qf`zPM$|hck(h~x|3&LFRQ0H7ZKB(%ZO>t zb;LC1@|%r0*Adg4n}})7UBoo!=39+9cM;Q^`-o}I;kV1-Y0m9;N=&by$#)wI%_63S z<`L6E%ZO>A`8ka_ml4yPtB7gNO~f?k^801Z^a@%<{6PJM*(PFo1r7eK9Dd5Q`VwyT zgA&tYxcOltj(=2QdOAiwE-@`M`$>uE&t=yC(U^1ivqqf#yu|dx&EwxOm!7y)#Pr1V zF+Fjk_}BNOCvF@uJ#mYO>FHQTOc!n)F<-cd>B8+VSj5wu!wZ#|<{U*#b50_rIp-H{ z%(;x1=3GTgb8aH0Irqmm<{bWFW1r)QY0hcHH0NYk4o^?q`l5}6wh`0jcM;PSFwLOE_R69h!=~6F3^pP{e3>J(KWh}5g#7s z{_R5?#f0%fQ!^m~So8GbC2`EKMOzRR(nvx~!sFQ`Y3Bfh7O(}+j@uo!fQFCyM2&glGy(_9@B z&v%HMi2dqa9LD!po)~lf!eQhr;^Sk^9~|N`Vvl^CZlPmFc5xH2U#N@wi2Wt*;_&+A zO#02g=`iQ$nE3ERoJ8#B?BYCPe>qO*wscIq{voa-_SfjQ4sjc?zeZi$MeHv}7xxkS z%hAQ*$z}8X<>=xhVt+_!f5P!{UHEWGex^TUXDhzr-nX~h2a zKJGAbaZEh#A+93!3w57IyNLbfyE|kM-!Rt4?gkr0OovY*_WQilVWD}%Psct-hd7A8 z&3TzWDreTc6=xA&6!D_n;SoPv$5q5D{c$q>MeZ-%}oR>W; zG>*TL*dN}lzKHnXIQ(jdk=uyO7|r`}b!TXA%4NXBU?d z`}gNX4y&&s_V3Sb^*~Lx7 z=htx?@g}z`3w9%S5&JE5aqtIa#DB(zX?I5Bi2YZUU0g=&-!|o@jo5p3aT~F}KfAb( z*uNRNn|64UvU>j#=thnr_Ah}hjwAMeXRnL%i2Xv{8LcArH$xZK5x*IirHixp+X?-a zy0`Z-;sb)Ni<^jN*Kr^5M|GUUuU-3lsVo%n+PAMR$2?+x+jJv$5r2BeGO~LK4CBkz z8{DOe^N8trUqw8j{(@%{u?Okow-LV>b9P@EjpIwAe)HYxlZgF;(8X!Q{wwNk&UwWC zE9x#TBKD6=7grJcb1(0@h>yH$InC}Bw2#>T%M80XjIX`k93#8K7ZJbkf6L+DIXrRe zi2c*iePy+c*gqXz+(qo4jxO#aK0D^@;w-+*dO-Zc!*WOF5&Ijgi^KT(qhG!I=ov@s zSMTB^V!wJ9XA%3=ySR(^Kkrsf^M*%H{>UJ{C^u9ijM%?zx-G3E_AkKy zaagF2{j0JYxjW|YD;`GfBlfSL|8`xj80wBM0$;*Z+m>;|{B@BA#}SGWXpMaU1a!_bl-v-995e zxQ_dXH?HF_-tTXTIlIIAc4li`+L5N)y1}i2c_L7dUt>BKBW1 zba5N8e-OGkcM<#3?BZxvw$v|l++ogX#9pb3^N9T;(;dEu*grB|Tt)03nJ%s)_FqVJ zaTBp$y^FK>4DLTSyEu>7KSyQcoyz9>EtN|gvEO_b_s7KUOXA6$^WohuF^2KM+&_k0 zoJQ<#hVF9ABK9{!7nc$H&3ADhF@1S3j1STN+`9`mj@Z9cFLSsYlZfBEX4&tkyG9Ye z{5w@#Mm+W2C3f$SReXs4(tS$oKA<-duU*Go#6PLyKH{6>$L{b+e2o2TjO;!QXA%2H zyZbbpN4(6utlq^%#7EX~6|w)2df!pIBio3p7+F3{;{)%M`<6Mo&&_qj+x}S<=kbP} z+^@tl4|I!&-;9x6Tt+;#9=VEmxjL>R-lvYch|i1IZD|m1*#1HIjl=50i2Y4FJH$!E zUjAo?IE{F@`Q98_G4T?IJ7gL!{r)SKZcDR> z7k)rly^HgRSFGbAV*er4ja)|TSMTCF;v4J3HxVCQ$5A|f->Ks);sgGoY^i)j9na6_ zBX$qhC}Mxz%M%yzq7N*GcX1i9zr7!HxE!m9{q5bwb;SPm?&2n5e|vXv8?nE=%i;0( zJvdhH9>Yz(j|^h2 z57u!U@tlY^K8##MJnq5e@NV^0#9xotEi{cg_{50abzelhLmii`xQ_UO7}?#)+lc3j z7j+khe_poo+Ir+T;shE9Kp zpL2L!EF*qBMs_#DCSrfrb#WRxiEbA0&Zk!(i`K|h#Fy72w-G-PvAdJUalQM6jz8SA zlZfApk=rJudZAIobd44fZy3AiuKPY>|Elbi261h!_waI>T^#intd5I_ z502RFa}_Z?GV4|x$7M*Dcp32}^_<&?SAIm5w9DuyKwV>_+iBEG>0+Q#r~?g zaMOrajacrGh$lzv&S(=c?Q<9l+@T&hkDsKGtBAk)sIq!D=e8BckBkxZ$Z7oKqK~OI zzlfL?T1I?wj4YdvcuF1jtvG#jS>WUK$a(xEt-gwwR$oUv`Ek{0?pq@#k1ZqaUyq!{ zPtu%=h(D`G?ph-Uk1uoH<*%#NXYrH%;p#w^PbeeOUj^AjOn>WR8!`R;km(c4;Xgm? zCPzPT51&Ox|2vELU;lLdbK^4NS)abyxpDraa`+dXbBlB1I^t=csYY%he(;OcoZE=c zuH$-H=DbS1`r^qY-nfqQr<8cYm#R4z5pPz<@fl_0OTShA9HBeSX~c{C)2+_k{48SH z=R9KC=OW^J&#C5I|4m~{n}}&k^QShpw2gSm18;urmUa=-mi7_TmPSu2bEYlLpI%}* zypLahc(u?nMy5HJ&nSmKyB@iUnC4vfBkQZVcxE{~U87~h1TuM68JVupJmTk0ulBi! zm{wm#Oq*XtOd#9ml!em$xr=yCz4?8_H0SQQvXA(CcdS+)ysC^m^UhVAtV{fQ9T%@I@z3jb-Rw0bzT}@P`DMiP z{@g^obba_XV)_fl``4B^(>rVeWSVnzb~*f2kEuR8mTxHWXEn$w zV!G!yZ!II!J-?5b?)kyn%E)xjFCwOUei<>{^XrJ|uG>URcisH$WubJ}ts?&F=c>!G zj+kz+O~iDAZ6l@|Z1|3{P}w%Tz#%_nwyB}G`A7cLc54*q3!3( zoareZe4%mf!-(nJHxbjh?<1y5JosXnGi_-YF>PrSF`fJ3pBm@BikQxQ9WgDmiI^4| z?8=<0Pgali@GFhD|7wZpiCcWD#Pr0iBc>;A6EQt;<8PP4U-O=7^=ZWP<<|H+Wn_w@ ze`&1(j@Ps-uf-c`Te9Q;R#>F{C1bolhAW#l{R!^b}> zF^%kFnsf2L}d z7E0G>aNb7Tx8nAEWn_BO?jokQ&GP(ZWP01IBW93@>5Keb#Pnv^N6c@A3zUV@D`BC^4PUBw{+FeZ+J|!wZ+g(^mqch-pi+iri8|TzI(#)OBTxQHwb1gS#B?jJBBon$dc`s_-HP*w33(AQJzUF(>ET*OOb^#4V!D$D zzuwsVz8SAnMxOqa>KYAxqr|lOFk)JL7co5@!{022r^_*on2;yG)!66w%8fYq-z6sb zQN$#_jhN*35z|XxaFsG=qMMFOOdzv}31l8IflRJi4o@KStCiS)pmgt${WVKW_x$Ku zC8pcEkLf{J#mI!bZpD4XbVh?~mxa>rtqmilGur=d8JQ2iPV4Z9>F`~|?|!Wu(VhGH z_sUO_(*DE}lhWX%5|h$6Vp8g3Qd-Bz^s&2%m_By*5!3y-yIxs6$LlxZ`s5PR{ke&l z?$7xR%E)woE+eKl!#ZMmGi)NJTX7pP%STMN_xMJQ&5v%}h=boRF49Cw$n?OjBBlp+8!&_; za=cR`F7I4ox|3HC)15rMOBtE&xcz3Yb0XdJ$em_UZlEF%-h zCSn5FMND_{K4Lnf@w3aE=}w+TOn36~Ib~#uyXTg8V*O>z_IV|yo3@YX8jV+FWQvoB zSGY^{#}MlmG!|OEuyOb*VtTj+FK&z+Mojx$yrhgw&(ZvEOH9wv>=h-Z=V%!*Jx8mE z={Xv{vK*eCqfx~498Dvp=Va(If9bt4X6U1GYI#u3xKw2PSTrNL{;;prNUBBtl4 zkLih<#K`n;O(UjTad}o_^NZIu;_P)Lrdx6K`V!N_wK%)PbbGHOro;DdXv{fzQ;Cm# zfAthk-dtk(b;mSf0+~fj=RST*W1-pGN=!G{@?9mS8*CFX-C)~@=?0s;yBwZwuxZ3} zgDoPaduj2Wa(IgK_cr3>A4*I&*eqhY!G`ZEBhw8wj+kz+X~g8&$8>|uV`M^JL`*l> z=KYP$uRqX;%MX^A?vUMwN=&D@kC;w#_2Duyo#rNDdMEE9rhN`SS`JS)?KooE(tO+4 z=k{YIrki&C@e)t3e;K%mnC2XRvW!e$68ACR^D#2Xk3QAd(&W=6rrUe^#S+uM9%m8p zlJR5tb@4xyk^MLKb>IHEir9bW*E5bg`qwfy5&Q3#x#{6ASMMVB-vx91!^q{A%A602 zf7ty2(7F}35x-QA9PP^CeeC{S3bTmMkCA_H^e-qLnI98RIK<^Khj(!o@$GSVckaV4 zmxZ2Qf5MI;rjg@_{g%4JXA%2v_UYm};#XqMs~onpiFmVbmIb@Gi`f5x#k&q82VW^8 zUiOV@Bu@_zxhXZ3mr4Ei`$6(=DRrfYFVJ)d>2O%pC3x+JuEaiCZ2s* zXd1Dfvx|#}_l?s${1w3?>to^*4{;mu$uaVdhq#OQ>N@TtzTnp74;8zS!>^Ui_y6vc zE{-Dh|L&A7P9yeb)WyXy@#2ToSFN~-*q>%Mauk>LW3kUi9S)yG>^~wec!-OLr~Y%< zZx`1QKNzum&q&1Cw_@axqlXXTCO9$Toey)4B7V1y>&w0eBez(No;SILv9qYJ^c-1<;haao?-v9K<{g#dyh9zQ5&yQ1vxxo8&>g;r z*stEjWyEX$usY3E#0%AN5SQUzb=>XCVg2__bf-B8$1DA~0+~cSE#m0BM^AGeF&(~$ z_=x)ORm7J^ESDqV2kW?N#X(%fEZH9>0 z!l0<4CPFl|jeUtQu@ps2s&;B@RaH!AOG;`y#J-G26;;hBimDn^Q?)(0kK=Q^oZtI( zzMen0U-vu5Imh=r=De=ob^W$GiBy5oy#wQC?)-5CUNc?3f-g;R2QNzsTV8Tp1Zz;b zZ{UN|o$b>eo6WtsMD_R4(9Qha7+56K_%2HTN90g;(4yt*rUWtq%47Xt$#WrO^Psk4kGa zgQumq<*@k$Z}1DhnB<&TCf!$1x^Li_>GF!dNM#S6n^sP_$`w5RB1xo*zsNOP@U0h3 zDrf!@4;dTCcrmYd*2Vo#`w%&SXYnEO*A9G$+`;$qlK8?GLB$~x%i@FSXAWR-m|sgi zrBH+NDTM}PazlJZD$(Num2X*;1bIUn zlrvv~a^?q6&in|~IZJJok3~r#%6#xAec5Z9-Gx~ z`*Nx5j&+oyI5m!^y(Bq`Gbm3iJv)(4aZlha(ruQv_iM^iPy@vBi0eAc`CPycvyqW?u2m7p|Q!JFJL`LXm3lpD8$a^tGIWV*L) zrh5-c_v)@*Dcx&Ox;LP7@9&oBKHuF@PV#s!N4aq`C^v2a<;K;&>&s=H4JbP*?(LOw z<2q1oT>X1qDL1aaPo~iTN~7k!UMZt%K^a{K%IL=XWxB7wpXt7V(tWyrruz&^_XU*h zdza~6J;3qP-%pNr4a(@slQYYk2Rh0>r)0WM4|bGOS3S&8 zPF)Misp~*Fbt@=43cT&<2Yw0If!CfF{%@yJwmCiAyUS55AL00sclw{UyavB=mE=jF z0c9W^C9wGi9ZkDgR;DRWM+8}KJdHA@&T0P-J>$g2T+!epe*kn z?aP1i)MUs5D7Pa}1~O48x1)WGUsFz92g;CpP_8*YHnXD@lpD8!a?Kr-YZj05Ys%g? zP)ukqFP`L;a^p%+_FjQjZP?pc2EFYhm zSw4eu-xpAq558QUKPT|4^kG;&+biWswFc!$wE^Wxbq3|WFQDA_{yE-Ao=cK7jH{pnZ{7o?9m$xvCdC$}6kxC5{hCKS=eU{yLYJ zdgW`<${Cc({bh7dD~p#qN@e{DNBIpi4Jei4E4}i(8zeiLKzU}EL3w5vUggVmN`K}k zQ>tI>s8gC8bxNS*oL}RWGNlES%Kf!;mnpr@Q7W6)JIa(=P%6hac;&~_6EcG@`)+b< z7Eq4&3d)qGKPP8;mijk3%9Q56aFi)6pyb@&MT4Fvpnn{;o_^-6gL>p?kn11LE+@H^?RzuQ5{ zS^T{>lAJXtH?GNH3(DQ>-|N?u9aZmhyyw@FdDfupXar@*6DZ+lP{MDZgx^8QS-(G% zbNYazOnw0+=X73XM++#G)d#&&!UxJdYN(VQ^`L|glx-Ft@OP(cKY$Xx{zRs-1*LKVWk+*h zx}z189qpj(sQ9FJm+(C(l|!y_{**8O@rlXP#q@bcd8%B&2lJ;*zWRb!%2QZ`yYGd*V04V{KQdCa`jWk-@SA4p}Yb0 zoBu&MOFbxOsr{K>Q@(=Jfw~-&zdl=B%VPyYM0e7U@0sW@1F%YU>pKOE_m*Z*z5oA%zY;IzfJLl`#K z@yegxF}d#>D2H|j^|M>o_2v56El@tYwSoG@Zctvr?Vt>~Iy#ec0VPtPgx{!?oa6QV znv!z{CFcT4q!pC#15Z8IJTaMP&HWbKz~4PKxkq#Dk@R^9l&7E#lqak9#=czMV)WoA z9(~{+jpEBs11RCg-0}%L_MXX(=9_q<-+yd!%>|TC(X5~}Dt;}qyaeTO6eyoLsi>4| z*1w*)W&?gM{rY)DOuIZPXCs5uSuD9}Q$^&5sKk$TPN5!qZQYJrv5@`YD z-R=g?_evfeJE#LW&Kt?zOHjI3pzLVBO=e2v@s1Ly22V{RHJ}{D7L-UGD3N+lA~h#u zB6Xld8bFCOf-Z~*`I+sQ+F z1mhoYx0hRi@yII>{^LB)6a(+78s?{QzJ7OE)|4GoHL+sX@6%Ehy(RP;Oj(vS0HB=?9bs zlrOoq5A@3U*OTrYD7Ux=<;)MDPU)1)HAhgcIe~J`8I)_ze~`K60?IX4P_DUwa?R}z zGuPZfc@b4U#4BZa{m{(v29)J3D9eY3`SMq%_k9HAd`_U8&+*}zNE3MCW0Lc^KiVth zd{&Qfl=E4Gay}0T)>4=PZfX+hb014^V8lt|T6Gm#olB6Xld>OqM#fD&m0CDH^+r2dRdq!E-z6DVhX z2BpygN~8K|3|XF&L3wn{PtQbJL5Z}3@^ld>C%JrvUsI-3ffBw3C4BcxU;emzCod0r zP#zrvD2@6*^5v2nnV@e3&R->3I2PC;u*61o4WKj{L20yr(x{&@jTTTEt)Mj8KxtII#;>W3Uh62YLwZme4WL|ec%v_u8#jS+ z<7QB9-0~NhZ5D5G{N9}2I8e4(gA%C&Wt-)jGmSb>8ug$w8bE0@gVLyYOD22?%8)Bi zu34V#%VnN5DD!MUndb~PPf1?aE#Sw}NAU)J&z9>5=dBZ*YL!@FPb)Fe^`%JXLp%Jb&{p3x`ENATMzc7N@SWJ>ejI3EAv zWcdP0_Z5`x)8G2?H>Z=I-<7*2DA(LTxn}owzFb~r_uwn9m(DX+If2*zdNSnt-F{6O zasx`F7L-U6C_|n>Io=B>lV5X{(|a=8T>gJ3d*7&(ZT9D8wmE?El4AsAn;R(G+(Fr9 z@%P?HwpoHwxq))(n#GsPscS*W*@2R?dY>7LNnM!$aQhdyp%eNWypmd); zp6Nb*(oud#>jcV>XYk0!CQldJ7ks%qrI-KYD9_%3@;pCM`7h@r*PK9k5}3hD^vOee z1;2ZX1b6V{cPG~@zUYzU@m_**-z)Hmk4u)<;JqK2U<1mTFaOya$qCs(IU)7Gc;)9F znS^ga+0g*Xjz&;+G=Z|C8I&C@pzLToKNG&&93}kpWyepYhoSwdqa20-)cX#~2`Rqj z%Rl%2WXL5bKS@`C^3ysEc+XRx@bgb0_TUw-lKzYsD5D!e8Qlb4@X+L%GkEyB{F`z7 z6T<)I;U&@xN~9H(NE;}Tc2FV}U-w25sRSj`4oal*8@^m3)u2RbK#A0X5~%|vQV&X` z_M4e0^`Jx=L5Vbh5@`V?(h5rVK*>4(dnVEfN~GdjUU~8jle1KU5~%_uQVmM?29%uD ze`F#xphW6H=^iLKM=B-K1WKeClt{z3Gm$1xBCVj@xDAw?J1CKg|MW%@sRSj`4$AQ^ zzT?X!QVmL^29!uGD3Ll)BK4p|YWK{PdQc*bphTKLi8O-}X#pkD3QDB;yO~HUD3Nwh zA{F2BCyd|DB0cffA_!<;Jz3MCw3^)PoXf03}j)K_=1wN~9T-DJ`Hx zT0x1lff8v4CDQsonMgY*k*XhhrA(;?B~k-Qq!yG&9Vn6N|Mf=lilqhR$*Kb-=Lky9 z36z{OC^;8Ua;~7{oPU%V-3m&i9h6ALkA1mBDnW@gF%?}3~Oe|at6 z1G$3oqwX6h;dfBN7l-&Y<*iT$O8Dj%yi&q5Gbl5+zk=MGBF;^N*&a+aXvtU$?G9F`ef1xlm_lt?Wok$O-f4WL9C zL5b8|A`@u~nD=3jRP$KQ1L|P8dMA|@!R9@06B~k@Sq#Be+4JeUXP$Jbw zWFoboMCw6_G=LIm1SQf0N~9T-NW-N(lAd``&paqOH&Al!pyVtr?TsX72};fil$=GG z8C?ZRqz05oEhv$CP`U?7&Vfpa)LkYMX#geC3`+Mv$+=P~-8WEj?w~|kE}Mz8ffA|w zC9jn36(~7tP$D&;L~22aRR3}&QUgk)9+XG}D3L}`B2Az~nn8&)UM>@91|`x8N~8^x zNINKzipzT=iBy6TX$R#IS6soD%ZKt3ln><#C@+mRP(GCJpoA}f#T&_o@<7?qK&6E5 zu9%tU2%dOE@)mdkrTYv@qXm>k^OZ7x~Ux|g7IuRytRH7Jp)t7Ib8 zpxn3?lp9xE)tAeStH7hGT*z)PrvHRCHxG^@&%OT z^K~-I7f_b3pe$dmn_0esvU~$&`Fd1l`3B1J9n|I5^W`%64bgKEZ;%-f^Tts zuaxC0C|~C)Z|Ifhz59%xe^F@$N#4M(rC(v(PVh$ZwX^bej`Fp$ z3Y4#%jo^__^cB`<2Ic$b1NDczsMH_w0%h{W?Y)8gY)hcbv%iB^%J;1ep#G2-DBqPd zf$|MV>mB`?^7~kpJ2}4dN&ctpeFY`_21?H6&Y7GoC^>sjat@&6obQs!Ikb-d{K~r} zX9+y{@yQ3N1(fhBsNwIH3lGXSg$|(H;t`bZC7wWOG=uW&y~H)suY~S*&+NUsMFl`Yr$hU^H8f6~sDPvEiqX;^WslTJ;#_ux}g9Ke^PID$V)aRNV);sPG|he@M? zil>8DJ@7EBz}Kf(gWu;eRyl(&dq{H4z^)}!Ecyx<7Na@%If z2Yad9z}tTCb{Dp|u*re{?cgilmHgs@z`s2sgRi_yg2fZa+1&Bx*9I_bUee_z4-j{H+tLSbpYBlkegVyxN|rymumj^)0~z*UY}0T6V@if27?U@gz<9%GSUk-m#bGd+ z+r@2p`E(=!TR&STZ`gt{dBYxz$s3MfbT^#9=x#WJF?quUjL92T z&(X;nwqOjzumfZAh65;(Mo=P6pbTUKrBU(6I(g3tN~0Q-MjaSG9BmKn0hI3bb91)? zl-n_YdOJXgG=UOn2K9D;dOMz%xg8A{pONs}0m|qGFrLAzas)Les5wEIQt^C`B#kOC z9v#-G2BlF0N}~akdo+U5y*)E?k9tt<(Fn>tnn8)QfOKO6?uIoO-3=Qsx*K-jgLxTa*n{yJ%yWYBQ(D7|JyN{jvA04K7%zAXyO(%n zypS*)z&Le=GZ?4NZ~AiiSHFr_Qi_sYi-|7#1(fOnwA)@}Nw91*Q82O7|URcUoFk}{2X*qGbYDTu2}+~-b-BrdGWiaaYxbaYUqETpzdkp4P$v)SOuhpp=LqWLL7DslN~9H(NE;}P>Oap-9@NQ$(x?Ze(ePJ(&9}VE|Fmbt3H&tZ zk7Dp=DfVyiW%2Rdp20>i?vddP#yv7z!N_U2fsxa22jh83Fm9Y-_g0S-qca@9cvUHQ zk8^y5;Y?-RO~VC@kMD*XDB*Wd!WVDLL~1~3)PZp~JtrvF96;$lgQulCTEU}0dtJAI zGNoeHoOT#0P+qAvpuAEYKzXG)ftnMP9W9_l+CX`wx`Xjb)pMTh;p3I6jc(+y-Zee6 z8-IBn1F_>>@)yAlJdZ!^n(g0tBl&FM2Fhm($9H>WyiT^|6Bw_P{hIIbN_iahpgfL7 zP##A!C_`RA8S)CsLuLcz!PT7Wk>qxCpgfLxP)_my%0p%XCFcxE&IOe2#ov1*X;gvo zkf}jw)PT}x0OK9B9~&^b+X-pjtM|yT1LGbUj-dSe?-Ll2ta1h;lHmfzJu+OuxJQP~ zqW8$K1>+tW_F#<8Z~)^T8BU<)1T`lpQ!3u4_sFhUf^m-wYfu_Bpfu{iXk_0AwQKI69ES3PeoZ+H6&O46 zfq=6229(3lf^rykP;PPgA@44euRv+EeAp}H$!Z60o_dWQ6SD-|yLD_o)%HG?LWg_*UL>fW49WyAA7ErneO3sx^iPU`DBgHNDLkq?|GMvD; zM}`X+kqlQbx*P7GG%7#g-Q}Zp1s^f^irOXE3&DxPY-u!xfC%VYq>@cf(@!@E^T)5~%{EQ4LC?29#@dVB9!sG=S9; z{PT5&BPfj~P#VpkG%7yr;iXXp#tE@T4JeITP#X1M90prH#Wm9}P;TJipZ65@TCw=Q z{+DQESc1{WumWR8hBf%@uinN!)oD0@@mkSv1f|ggN~0N!SAgE=GoCZL+crBep22+Y z2cbQVihsx~Z@|du*90S{VGl-5!y$Lg35XUOwwNy+0VBNO3dToR!{&<~Npg0eJbw;gywJ7f6R43u zjRZ=g@}IrCG^#*-q6Vc=3reE_{QL_Vd&t=L}c>$x5Rc>H3GAuT4 z6#tTfJ&G$Z{>g8{8jR5yHefsu3|mlcM-R&FSibDtW4R9mj2+oEr+@XzcpMqdU_6ct zH!vPYhC3K%$*}l}Uo)m;Sc0<63XI2*RgR$KoWVHWR=I-lI5ONpjr7%ABv2Z4pfu{i zcpQ07P#R63?0pC0)Y6osW-tzeJ&IQ_8u>%} z-}EpT&R`q{Uk=7$FxQxrYCzdh3(Af}UsNN5%KNQg+mWvZEf99SxxDXar?P6DZ*WWt;W)J(BFG{IAT8YEX96fU=_zlpW2W z>}UaHM=K~f17({Vm9owL2bmqU|DD-U56X@PP}UsNN8^t& zl`|-nD=2%fe(cMC^seN2z6N!hpbVr1W$zs*d+$Nn`l{b^?JJt%uG zf0n7NL8)v(nbHKxlx9$-w16_D6_hD$piF58WlC+~_eLr^P%3v&rc@u|%ddRt#1yEje7l=*s0*n#nMVOUP0!pJ5ltvpUjmj(fj^fi(_IR(r z=x*48x4nvgddjc^qq|`bMt8#jjP8bGZh3blj}&*)uL;KaG@QWrVxr*;#!)m}K#8=1 zaq6sc1LM9MwpaE@x=k<+m{pEoyel`HL5&1zBv2YvSMl!Bs0QO*x#t9>Q3pz+5q$i6 z{MxpB0%afzc!Rf{_VW*s8z?!;tLl{OeC}Y}O~dkPUKw}Ouma=M8TMej&@~*u*rwqK z#x@NnFixG}48}GM7clO-VSDw=j_S%$cGQBhqYjiE&7kaP0cA%kC_CCf+0hQlj*4q| zPTA22#*MRW_SekpXaHqL^|dmUEhv>8sCx(FMX7aPLD~BT%HDTS_Fi1uBgx)NQ1;&E zDu-NUd8A)crnG}{-^*Y1O4<7iO68iX+(4O9eI381OsNHBN*yRu>Oq;(0Lqj`P^Pr! zDvRrSB&i%hnNok0SIXW;P^MI0FH_lqQrUwtr5Thdt)NV417%7(C{rqq_DC|N5|q97 zxym6|Szh0-DO1`(nNoQJuav#dpj588${my`H8=EY%9L7ArqqElr5=aonZ&YKn&Mh<(8}Lek(J&=C?C@??Bmmacrit0;RG6Wl94mQ<^}T z(hSO!7Eq?Nf-D!{OJxnplzLF6G=egv z36v?#piF52WlAe3Q>st!oKo3Q0%xH=yi&%T*R9`f{nPK$%hp%9I9BrZj>w zr3sWN&7e$a0cA?nojs>i)}U0*piF7HOJ+(lD0}bPOyvMd%WviB)hIp-?tyLoq+QhE2x-fK|yzUC_TTxIz?eodKD3(AywP^L71GNloe zDNUeEX$ECVIY>iTTm)HP^L74GNlESDXpMPX#-_SJ1A2s zPRZ=O2c>ezRqjvluC(J^*p*nskdfEJ7)TV)5vjtqM+c4Rn$&wQ(Yn%8gz zrF-!tj}+g?XO$Hw-CIz*gW4Uu{ImTR`q?!nFusw`a0aDOf0{>%vt*Sc7$?MV0plC_ z3|BA?gW(2B_#KS9X_dv3y?dN_!yc5JBN(5_x5^oeFBupvphQ|hiL`;zs6O2zNuw5w zFBy1FP_Eg7(!F@9UsLv8gK|PTP|jx$O3ne4?jtBCWC7)T7K2BU?lmaqvjMd`sNF&7 zK7-$zlk>TNay~au8ck<-PC1_oDCctn<$M-T^W~B=Q0`GlrQD+ml=C@)l5+;-*sP$O z&mENR#nU~fTr*I@w^T}_9+dMrfYN9L<(kzqy}RsvJ<~CsRPAf!I~d2tzpDNMuZ%-$ zSc9=6!v>7*hAkM!#&7`R&>Bv;YYwA#j}zjRV4M)c8IfS-!J1Bc!bCp}JvU`c=lqoeY z&FsAcW$!&Gdtbo#@~G{717$~nGLW508A$Omk0g69LD~BR%8rJYXLdA#vZEQ49qpj( zsCUg- zZv;AI0OMu0;Rwdw4OcKC8EywvUhKd%t9N*#c=c;ogRxD+28?SOwqSHO?7?`cX*h!M z`@sw+P#VpkG+IGvw1d*9{A=G)yr#8A6)25rP#P6~qm#FvwJgE-o;|}AjGrF$AJqgS zr{NC9+ZOvuX!W<=D7sta2*z^%nkg9f$Z!K=M~3@B*EB5N>5b%?6&Rzl$_9-09fln! zje0P`TjdB!qZyP&D;W34mT#am+CgblyvuhK4=x*BbB^A)W9=aW#zV$%1S6;63PvNt z?V!r5+e7B>yiwc^!v>7-hAkM41f!ARK;^@3>)+~WIDs)b!v(zNL)#0(6ougi$~6Ne z(oSXk^9r`Sdbges!v>V@Ef_b>Dtk~G4WLBo-s6p~#Gm$3bK)e43Op~x8a(8lNo8??FMr>E`=6GxJ zleZ_96+E>&!5SIPM|kB4zvO=&ZaV_wDcx`Z@A$x^a?33bd`MckQ+Za3<)!>uQdxmt zqVlT;BGq7g8@6G4P^Imt2jk8!S|-vf!AT1*1ZQ0O>qF_)x~hROr#N% zNHZvr7EmIspmYzEoEw!AX}f$TQgH=GiBy6TsRpG{pyX_*l$xB2`z;L~1~Z)PfSJ10_-q zO7{VjoFgca#;ar^O`t?tK#8=15@`b^(hf@ZK*?ELEfc8(B~k@Sqz07kfs(VOQo47b zCzIpmYzEoHdmaslH|= zQVU9?4wOg(D2)Oo=SZdGoIr^*T`Lo50VUE3N~8^x?mH+si)(u$iBy6TsXQ_hsRAWZ z4N9aIlt>*Y-2)|OPo+fae>D?n1SQf0N~9T-NDC<4S5R_pphViPlZmv05~;kdS4yM` zlt?uwks46C2TIQNs7#~|lt?`&kw#Fu2TIO~O6fj>l5@UZCejK@qz#lvJ1E_Yqy3ta zvjinl1xlpq`k6>ID3MxFB6Xld>OtuqC^-izCDL$%Or!~vNHZvrR!|xRO3sZ+$+?3P zX}@76Qh6gsiBy3SsRpHc14_;olt>*Yk-9n)sRt#}07|3@lt?ou-2)}(LZw7nZk&m< zff8v4B~oz{UoMeKP`X#3KN)29!w6Ei#chP$Ko9L>fTpK7x{S z0wvN6N~HOgnMeyLkycP5?Vv;|e$%fh-2)|ONu@+8e=8HI1|?DhN~9K)NF6BMdr)!? zphOyeI}>RHCDIH^qy>~nD=3jRP`U?7&i&X-q@r<@NF^wdYEZfdO3sE#>E42pv%OU& zQV&X`0hCB1DBUMea?YScT0n`k+&U9!1troBN~GdAUoMeKP`U?7&WcKjRNW>MsR1QY z3reIOltzJ)bD&akj-W&ukIzJ!L5Z}05@`jc`vywR9h6ALZN0lhDo)5mDnW@X7Ijz zjlysRZJN{cjtw*alt1jdd$5_pfaaseNe;?DMtd1$iD zn$WVN7QE@hlf8G~t66T{NAPZGXW?$%8LRaR%dnS@;F~87T}m@Omu&)Pe3hcs?l%%ZGWs zxW$Gw7{|u0*?{qo@iPw|!LznpWTZ1>}pTRY3!Mmimf`9Q%{{p2|?%?T1 z__Ym-$NOL8>zgGQk*u-;W1EIO7&(9Oz%~akz7A_R9&}B^`3c_r!Tjl?d!l1}t=xX_ zVF%-D<^E$APx8tioZ){Oj;Cdomrr(#@K#xaa?SO0ue{FWe;#&VM}a3jJ%h1#tK3Z#r+BH55@P;N&9#x1tW7CfIu2M*66 zJ@|a^-gb+@I5xKT8H_KBU&KZSMt8#vjP8aDck#Wi_D$GfD4*tki7DB4`vk^=%dpN> z20s5aei^H5sEpfT*n#g%D|_%ODUM)#KZ7lw!1#U!!x@ZIXSjgz{S1af9IV$Sd#|72 zf03{LH{f;C$_~6=iaq#>6bJD9bjX2+a*J*9BbD-sdVFRk(hN$Z1(Zk|D2)Oo=T4>M zEdI#5OQhminMf5Vk!nyPHK25FLCM*H5~&9zQvd8sqydyjBPfw(P$Dg$bPtrAE0q#y zeNHCQ4oalrkG)bNm7qkbKM4CY99w<5I=Vc-- zphQ|hiL`^#Jy3EM&-X^sy#ys^d1fY34N9a2lt?Wo-8)cn_Mk)>K#4TGAQNc>CDIH^ zqy>~nD=6IqCFe$^MB2toq~a_`iBy6TsRpG{pyX_*l$`kZTSjb<8{6>dl6OA^%&5)*Wmk8Y{4VaoPqaF zD<>*8&_3wz;2U4>-3?3fy%)6Z4R}6i;Ri6@9~sWzRo~#(G~B>1gO@lkkb)?Imp*_^ zYhUJ@lIJH0B-`vjx#j@IkZt)0Y9sJJ7_x1%;JC=%JMc|! z@xjdciVGMY5v6=69{Usj)360!_FYH+oB$Z_wGBJ)h@T~uJ@{>|X_bL; z&5_ERr^{#XfevFkZ&k^7Z?fNE;}TivRLTiBy6TsRAWZ4NCVw z$=UoM6R8CyQU^+;0hI26l5?a|x=*0woc=o#X#pkD3QD96lWVRy3u-}=)8doY&U`5X_ziyt^kJNRf0m{)SGbL7;4#~qR!#T9&h+CA_K>GFzW z-Lc#n_26}W!LRAv!DB(&<^tY7tt@B|Pk^?(249s{cHl{eCgF#J&<3)APfsg1@Wr4t zD%i={IgGtqWkuyD)5;#a&o3r>AHW#04+MOCS~-Do;}-DLizL@v!NXGAz+0x+FtQhc zHu(XRAh#v+pZn1qnc?IJz*o)E~j00vju4EAJq|qe~JmM-aMrSyIpP|wwzk%OR zvAC%3Sx!g^%2}$x*rtVV!Pur@55|rRM^JV&fyeWJu$(g(r_RHJ@=CSf5X4cm(N$nX zGHk$DZn%Q7%`JD$g5wfHw&f+LjlhRqA~{O~D0|<)qYn2VJ27mLC$v_rR9$YOA-aw@d zWCPDhmsk8noT}l|a@QPl*PIW!raiGN2VK)gchEHr z_k*r!SYF1r898lAZ6No^=LyD_2n`2NhCG6C7;K)?Wxdh;`O~H}pX&G!{xn>E^^O-l zvlqqb{Asw|+)>^%wZGvgZ<^}H@g3K`lU>G^58x+m<^R$DO*$~nlHmxR@vFYvaLO&8 z!IO?mDp&B$>GBQyT#7pwZh7}kG%&-RIO_Sjc{)9%h_vzNYXL-{!gIBpu zGNlE)Yl<6qK|0UC7o?Rtm7hr~i{rd|ym+=q#ceW?Do`TTphRjw>E42pvjZhk4@#u| z_)Me$lt>dOk!DaLEueG{l$jQjRGZSO{L^)K#A1cE)%H( zB~lMcqyd!fBPcm1P$JEsM4E4(iL`(cX$2+H4oalr4t`DP9w<3WDkV~R$4sOelt>LI zky=n9b)aq#2Y*3n-CRP$F%hbPtrA`-z!I#ho1`QVB|=8kFvV zlCz;wy0@U@Z10kZ)PoXf04350O7{troHHnq7EmHBZ6?wRN~9f>NX1=!xkM^K=^iLK zD=H;Yb+=5U29!uGD3N+l8U;$uflA3af)Z)GdnVEhN~8spNGmAaH&Al!phPNu$Gc0U z;vShuB`A?9P$D&;L~23l9w<3GDkV~P&rGBNlt?2ektR?g&7gE&K*_m+5^23xCej8< zq~dqIQX-Y0M5;iERD;qzP;xf+&O~ZKiPV7-X#k~rpyV8>l8O3vaw-bf;qphPO~n~79`5~%?tQVU9?4wUYJlC!5$BK7ynL>fVfG=UOn0i{u( zSw%^Z0D(>$nkxEb^RiJdQLCM*G5~&3xQrl%Bb)ZD*L5Vbi5@`aZd!Xc; zsgy|bNtsA1D3LZ$BJH3=Djwk1l2i zFcWD4CDIH^q!pCzfs%8hQo8S;HK3Y44`m6EdtB~tx|nMf@tkvdQ! z^`LYgK*>3R5@`Y@()5r_q#2Y*3n-B`P$KQ1bPtrA#Y4TjL@FMZiBy3SsRkud14^V8 zlN~EIqN{Li~(mhae)>KOO z29%u5BQudYP$Ko9L>fTpK7x{S0wvN6N~HNwnMeyLkv32w?Vv;|9_`nZ?tzlCq*5Z4 zkI6);L5b9W5~%~FQK01Psg#@pD3ON8W+F|XM4CZ~w1Com1tsSON~9f>Nc-b5k&4GV zN~98$NHr*t8c@0iO3s!_iPSzJ6R8I!(f~@N5tK+1DBWjJaxS1mTArARw1N_82PIPR zBwsF(N>CzIpmYzEob_p$NDU~FT2LbOpmYzEoCB58eFP=v_~cBa8I(v1D3MlBx^JN5 z+(C&{obKHvQt^~bq!N@!H7Jo9P$IRUbPtrA9hDNPduk@q07|40lt?oujRGa-LZ#$f zL5Z{unMgY*k%}|CQX-Y0bgw|kS%VU(0VPuNv`nNHlt>*Ykp@sAji7W7l$;Zl5@~vR zCei{*q!pA%8z_->P`Ve-@J5oe1SL}W%uJ*Tlt>LIky=n9b)ZD*LFpbSIfp;WL>fVf zG=UOn0i}DOPqphT)ciPV77y#*y_ z2TG)F%tY!zi8O)|X#yqE3`(R0l9K5P$F%hMA|`#RJ_u! zDUnK0x(7Q$LYH7Jo9P$G4pbPtrAJ(bdZ043+}XPHP7D3NARA}yeFUqQ*aff8v4 zCDQ)tOr&CRlt>jQk!nyPHK244l$m!RaVK#5d?5~+TDCQ<`Rq!yG&Jt&a|P`U?7&XG!qG`=AdX$B?I z0!pM6lt>#W-FHxO7Ju&DB~tOmOr#Q&NHr*t8c-s&phW6G=^iLK`@hIU8bFCOf)Z&4 zrF)>{T&R@pD=0bFH)SI2phPPE(kmrW2}<`0l$dOkrq%Qt)O%dl$;xt5^0+=k&3e&B~l4WqzaTsH7MO1P;$1QL~7rj ziPV7-X#geC2uh?0lt?ou-2)}(@{UZT6_iLDD3OZ4_T|z&P;!=3O7{wsoYmiCA~m2y zYC(zAfzrJPCFcN2q!E-z_Casos)?)fD&m0CDH^+_ZgI&3n-CRP$I2=mx;825@`n|Qu%IQE|Drw zx(7fVfG=UOn2BrG~O3oFONE;}Tw)bTs z?Vv;||BqKnqzaTsH7MN!C1*pWL~7ojiPV7-sRt#}2uh2$ zDUrrcW+Kg?L|Qh)U+z<45HjQnJoHA%Kx*(2EVqGl;5F0A0lZwDEN|If90pt7gKtbL15ZqGpz>KM zj^M{qEZFn^f=3;=?Y8^EJ)?A!b&dmw-@I>VBY zoj|2cz5^ee;sC}8u_=vUoF&5`{Z3CiQB2IX-SIH%WKsJ!B@B?D=xxB+P0M^K(a7BGIZkPifW7=IczT z;W4bZ*3~;-VU2q5ea9t@0^@f0HFK3C`0bODA5JfzM7W7x3H^SMWzEZs4)$kONOnai=m~ zRa&I|_)MhowvH010wq!dN~1u@*-|MvJ5VBZCuAZGphOx$i8O)IeFi1x0!pM6lt}CC zGLbe=BJH3=DsS)0B~k@S_dv;6Qz?<^J7glYphW6GiPVD?#12xnv$~wB~k@Sr0RDvk!nyPHK0W5K#A0Y(mhae z4pd5{k`FoWzrRQGR~O)!eAG54AUue5Ri<;G3m?f)RT z<_vx_UA}-B{$4y<4tFuQR(_!1h~ zBd%aNF*?Hmdx#kAOkZt)6Y9o%zogU`X zvTb&t?0o?bd$?En^Cx(X6bo+H@hMhdJkMLB7Q8o=hCMidH?+6FVC=|n0bfC-KVaF( z+vJ*{Jh%o>9$X`Ml}GqCEz$(agR7>&GpV$JEa1!1&J}kur{A@bp6+An|4U88&zRf3RBJH3=Do^)HiBy3S zsRpHcpyX_*lt|4}GLbq^BK4p|8bN6kC^;u8CFcxEr1`0tNGm9jHc%q%pmZ+=zoz6Y zL5Wm>5~(^P6R8FzQUgk)4wOheDBS}k=Rl=I8lIMkG=UOn1|`x0N~9H(?i(mMcTghj zPtQaup5Z8wDo`TTphRjwiPVD9Jy3EEJSK0JJ~k)*Qlw7;3mDh5Ut_)+ z9Ki3Sl{5H`KS>)Mg!ZbkB;RM#$_D%f=-t6XU+C8qjJ+H7R90!_0=@;bA+Mkec>_O^ zR_>tOxRO1;`%jZ?R^WY7Y{2KIIDubJaRX(@1%vqVi<7;V;E69vumOvgB-nx9PqAiu zaTsiL4S4iRljSY=%oIEDK`Hj&n^N4s&x7{9V+Ug(h9!fDTWt5J0^=~)v1vd#U>$ha z%RIdOQyo1RqchyWBdN4THFG>Z#SV-U;s*?jvt&4cu}%B;HzzQ*X}Ex~Bf|}h9oaQ^ z@FhHSEN8(XkW*KK@fO1>TQH8Iy}9ebh-5e&wA`@bxX3nZP_Eg6F=SibfzoIM|DGY+ zHdj#gUUOVdd%53Dd;V;}7pB;Q?@Vz7-3PrQUb7w#j!T?6!xD`5n}!W|@;`V^+j|Sflnht!xkNG?KIzN! zohkU2Y2^%_pW*^u^`DaNEBMUxc5Gn0rnT;YC#9A9r!tX>)lnjqphT)c=^iLK8!DxH z3rf!R)0s#;D3JzGB8{MQpFqhugA!>0B~t%ck971+?`n@Dn`g}&zxI#*9}Qb@=3!{q zgKCgGc?dU(;{|Zw1;l7w{y|_Fm8+KE@f=;H%Th4m|lw-pHmj9)$h`2tJca z>%N081-&~vc}EUo?^an+xu%spc)x#1_CA0yWFH9l#I$k(<8E5z0zTyY?NS>eFSC5GkDgQy^(Em0e`}B!yTN{%9266?q8GT8yJVdmxEtSD+>m3v#%t} zOYm|jR^Yu;9KmOU{%=r%F%bVZD8abJc5GHK4uico*}*tqb~{Q2aZcK(0%LUE9sDen zHu(+wL5k((dyW(02Mmm}WLSf-O~V$9Z5sAq?8tBgV@HM)7*8yga|Ywod3aFXj1(M# zIEps93XDjGEf~uUS5UUO<*r$9Tw=(!yac6D13vt#$ypje+4}|_{WY(&!%%QWnyJa`(FK6&u9pna`p0%J#p8+b02Hu-^_d|Ivv%7beH<-s+Bzx{8?Ko(FQ zTrCaWNTm&A1K*u4ulS2RhqPe48S#ODKT5-|;1OR>BCY&I-Z-@1@Ctd4P<_+!e!Kr^ zQ!4)5{}Ri6bYQ%MGn~MkskTN) z?Xnx4R8s$E*7~l$d%f3OyX(?i^Lf{OuXW#Z&ph+Y^Stk`Ci0YL2F)9A+4>Xc`s|3j zJZ#>BKMZjI?ecD+NoPi$< zu?PPYPVxYLFU05%n%!=Vq|WG%6D7rB3NLOb8x{`_~Pn1-FuA~}tB{iVS-h!^q z4s<2WKv&Xi#fg%7(3LcRuB3P+ZSG1+K$qRn)tM6MN=lzHQBn@Nk_yn3RD!Og3Ut|P z(AC+1uB7Iv6D75vD`^J0l6ugUG=Q$8Xk|_0vK#t3xyd^yyxHs6Ny7Wj9<)B?!F9x) zwBe@nd-a6^d@#J#jOc5tXK8721DS$f2r&cy8Q!HE?iohbM1DWS9{j|HL86FKt_d*( zzX!^QO3>a(2{zzriT0@v?ZLZ1y(Oj;LwR4Ef`1Al3vi{4f<8-dlPR>ZOZJ+`ER5{I zJ3uLE0No@OhZr&DzkvF93bY9kOhG%u@~%7s zZ86A!D?nRIf)%*s<~qzx#xt%47nl&im?>LAq%_aLH-uP$wnB7)fwq*ujhP{Iup>Xx*W7;RuWl)wiH*F2?4Dn!ERA=!Hg+$!^}a~ zX9?OQOY;hJiCXYpCRv6#fNtzL%jJ_>=)}nNvjndVu?FuBu?6koFNu2aH$)0XR?3!| zXwPw$Vp{~1CYXa;6DgBCfV+a)Ckfoi6@%{NO2E&D%~Q~wTphUfbAk!UX|@$8*=x{U zLppGubF=vXqev$NJcg}cMqej~eP&x}R(ob8SMLtA$5Vp!b2ajgZFQ?lackdPrw;Vb zf}W?5)~7@^^mX*!L7xM-#DJZzqW9}KYo-6O9G zbi*`skGyIk-6OA@;awXhie8{ayEjb<`28?41y{_2VP@cx5OeUVaFPq~><~-P?rroC z?=VqP1-gNyC(@Oa?>bRZ3A&Oh(3Mn!uA~NZ*;~-n*@3R4?xhnY%|KVu z0J@T*-L$zYDF$6h3FxvLx;k?%rmMJ%Dmy<8Uyo|g`jo$n(JjKK&tJ|L5}I8QUeY`8 z{t$cc*!^^5`dSPw7h=Q<$@TnDB6INlVPpgDw|~%Q2Ob^b0GoKzHB< z@FNEWeMU^gwjsvg8$v9>uZGxyZjyWO#)CDHjC}w%du4zLWBzd%nS$SWRS+37JX;Jp z$>4H_1d%CtScn<8bBH;3YKSe^g7SuO2HJ!O4xk-PSs@X#V~atScLKTvmVx(?XwC7A z%R!qu!47cJyl6P$4a=uWPZ1a}fC6B4s?f7m={$6Z4z(B4|g*lTc;u=&8w_J;)} z8p8*t^5f<8O&PEh(B7NJZ?N_~%n zkvX{hyMsOp(8ey=OK`(5vIbuqVh`RP;sDwt>x3}o2gAr1bO$a4?>;%GGXvidVh&y& zVhb+!9&N6(1iDF1n4QN@2@<8?(KMIh3-Fm$5Ltn%of=@y@Z4f3z@=ei30@Rp1)dsW z4c;1J#F+mGK5e|ah(VhW!4$NkDZgfwfqpT7w!mcU6}Z`HI?PqZL^WtrCm1tjyAmlg zpM!^oSb}baRG?c+4QRvEZ%2bROu-(s5eY^dS~sE?yp~f(>P$deby_^=?tV+qmZE%m zRfATNV7sWfV8$A9!^}a~X9?OQOY;hJi5l=HOtKuf0d!-}SuW?Fu18a^pWxLY*5F+s zwxC`7B~cGPM5JIuDXYF$6X{(gXd@EL!7YiDneV}!LG6Lle09d-P6i9nKSSlwt_i3 z_FGzlEoi@pCpa_YPrM5D;2GTT$|Of;Yj(SR6^ucQk^<)Tg{vZx;0_*}Fx33eFbwDcCRSQxawG*I`=mS|@15OY;(R6Hm|{{U5s3=HTk*E6SCj18pq{_EV9D2RA|U zfyf;$3^4vT-8nUkOu(x`%s_j8B-wM&=2Nf$Z9WA{(B2;jrVQ^c63N(m(7hQMz~6_F z@yE6J%`eieG*7@cgqVVthm&l0M~E4bcK<1TW}namuA~BVC6%BnsRmslLsw@*q^q+9 zT}dTHZygq2v-1}Yu@v8e)?Chxei6#y$Y^#mQzzJi%Uv8ya>QZyV2CleNr(w}cUV#h zUO}WJ>cHbK(L|aZJR6h|#ng8>C?m>2yLt;&;6q_#177**U_`S;D0dez_1zIhreF_B zq71aLYf0c^VPpZWbE#&R$QHa5)CmD?l66ABTf)czbO$bG%-4PFEuLvb*Q>QQG;08p>%%{xb z&LQTYtq_@|0<^UxSb;W7>9YoHn1UT>Bhupz+K8mj0X&yeM*i)9vTR*2qQx0(ko)cmLUL9f$ z+AD%2>cFoPDcFPm1Il%20BuBq2}Q4Pm6jyK?7($F9TDhGt^sr>S47tLh0SBoom@5e zJ0fL5Qg)X6d~m{+pu2`N;6CT-ZMM|eg1fO5jOpv3u+QikO<=c1a{HQqc4Ox7D1Ind zvtzf}f{kH#OWc8%ax*29+=F%(BshR}7bF<{r`BnAs(K9ptxvgzq@eYw7Z%X^6wIy9 z@J_V=-JNO)+Js0+6=-*=GWPOXt@HV8B{IHF@z5Q1lea?pHA3*!|F-WF*nqcRzvKz* zz*io9;uF||_m(F=fdlyHn}f*c3z~i98-hM#&?QPimna8aq5^b@O3)>$K$oZiU7`-W z;@j_jVnj30CF((!XaHTJ_=`Grmna3Fy+$x~8R!z_pi5MME>Q)#L=E`mgM&mZ=n{3H zOEd#rq5*V?;_G#o?ieMYOO%2xQ3n2Eg#(|M`2uv=E6`K^iBixd%0QQ>09~RAbO){mU7`kbiCWMlnt?9S0KV<)V1-0C>M&iR7<7pe z&?U-1m#6@Ld0CLC1YM#Ebct%vC2B#JXa>4OJ?Ih*pi2~eNyqLIC7?@`fd`%(j3@_P zq5^b@O3)>$L6@in-7)GwmuLpML_O#dMK|d%U7`eZBT7M+C<9%h9CV3F&?TxtcOEsM zOVolcQ3tw2J?IieU)Eu|OL`2tL<#5;WuQxxgDz1u)u*AG&w46RJC&%LN;H73&*)|y zrYqji50gkYq7-x^DnOU0oJwTq64g_QnyEyysYLx$B14xb`pU!!8-s2{8R!;64!Wr` zbcxETMDc5b?Sr#*V`|+1f`%$lz}c$4!T4o=%%g){Rs=Y zL@nqNb)ZYsgDz3j=`h_3UktiL3Fs1~pi7j4E>Q`(Oq%i09~T^YZJ>m z1>Fgofi6)Fx=p^x^}8hLzlgqO4Ls!8m1B@U)N!}#gKxoctbx-BHf4z(2b}D zUGdFSB14y`n@TjBN)&xVN93*yG3Z8Q=n|zwx)Eid8&L_mD?>Gv$j~KfrV@2iiF(8E zJQ_gPXLRe-2@ARrrQjN89Pq@snN2m%r<#{j&8w;A^;Gi~bn`hg42Ri+ZkPk;j%M^t z9lIN50=i+QplhB@H7}-`ms8Cv@GW-*^I3y8ekgdL(a*Hbm3|OJ4&aZ%!x4Q?BONB- z75fJl)pRN{o5Fmmc>&)3s^C?-1h-u?zzV$nJHZo)8ocv8L1a4>*-haL+Ho2D|A z4~mcOnwll>@XLe9WC~Nz^_hWgk_*t)S%PjpEAZV<4xX{pQ;`km61AX9)Pa8LrurPF zF#3Vc(hg_op9_}9l7=UpADqSMj=FR6%k&ZA#`CM_LJ8WlUwI^3frsoG{PVJg7kym2 z(Pz{|{)*?H(!2xzNp``RB?@r>?P?>D(Tg;JD=7x;iLOK@pgqwQY{5&y;ydu=B$VQ_ zcWa`bT(4XC`h5=C17ZE1KWKHzQ{sV3Jg#*_mR%wf(25t#K$pD$|K~Nq z)9ebg36bXYRG$ra=NE$I-GN{FZqVm!s(BBt@Wr5ce4dWT6>sSJ%!qV#=2Oi}(2czY z-PqfyKD((tXH$I+Q+>uC))Bcn6VMGa1znvv_}xzgvs8laxK~qsHdB4JQ+>{+`s}Cr zOh2k4`ossdBw6!0Xe9|2pbb;72JZ=*w^Pl#spiqgH2bFtVZkC83-@W-@I`R45mJex?tfs3hKz4bSMZqUB0xnK-hoq{QNDt*f^Gtl}J z%t3oa5G+79OBJ~Hm$VAGq}Pj@3pR_I3$~!WB1oMBxb0{3PCyQ^;cwojD6cYxXPg#b za-){=y^jXX4J}goG`#&iLGzO44?nQ`{OCl{9&(Jpcl}WN-fqNxQKWvCgNd*Mryse3 zYxmk*mQ4xT%B3^zL^=rg)W zv%2Orcu+dd&wMh*|5~tqAV}1Kc8Dc%2HINELk!wS*ot4(>{~q?j6Lpj$JVEQO98Y* z4lR*jLFD$!=@}{tM@V|+a zv$$FmDHwlCC)dtRX>Mp20lBv^v{PFm6Pl+hX-VU4`GVo!4-c>*(yrdg7#VZfwTr*p zl;+?Cu{M{hcL~}FE9ZLy+Sws>cHlPm?mkZuMS?x}a&WaVd-QD``%j;&i3DrV`jkc6 zg4SHHThv^>`W4@$eZFBueTTCBd@U{{;Gwn{Ml8YlkD6UBK^3_AgIc^`v#8H?$KpHi zd%xG_4v%1%f<2KNkX`zWexP+O`GqEmrB85&7wGpxWJELYoHaC&U=JQ2My6b~txs8C z1=!F+umx?F9vHI^;HgZV9QWi$TBpstUD~UgOY*2V3#N@}C{bO7z1#8e=_~evnL03`-+9@L?%|Od8IDnQ&rY^fjvs)s;9JJRC!2-1F zykH61KOrR8fLEWj|9pV+A&&obpi49ZU7{XziL#&gI$tyPS%B9vuYwh5-*p#kz(>EY z-5e|>fmXc3zn!ATNN`4^l_XgI)R!cGy1xajB>j8-pp_&T{Y;x%NrEwG*##5O>J&^t zD@h~&Tl=&Npd9xU`~}w~!3^B@A-#qO7U03Z3a|wq;gT+qvnh=4WkfI1OOPf4?Q)@s zK(~@>@K>Cp64`;33i}eSOjOF4O6fOZ9WAD(C(Av3YI*eBl_C1 zan7SiuE`~6GcV06(3;E3Sqs{P2+lxT$$|s;Ag>6rKH~>9yB!WK3AAAfrl1W|FkjSM z&W>VHbHQ>^b3Knh8__!R@h>!>ttFX|9{dRRj1n3Ba-#Scbj2s2E4~454c|?4VEaw& zTV_6c$S0DLa?ss>cA$+&hS`HF@J>o_SkzqRGy9cKBv^p1ctbbLj!0YH(!2+M8NO~N zzt%){%1B8$xZQ2~L%{;Hr6|~ewrunmfv0d6EExTd_GRl+Fah)X_2d#vK^u`^2HMyK z%is7}lJ^J|XxRlD&}E;2pL{UL-h(dtV3GV&hFTKK<#*xTZvmcpdT>izft#)wU<-Z( z{MxwYXW%hwYoxrJ7{D*AtEeX|Yv^~Ntj`>@!=Z0Rz-8eRi4I(wTViQ$cnwb^WSG(a z>LhRVB+V}KnSeH*f+=WgNiYNL@+(+^wm#*dQw`cHm*5Pv+XHD{41O&MR-n)Rh(?~m z8ytzuLAwtTjDD|?7le^1_}I^PA1}%JPgwS#y&2Kwf6(SOBEb~Ao_CRg8ECIEg8k## z+)gfy{D-1lLu5j7(B4T2R-kXr0dvQw0NpH=pgTr2Xd{wDEodVW>_Asi54w^H9{1S# zeCD|3YtZVHTg?`>J;ojt8#)^VE_P1g*@aBV0A3hk z!cqJ=C==3yPkWXQVtZL3p#8#&V9v8Dd%m<}j4VL=3|g=Rt$4wN=X91x|C|eGiS!{J zX!i_)Eodi#KG_3z`StGeVxmZ}2a73uIK=3wI%a#(mq#>)N8Y`^^eKnKF#3q%D)S#L z7=HE+MS0OTeEYikrb#YVhRuHjeWql$*SL+xK5OuN-Y`n@2K*`qPH+a=AzpKAK7hyb z)^fEGXWA%Zi|&JMu=wBs&y8rsp6$YfP5-j1fMr3$p8 zDUmg3M^mr^eRj|eu|&qJX(BtsnjN%5ESQ0Ihy`=d4zXYfy6h1T9qbrMWDMGI7i<xc1m*4W56qb|ct=OTx$w ze2hMmv3bNDsx_DF4Y&ip@h3;K18qWNG0edGxPD4x%x&x08)`{{DfnoJ8Ms;!MCSh& zy5{9nq@jz9*U|*GY~-~g2W{C1*5C#Q>EU?6I7=O9D_O97hW2TZx)?x<6wJA0w*~g= zvCkQ3B|T@v9&{z;>u4f75w;v7i$y5SEASL9mGT1Jf|h8jv3bRNgYDm>!xW6y(?s?b zW87OXbZ>z(BJFB3zDrstK)bLwv`dg+L!^yJp4)VwO`YHj{3;_#$3(-T<}a5z*Vp20 zn1_y-fHt4fX9ixw#b2-lkLE?{g=2F=d!D>eh_`=OU(Uvde*Zsmxu*m#eAayJ>w=d^ z!{d3~blI2kx+#C+)grgywOHP=8Q!-=@K~~;_@6UNvKTthE><%0DJQBOxFuup8ED5y zFbC~u3YOp}kJM!&IDqbQk#L?{NqP|g?Osu?HaYmvj@qZZY8T*rd{iV@gU{x2A>X@b zz@0;Ery{$l$l3peE>X0xF0g+-N4Ij|Dlpk9z-TkwdCi^go=-3D4P(&WvaK-Ad^r_a zO-1(Lb|>jq>7@BE6`4F+v)diDL>5!nOkuu-Hb0vY$rY>uuX?WjQ0@R5@Lo_}5jyak zt%Jy7OWm>Na@;G>B4v3upuMfu#}wc$+-}KbE#fd(pL%M8)~Ajgv_1tZ(E8N*1TSGL zuLuznvBC3n5RxbbuMIH+za3%@z9hsN{3|Gv+=3fzqlpA(pbb-S0QV0gBMyU=B#{Yd zB?;!>!(sCQv_yJS%29NffSadUr$naUK_T|wk3e}Q5HaSB-m2%j%x3~VOr&6GNS%Te z_&9wF_TVjTm($Zw?GtiaPPhm<{JH$F6 z;JvIm!EOp?V6;;>OFQb$OG7NF?*vfltU)_vp&U0iW~YU_xSc z7IqHm%s?Bal$1|l0q#U|i8OT0VJsqyFnhtyEo?RWOSC@wOCz%83-Ci5=??|# zU3BM2UXukI(0(I8oAVWU`_7(V1zx>L&}Roef42Y!(4KC|%S8NAjo5M1J>*4SFauw; zkN!}w08iy3O~Dehhhu^jXfNg3oKikWA}PKEj}Ng14+^mXU%>|#(!2%j12w^Xi56|y z1(Q7#f5Z=^q)!_LjkMGNPpkesy+x8NaL);N*bxNWE-0{szB~pryUZo{jq^>&9oiYh%B}rs` zh;J@^HsCJIf#3|Z`4sFyOC&gemPoLAjZY-^$u)S#(K;f*7JMwk4ty(Pmsy&D_MJV! zh~sS&B2$-uR+2+2UN9wc^>C6i@WErWPFY~>RH6>FZy{=;*Xr2U-~h_ZXQ0(7n1fc5 zU;$e3f<1U4Tfvf3<>^eFoEDv`9%*fcEjI);SfKyg~b1pHD(1vIgzA%k%jbv_$&Q9{feG-AJAB zk-B3mL@)tug$TBwHJ8({Thv@|wy3#aag-*q=5lhCpk)`VK+7)JE^00(Lbs^7;A~NI z#iKR5&C(HuaVCBfuP8o9%B^$-iDpw%gufmWyDn|-1U$3z8ai3BU~h<9ir!3MNG z9a?t5>_nePW+?|Pk(6P@RwC_9%MyC^bhHeF8(7y95m{=r#yH79$tt7z=w2}lH z&^=)9z)zj2+2!UreXs7=A4t?|2zcVzdWZ!}@GI8@Sc9uR6kr2(tLcH0<{fzP^8)O_ zBi|Na%pgqxLp(W;qJLMk z`((iwv|}XLe@Y|m)c(-8Y_ba!PkZ#8<4TMKbI^{vU;$d6f*ojmZZY;5{fGAXzni{G z`joFOB%n2SXo&Lh!0 zkv6yA%5-@7btg%7eFILU{r-_WB|)tGJ}lNzSAsaK-QI3K8rKzMs zRQT(P`Pa1h?U(8cid@0sZzz8FeR{2vL!5#yK2LFnaYQ-zvrj2Lf5Zm-+ck>va@K$!{QOJ%(MS5gVOk{ZyJ)PgR12f8|E zpev~dT}e^w4~M>TfmV`W23kpi1!yG+mY|g+SbMYmx>r-aF23?&k=<4i1SJDi0CH0^y zsasF8|I5ny&Q#t8M(ZouI~2hfwBiL*@Qlv~@6HN~I4sGm$KVILSJ^=&m5a);Po%nzF#~xFTuySc`in*KpUoD4cdeV_Mjz_VGfI$3r4AC zwdR5`XcHoJR^ZCd*A}Ob#h2UajwO;;?Rq;!`!1Yd3tI7l9cbAFd(g5ArrS^SnS-v+ z0(5;=pzCu6uCR|jJ&;7hRG-lcG`s6F0bQR3Xy4hBJ}c1GSx@!ZPW3r}uFiOeiINOm zqKrsaX9c=CYtS`srV`Dj`s`V(wrGDhF52`(TBog$edjZ>P%lFHSf>FkyMERK+RO{4 zFV;S7MABymCht9Eo;Ql*e4l~Vr(h3SpMu%W+Gp_|Z7z>fa?qL!7N9j3oPqV{bS>>P z4s%%4TrhfxKX8H>=tk6n*5@8$pR+~H9a^1&$u1MKRD-V126W9^(1s~}4pV&=nI`%N z&lM%I0$p=Mm#E~rxdmG}Wuo1+Px}<(-Q!w{r!WES#!MnJ&|XXh3-I^@-yE>XNh$L_IC@BBQ0++)5HmK$~R26tt2AGtf#B%t4o^1YM#Uv`Loc4d@cJpi9(&E>RD< zMA6H1m^R6hC5&OjTxU=P|X3C1UBc3ZT9Dd_slK-XsuTA#a*B~_rUWWjn-pMuSzJ_To> zja^pq0NVN#jNYxqTb+V2XmtuEpw+394BB@KwfHG)z#~4VCxS$_pd}LQrXpukk;7DE zbh3`f^*NmCSBTsJCZ{RdHAIIA+RO{4pv}_q<1xxWn-IOL1TDKn7NE_N+(35VuFLfD zyD;_{pYH1v%)mq6r#}?TK}+P&>J%)9v^oXrspf{)Y!Q^yO+^}B_`)DE;j&vlM{kLD z8%NZFwiE?>&^{^>j2WIqj*oN}QqUHyL}s8hUuBG}7DdW1Q@;N4%d>*1Yrwbu>p}B| z^QPl}@i`iCSBU9VijRCQXx?9=JIB92Xx?9|_`MM0UnqX(zMy&fknXH?UC=xOPyc3s zIe6oz1B`#I&DXs&zy!QMY@UKAgo%=;>IbMle~NB(?3?J$c5L;n5IZ*Wf<5@OBeaF! z0NSb(j5gH>Tc3h4XiHHr1wZiIpwA3+edber7E^r=pxx|g_RTcG&o&PdC7>(G(C+J` zc}Aq`vj9K+oS@GNbYnMkBdUpXiQ;E#UvB10(9L`exqU7sE3vPWC%hnFrOy^TaPl8tsEod_@kuxwmJc#V4B2)UZ<1Wo} z@PY7}T!Jos46A2{)p zd0rkz=b)Vk5?O$DA_ykuX`*}iq0CYa+APU;3k%TREDO#+o2Avqu@9gN&cGLke*`1p??Zi&zNOEOuQ|SltrS17W5sVfCWUWN zh7q(yE7)GEk+$jtJJ9OX=GSTD`}v_@ezT%2Fu?+}r6|~dAA6R*=Mro|TXljRXsb@J z`idrcFp)n;}yB~cC92`d=ip^-LAaySyuW=XID zAD|n-4ty;rea`OEK5gpc4R{aQ)Cnd(&`7&qT5eoRDQL6g(B@Mx;=8%m(L!b^0d1D_ zK>=v9B$)ol&yrvc+AImqK${SGR%vKcCz$d_WG<$KUvh;_ zN$glj`rT~M&JO7_;ZFit_Vvf5n1d^Ze=n$J=VrQ*=Jm6+q}|v`_Iz_i%Pxnb<}V6a zBEbQC3tPctM{R!33w0}fCj4`l_S=rTk9B6?pZF5EU=A+(sx}uaz=uOD!IirpasaP; zUw{!iJKPXpY{>5lNg_jgTP@fTxqXlMkds^?YFeg@5(V+gfbz~EgJDtA|1Lua}un6M^I-0 zy5<$QG>lBxxoQ?PZ`t|e_X8~X=UQ!n$=yW_zVq)IDcFE3J|18TZWdy~KkWL=@E>?h z*|FcTl|Bvce=O*8M&!O>p9AO;N23$X)VAL0!B1X~?DML$O5w&SuX7NJDOjKuYsfR`);B_;HA!jl3_K^K{W zSB8-lJ9{r5G|$=DbA| z55qo7aEHCLPgyq2B9vv5GZNQl0sfrk5?PRS60g}iD83@{p%6QE&fYhOtl2p;53oH@ zcizZWrY`5V$d+R(Sg`Zf-|JgodCS&-7lb$i&t@x;5x<1?l~XmL^qGLxr`*#Pp!F$O zgG<;7mhaQPHf5{FogM3Q&G9VmK(|sVoy4IbgY<24R z4Z4-t3YP3xNrDY%B?CUxHfY~Lw z^XH2LZ23*UH;2FRH)F>YAALrfx#BbM4`K7-3XNQwt<+gxrMN#^!Q}Ib_RHp5_cUFQ8=n{3-=h6BU zP9l55Fwp?IL{Y27yF?YwfNbo~8D}Z_PmQ#v9D*~@N)jAE8@ph9tu}upB?%^=l_Z#g zR+3-_xf%f67UfFlLg}keDV4o7POKCQ_xD%J{L9D>k?>*^lI~lU?)nQ~t*7IHylvIE>hggC3;ewP@gNLvcY-nbmI5@oT zupm)KMvSO_wWA)kvA-9=s>Sl$}FE%-H$gDrjDV zPdg*P4*br01029}*h=;p5!b#ij0ArkVoZWpe15bEY<_kSnX+?th!tP``Q0aj$R6C_Qvnu4oEt_~>?9%1*m>oJLGy^d)(SBN z?+lwKL_FRE%`h9Xsc>0j7NI>8l}D>}(%m%g$Q-F$7&;;P1}O<_pG_4PTJD>?=W{8vJ31B|Fav zv1aGUTY}~txLJq;cxKomf@SG6qhcx0Qwt9%!c}0jB&9?Y$&}Rug^qT-1aOW`5K*YKK8$`zRbyJ8b_<{EZ z6Ow@|hS_VH{rq=9pAERl8A0<7Tx$p-dzx+aNPsCj_k>veUL))o;Kt+W-GcULPB7=| z8Y_ig+bG#t?r++Sd{YRU_QDJ_hh?wsMS;<6kLPnID(B73_bYJ0E8&I9vW; ziTp5I!E|56VISQJ*6-4tz1V8xd5RCzL1guy?!1t#MCR+hN)oNaR>99(AZR|2SL0b06}E!a4@<%A*=poJ-!8Z+TfySV?+{#% ztzf!^;{BWJRYkxh0W@j97!#T(IQN^I7CsV`O%uHh&UZDXD#<;+xnCmOLf25718=*Jll0%7sv{ z1MNAOU=P0hE!wwWa*Xa+pYp*<4lX%Ce<)aj)~8_dX5akHV@Ww^%>^q%KK&Q0!L8n^ z-3YeejUnd8YJ@%N{OA1NLRc`ghfazN@6laOnNM#N$uLXs>YW0t!SfiVL^j~jA-156 zT_R_oWp`-LtOR=^Z_0w~1An!|>fCBv3~{N$v^oV-@avQ$n1eQTf(2-a1nakHpL?*? z1x8!b&sk)WO27DP?!GRr{kb}qL9-pqwp3VUjY``TP_qE1hwu>SKv-fIq zd&I443A9NTOwZQHgERdDAnS~M&dyP^l9rB`|A*q%7wcBfqbY2ru$#hR3gZhW5@l0Z zOkq8R-4ynqeU6}q1AI$3%&5_l?39tn6m%1kPhmBMGcaNfq|cnJc1@n&g3Yf>pj}ub zvRM=<7+<1wUgj?8pew#z6e)?4PiynpX}aBGT#6O=HWr#Ju;EIL*n%~6=ondkPSKW) zd<~`sZPhunQ(G{)N}Dg)K$oImV#t~o9KP%m?J$4Bz7XB4XnhLCpk)_K!1dp+w;qBO zXb;#wGv3=IU(r4t=C>+Z^A*Np)O^dAr0-=wD@m{ett7!7v_1ugDa>#8*(I`^!Wvxe z2iig+8_<>1g07_cyV}gIHqt!0L-G85-#s676v_8~6B5{QKVrTX=ilnoNJ}J`ftE;c z2HJ5K9Kh!upow-L`!w90BOo&${ZJFx)V+L+Ocvpn=Cv-Qpd}J)4Ow84yIzJ7_@uuZDj1=OXx=WoNcJh?MCW#q>Fc#`2ZH8D?DyK zVhrB&jg#iPQ6!j7MP^f2fIC<3lIH8o|9`>IUi9S;_SXCfFk9YIQVZG%>(EYZ!Jf#E z9au@C1I9#2t0Velt|+fE?KO%&=7F%_47~NGQ>D3Jajl;a!Tbw~Yag#85-h<}_%#+e z5vnPy!C!MCNMs9Iom-B@=hyo>1q;yX6dZ2wbqe-h@^uPEHz``3PahM-;0JkM?9fHd zZqep;P1c$Jj-nknxlj+F9V5MZe^(>zXbQ%lt$D!&v`eL6YRIKh@xOfbb;rwZ242W9 z5-dPlA%Z1%EX(G+`FXfdgWu*o;<9m;8qg+0umx@E1ZSX4h(G2hb)&Fu7Al zbR~Dea`$U^*$sLc#$!n-k=EzIBW9rWDVT%yhw`M(0?b~g7lC|iUV=8ve;FsF0&SRr z4QR7ejLlon#xB@_R;S<$v^oWQ(CU=KF@Sd9HXch#W;#pur~Bn-rl1vnTr`i&Kr3Fb z0PQ01#xb%2?c@^7`IG%NqV>iFHh{Lk1mnB3q^pn6`P5?s+7pSVjLi#hIgY_%MSTiJKhTn_Pr(?pJ_XB1G}8Xrg857Fe9eRQ&lU)_pxu-TcA)hs zI0NmU0}zaV?-R+lQ*zMybZFTH3nDF%UJ%(M%l?wFdGbf?(-KK!$3GBa%|A3o8V-~uI1u@>%}<`kMA7|;S(2AGW_ZGBa3Pyj` zMAlp|=Woc`s*@2_pv}Bs4O*Xq4QMkjV~?JuFU)qwBG`kLU7AO$Xrvt@!4kBRbS;5a zlCCAtN)qfqD@m{itt7#0Rn5N5MS4ls=Aiv`T#bx1(ux498WO3Bj|2O4>bX16!sf-&!hZ{vNE77x02J>B)% z{8Y9&q8;^ewklh}go_ zq8_w51!u3&W;-!5oh9(spuQCXt+~GIp}t)?s)8x_(tU!GD$owGCIbISq)bRn(RRv6 zWCOZ7JFsJ9IwH_Y(y@cKXyx^N0By~$InGkNw-)W{Oh7y1q9(zz;#!6`MkF% zl2^kDT$5qyH5s%?mPd#UXvGW87WFBZ)7P5&29sQX?nJ08l39}ZtUl|eyLrkL3?;B*zK>wvjjp5#zfjvIKc|Eccy|hXj3QHfHrl4EogUuf*oj2HRTOX%41U(nS(Y=i5x&bOE>B; z{Vaj*abNKzjkI^rS||7>rcmny-7sgM8)nW&FHdDFH+$ty`u6YHYz5;ND_ZgU&rjQh zZf8Zif}Js6ObgjAigpPSYoPk@ds+SLBes-Lt0<=B_OVIih>_F>NZ~$%Q-!i^T zM9ic0DHwy+r(gp98{aGttU*g8I0Nn9FWzfR)Pt5tZ~!flV8RFI)~8?v+S~unjT6#> zHlo*#i8{~{3C=)EBshTf>A!q{9_4y8EmAN6Epojvd%7r6uvmnW$ndWHwC_jdXcGB2 z&n}J{u>x)E(!8gc8)me>_T`2dgI2sWPe40xf+hG>KFXG1#(a~&WzRtS@_E*Sa3GVN83yM!>D_GsC_)@ll8Bg^7 za=ZReumeBGRlFQ0qz5mgxnTSqZT9sLXW%+q?q6|nL)c29fxZrlgFX|Qog8Ap&T*>;kulF_KNI$u zfp&;rIiG=r0<=RcSc7(m1+z6ZfgNJO3fz{h6kqYdj~!xta|hZX7My{0hy@$|0dKp8 z$W!7L{KTbt-~>CvD+8Q?CtelcFx6+Yo{q@QIO#J6?H10Vov?x#k;i-{NYwJz60LX{ zQM#cfvJ0SK3ECw{Fitem%~Ao{HAI_(R+2*-kzm4e`5)6l*F0#8K`y@?Xp2E`0Btb{ zwj2A!AlQTFvlWcD@FQA(Ty=)FLIiUnZ7~Q&TWNDU-*+3E_u!}4%7~JEG}6s{58BLY zG_*<9(~wAa!q(skZIGxeHPLg~$}A1+*etzP*5~mWdC$9b zE0};bb%F(GQ>V@URh!w=31;A9w2-%f6`!Wts*_tILpwVJTOx0wB*7VIr;K3!4$W>K zs7dx7w0m#4Q%z3PNV}^PEWry%r1!L-okxP*yR^C85(_pbDcT9U(Kw$KePwKA=1V>v z`@p%?JSK`Rn*X;@gEq;69cYs*7{5mot#!I?1$*#qbv1UWea5F~#GU+brTGsQ@=DQe zbOj604u@b3+ER3Q@kP~`N1tl8MB2YzCy^a!i&k(p)n|38mgKS<+G5Z?iL~P`n4hN2 zZRYn`m=7~zc5dK@bDQJY8u_)ebSqecb~xn1(t>t41bfg9hhX}C?aK~_V04b69S*@6 zfA7`K_a}`d<(F!tEil0fwEKC%W(v#CXmgu7iEKgly4ittI3#ig+9B5Ld{Vm|Tb;Vk zY9gDZbSyprZI%Rc&}K=n0d1B9%gg;N3AW(jY~=%>;R-*@c+75SD_JnPQX_4B3Z|e9 zQ!oSVpK%n-L7OGPVyb!kxrvetZP99_JZ`QRSFn|tFRoSGn5|&{ zE5(np6-@r2_=CrFE12;y^W&?$XFh53B;$V_XwR(VxTmXWggvtoEWi!fDz2fC_O^QY zvCn2L#s7YWZUsBgX5OJqvfzwJTgieceH}zX!3MM!KJ62&fGyb*0M>o)!*Fy~2A^zle zj0Uje)0P!SO!?Oe?YLh&;*5W=$}U#YXAfFQf&*y93np7?DfZAwFauqrq3d%-q)nYP zPx<#3AKW?^W(&Gu_MjVP!oSq$hS|MP`*Opafv%(;bj8OzP7E^vUGo%l%{$NyGkJ;j zdDqUtFtgos=MOIpFydd7yybuZYtT(d2f7IvKsO-;|8|<2kP>twsz5iQ7IepbHWg{; z`pgR*iJOq&^@^9VmBrA%P4ObOg6&C)$FdcyPE*{OtzfdMe#hu%s|4RQ>Q~pD3)pJp z8jAMi7QHfn-@mMypDa-%*nof7Lt6;8;MPk6%-7VNzlVtmaP1fB4|POSk+Z4D8oEgyi1bGjJpa;4vP<)H6D?`` z7wA^7121`-)~Si6Z~(Vm5;RXX)twz5)pw?v2<&$cumT?sBZtkjxqSjI&Esb)+9%+G z#pa3?Q~0BCmP+si3|FuL_gGh3$joP3>5f}ACHOkllpdq4HS%ZA44Nm~Of*lYumG3e zFKAwZKjn9Dw4~>2g#BuvW(V!J2nCC&$Z9IG2JN@nrFr}>n#e9|f+=X1HNgzD%bI2f z?P?=9SaS}CEZS^aO=Mr>lLMDe;lL6+iZvyX375$8xzc`cJj5Be^tIaeKJ)dwP=H5; zSc2>BrIFXoA4x1!;AdYEV7(|(vNuyW1D9PHoJakl$ZN+$1NgwpHIZPvqwd^Bo$_1Q z33xq%FaP#lxgvXHlch{ZO*vd;!&(4Y*O?{E#YIs!` z8H0C(*n@VyKeqY&7)7jgJKwikXO1a&H!b8uFtp}^#iHh!Tou8`XfD`*30rC2vhy0Y z5;?GfEs?C`i1Wu`3|gJ{&fj<}BvY7zHq585FptcpFbA#pch2v(7K$k>!DAVw{$UN! z>XeH>H-$6Mia%sb)K6i=aT&wBlujWZ*qavS1Fb$ql5ex?&0|(1xk&6MUS@ zg{>|7pVc8K=rKCvyQu%5zh3i~OHxgB(g(kU#!M_(13 zurqLjV-#iVhIRufm~c0__M0_QUkyRK&g-ioxHOE+!Ogh{9Q%y%@r*jqMT$)HX0Z|B$Fh2r%Zc@(QpPJ{~Fj|;V61AdTh^fm^x_nVR^ zeS`M7lpjiD4%!JTi#9q^BOhi>$>B&rOC(r=KcySNh!fzJH)%IIcJSM5@toWw3i9N8nhK6b++JJnR&fffgcUA2QO!heYS$A()lQR^5!Ve{K2D-oII)LY}mB^SswX?zp zv>W~A19+?ZJ3Q<>cuo*G13wZr@4;I_%+A(kzX@?hUuUtEk_LA62qR;5PX17kJq0fh zF$cdLVgYW(R)*QIbNIPIpR*~f=V z)Duh|(q`@twzuJdcv!&^*K%d|_P8W1>hR(}y+kZFD18fG4gR zL`J{U$Uf}TaP6lCk;znK2JX5>5LwgLo@`}A-6NW4$0r4m&7Ty1^=I8~J`Y_e+1d9W ziaMeNZT9+=g61)Oxjw7qHR6UfgUE(vM}=52JcsGZ+H4&X>eR)GF0utLT0KZqF%iF5 zF2EK%WW@jn(AAkxpTiV%iL$B4==qx9=2W*b^Vwdy^Upm4EcekJ``wm*jx(R^>rt+s z8F<&;`a`*-SBp>*#kp@T_lhNG&GkliKOeay8nc5Ix$cNH_%{+t^9Edcuy(VhMDDLU z)?BbUP|<$b=f-*U3q5GfpFTE^57J1(ZN|uS5x#wV8<>Gxk^RDz=U9W5NWUEo+AmKD zCa=^))_l(~dj>ulemC3j0{)iUJoyumJM)W!^W;z9-Qia~t@*O>I}(O(4Zk65xD(%r zn?JjKqR-X%x|V#Y$s#WbzXoG?M0h7)_s zJib`_v_Bmnktz5l{`iex2HJ0 zxZ-CNX&dkb#c6^P z*@AoDT0Mb1`0Rht<`Ox8SB8<%e`>S!zZo<)eCHQ}<_VF9hLI_F(ov^Bkv#*C3lrtw z8DaAReC3Tnq7u9(Y+iv^-W){M;JdC5umN3mL)T}0t&Z6ZvjJVA7IcXQaA)RKj!|+Q z^T^Z*rr-);WCmKF+WaPM-p}3}%qMulw*xGvu%5ye-0*ur^Vw8n{bkMW5*1%nd>_MI zm>0HCf^O<6(0$xogKvG#8BdI;0q=iWxRSvYRt>NRT}jm~T9Qqjlr(%zam}v;!;HVK zc-+karc;{PYvo>ofP4NHqbtm99aB{eIVy(GG&_y4_}Qcp zl;)V{+J+z^?2Lv8TZtwVn-s;*)1xUVDcwrySE{z5Xi-N|9e!$uqAKK<^SCSc=nnl~*TX8457*g=s=S}ktc$ZC7f?r}}eZAsqaBbUXw2$_6f*n!1ui}@fSDI(w zyZh@81=Ia>XMKAj+J}c0>>36~N$D65h=-r^BZw2aX zf-NRSvbR8QmmK}=T{|^7&G7l#ek<)FYLoYHS z!9F&73!Gsw;@HgLhs*V{H^K8QCg71AYN;~?r|f7BM-jp@gmnm;EWw&pCnd$8e;R@> z>};~9;Q!i^BCfDrWCQdfi~k>b&0Aa%Jd8oF&k{W2;K|FTmqXlj7nDO3Wtb6TUf*H^ z%xNx>33wurdN{yOE#}~*AzWv)DXAiI6sRSUb*}fs0xsZjMj{*F5F43-$J#_Cc$-aB zfd{dbK3f$1CmWf7`+wUMpMon}EWv%)$}BlN)kd~R@FR-}_%tXbmEg`}O!gW)64VKy z+1WNS0k5&x0e@$)0#`j$6G@*1jdnoN3rOj7M+4ios zCHNQjL%9ThS0gqaW+I#5O2-&%fd|>h4BVPTeZ4;Oetimdz{`%;J_XBueF`SyG{U{N zCNEc;%;Q8^@8cFC<8F7GE-;1VJQyWmq6Yj8W;JmSXeN|NRcaFLB{ zf>&8=fuC5+z#S)PhCWs1^g3=RSNdd0WFn=NMGQ=rrtb2Jp)^lHM?K| z9yCo+j!_5vrNt7QWHI8(wFH!_O$>T>gd99}x+apyh?B~@tTn-{XJ}+!Z$e^lmc=$$ zSWH3he9ypzHnIR;ve*TWzrd^#04xzg;NMxJHbuZOKf*o)kD6`b< zhnw{#q`_rk5s@-W%@D@mdp0r!*S=h{%S}J;hdWCmt};_+YNTA3nxMM?3dZ2gHZpO| z>02UG@YpL%pBcC#xOOjl4!S>hE?D&IQ%0*ke2d$Ickf8SQ|D-Da#hU17wJ>5172<;D{$sq)4at+|5327 zS5gYTVX+3?U0d&5T;I39-t^f3FR|DJPqf$q@3xqNFN0E22mHihlS{dKVv$oO2KTx_ zOA<`Li$i#`#gxcLEjBLGzHYJSQ492LJu&z`&87GXeD#OgjbInt;6{TrcrTH9G`W$S zc#}qM(K|*J=q?w6UC`ZjH}6G8T;JUdTCz7lcjMDL7dVGR^4-@2bXQvaLM%9+NV%bO z!RJ7^cQm-@zYWSK%Q3k6%{n5z8-n|T`V0oTD}!Ln_5EBM*#_OcSdM!Ny1TYu4!Zf2 zIt$Rvr(g-X`CLV29`xq33%dD~L=iWqG2Ha!>7oI;o4#NSx_=KvunoE=0Xc9f=;{b=8JgQG|!E2P1#(OoJ9+n~FZ%Pgg!yXgyNpetTZ!`wykkN5}{ zpsQ1wm;IUxR{fd_Hn>~6u?sdqug@49$1o+b4Z7zL!4!PgM#kKj-S2bBUAqmsCo91k zoOkQwWz!o)a_5S;F}qj0f~^q7AxyxZO&s-kpJ^yE1HJ4e=-uC|5H`3AK1uO%wMoFW z=IMy!b#V#0FP_N?>4I*B$RVylw?YIPKcFu=$xYBLZ#f(Z=pD@zbSqi<%s}rhlY{O7 zQu-`GcexPkg6^qOum-)7nmiVG%{!ns%o6natUz~iX(HF0vqP}K1H|pjybQAqdSkD^ zV}CSRR){o@x!Iow%8U90yvkw<&bOF@-aDlw_&AYLQWty|lT`F-l5Iq z@xbBo7TZMb1L`1?5?q%QeKId$&;Ea3gXtk#Y%Y zaRRJ^)`|;K;i*yME}&Y8wN}@{U+T-g`kU z4w!q3Th>wvo=kI@x-5h>=x#mh_U5y}0duz=!8SOVK4mc!{UQZx(DfpDDWU9%v$PNolg@;I6Tvtk38^-I>J?9kUU`)MP%!Hk zDQhVQcOIvaf)zOUm!^5+e%*1X4`!gd7t8w$1-KK>sQ*`y_YV1#^707 zm^vGe`jOfkbdiEF=)Qh0*ahFDZ^4uqAG(z}92q$GH=0o9GY5})LQ(20z!!H7p!XY9 z9U^zK%}el663K~Bf$v%Df-PH8!pa!-xMqL5cZeO%S};Wpi`3aB;s+e!zxN^|`uh3* znBrq_wI>zzJOa10*aqh?B0Z15(L~B?gsLCP%j$?`6Nr?tH$s?!SKI6rcph8H?(kk4 z8ME_uwsMy#*ctp=Gt3Iy29%R4Vkcp%Hz{`J*~m6KS6J+@GC`p!XXV z_469(e_i|)#Rp#2ZC~$b=5G`EuE7Gl(P9a1U7N@*c!$OKuNpDbHh1{2#fY6R{=@Xy z1h;+PU<^KDu?-#&!j~)-L~i{r(`N}jWU&iAZ?OjVwU{yHo&Ih5%)#A0Fc>Y?oyngV zY=GC<<_(HIeTj)|f!kWlz*!b^a8aCE zyP@XMM_RPkya9UIo1nKo+n{$eV^+r4Xv*i;nzul&c^qn z53`tphg9Yde3x__rdUO8#hDgBz zoNKWRVHLs}bZ@vxpAlz;*JlItvL~RwXhH9c%R|@&7u(_+EUevDFcXr4-h{-Q06VRy zky3mD4zieqFb`n?dJ|HHA}i3#-rxlAR$UBwYd#5K4t~cLUxBxRvO;3k&|(|e0asYb zOh}W-T_4ofT;M!V`s{+!EJhrLg|^QGe91=U;3{9x?2;&^zH>n>9-M741@8gnXqMm; zHnK%lHzIjT&p}tGB&xylSJsjQTlD4Xl;#=evP)za+CEDOiWF zv8F~Gz*Zu2cBVAUE7P35Ty`Bh_)bH+5$uAlB*APQjo6K?B0Y-A3)VM=5L zj@d)&6s-A`Lf5Ajzl&x)c(@r+6TAVG<}L7%5KbIBStdk3s3LMNa8U2I>zc0t>Vy#a zheNfwU<|HI@$#o^+75TqdIeL^ja{18;E&kK(JYy=al_0c*We_JIXkQEW2UYEFFwFv z1>W^7gEe^g9wt$1r0(2ss&1vE7`)^g20Q&wrmh4x;Vnd+&jUhzf|I{z`fMJeJ71<7 z%?_@5hKbC<;a^vjM9FB~xp%C=?xDJq+vf2RiiJ&7gs}0QKxFqQMOTt!Z+=(ND=BU( zKKF%bvg%|+8R(5Y2ai5hTj*k7=L^i1U>97Nn8+GDG&L9 zHuoIuTOvE)knxH#_7dFNVg)`(bBT;O0nQ;(XC8DDB9SS0m+i9vA3I;OOLK=WTkH@y z+hPT};-$I6f7!^I$XOFiqKIWZ)?x#E)M5&H*)#BC8(Dx}q7LXKD#5Q_U`nb$Z$vfd z4u=f0d8Rg7WSbY96(3L3AId3H^+WyM1-R*j8Y$m3ia38fOhIo%8R(6u0C%NNsWW4_ zJOIjKD8Tc;<$8;@1}E4B=FkmOnzva)FVS4zHg^kal8#6&Ea|zrb2%u@GtgZb1at7P zi?oGc2fW#07j$c0B5TkcIKk*V?aR%lU=w`B_Spix=5eTbJJdW4HP1k|Y$SULdh^*} z1rNVi>(vDY&a{|L;`fRcU-J1`xJ`3;~ z+q?t1tBv$og|HjKh=t|ee30f1(Cf1adfD5cw`kK4mf%8)m%|aUGJeHm%giU>hEsKx zWReTeTMSJO?OsI6B&XncpiEth!?3|L?Ng3>0=7WO-VR|J!VEmfHZQ^H7He<;D0LQ0 zL^NGXlI#xM?M$#Da#JE@>RJqMI4HB!2FHMsCsBHiKF6oQGIb8;?K=7M zNB5HEQ`k!LYOeNm30uv6zoPpDTqD6v_{?0exj-ZDV5^brxX<(jTNM3{jm*Hm^Fg{q z=AiqqTQGV+6Mf5$z4M^r0c<6*X6N!>=?~YFJHkTUnenK>6kH0*-a0K2opI6B&lf}enc@Q$BX)M^Gm#lM(P9O@Wie;x#^p@&4m%$#H6@kc=7UUR%+5Nt zq-1rCaBmRFFf*{hRxoyNU>!2~^I^8ZCzu0?tOjeJSFjaq@@Ma!Ti2A--9UHdvX#h$ zKdJV+jZI{Soii=g?0jPr6B)6yqpP>KJ`?bbHB4j*-eQ|~*m;@*C?yq}X|omVms?73 zQ;QY2hs7HFI$PFmgn;fFFM=KLaNB1YYF>ebjjX}fEk=CL#=SWvi4xG&DI;ow zCv0nGDec!>BBQM}!fW0Dx7yA$Z-OqnHmAM?+i0Ye)C5=C!8A|7?Ldjlz!4TZp!;%* zM3y0JF+A^ZBw*4qC8gkkolHp?SXj)#Gc6WiWw8UgZ~MrEl;FYJn?x13p~WuvwV@`m z#f+cqAk0wAWzz+}vYRQX4mFRyrV(EACg?S9fnN3mbl>ul zk}}YJrAn~N8X8AQdLD7S@3EM;MKDZDlgJcw*#&dZWf$yl6hE-dBMz7w=Ahmkp%KCi zbT96t_#B-6>+JIzUyB2F_3mbpW6+&P(mV}e7Q!5KulS^S5sK`9UiJp__y8p>CpSJY z+C%FUOu=12nYt2mOHr`NJRV~sBNANvb#sgg@H0>nIdqpG!HUR@hntd`B-q_z0-g>^ zNg4P)r??&?@G>Gjblp+hf!qf%gZ`o8Z;9dCAU@Ri=Gj ze14`T7(HFL@>ygFZo^ivd6pkJs5dEX&_xQC{UY^!hJKNP$=QCNf;s5=)W~x*vN1!q za%y+_p-f$KydNo;f>Zc3P%sCFU!pB^=E1WqcED#Wmf%X4n&uVwRf}D4wryUAFgjQJ znroXkK(C}G=#|t0y^>1ME2#=$4X$vR znfd5E-SM(J^y+L7>6O$1z3dLXI^$4e8{ET|l!9JK4!x3cBE6D|P$Gw3Nu5w+1)gb3 z>VjVO8uaRn&e!?$N@{>!_9p12PR`93yu)TsKree6^s=X*mpuc$>^bOV?|`q`>?P=B zuRt$*7xc2%pqD+GptIz%%Qd7C!X~)(BNf~&fy#PA& zA`2qlwsm&Ejc1zTOK_sa3cS~17ku7g4UPb1*)%TD1f#AniJG97y#;#NW6;Z_6+p0=b+0j!z@DB z0q5BXDM7EK3iL|qf?i2A=#>;*q_g9d)Cge{T$yJ^DZT}ICB>juQUZD6!c2U zLRe1K;?LrRgOn6aQ=HEawNB8BY=fJ!)x*&*QdUR>&Sb00hO8gj<~cZ?7ZCEop~(w| z{VkT@eER|?;pzM=yJ)-ak^O2NnYku}1R`3#~;C{UF8`OKj7;&?o!HDFzXW-!P>x4*T z4vw-CHS(%1}D{e z*P1$;;HNgS1zvWmiHt#SL<#6+&s_5}wYi)}Ije0`j?tjrQY<(&_t^s%Q(uRps_PTn zk*#1S6xjuDw2{r(T8h_a0%~NnIwt__{vI|~qBO7xxk=JJoerhALP-F)@nXP26Ly^t7n&|g7 zG6B8pIXIH7^jU@?Yw#W$+2Wk^`fP(6u+>=#MONT+8=3x7i{F8*H17_YCijf%*edcp zZ}$awxo_sYlk0s6JmL*O@4Lh;@Ll`fZ?c9aT7|77>a4AJ99zL^d&L=S6?ap-gsosX zLh*dIg2j=FpL|ERg59Ha=N7ht@pvNKws&ebuT*?>mTf*qcjmB_=GCo=v)BqYf2w%+ zr>1!eeA{9S4&Hr~906&bfa5;m2bGk{F}HAUh;#mlVmF`q@jd9~Q?LWN`5f9CW(m6a6s-D1O7j|YQ@35OdGw^#=cZ1Y zH^52DYn{@(`&*5C(P9nWX)$_ABi%Jbnm55&kLnKv^WW*tm=#Q-nt#aIC6Y<*GUMJ^ zT!Y?O9KB4R_T*}YFnUEJPhZI#jt1zR#ZBi*JllScZBYn+Wav3mJ!vUcMT~& z(#VV1N@Tu7@p^kz?0{dfH&&w!wWY=HNIxbq-Im zkrDT{rJ()|w|=-$Z{-#JP_Bv{aP!r)B*89t2PpTr24|YXLA^fnekj8%z$a)fSb+zv zZpL1Ru;Qxiu8LX`_z}$o6V3|n%FqTUu3-}8;KJk0$yIVWdxS{60QN(<#}%B?-XZRQ zZ!}Dz3S4c?0D1>5Wm(^BBQx;#77K8x#kO0)Ynwz4pIpmeM&!0OGG?)UWHAA~5vAbv z>zF>9thSFWwm@&}2{>f1X&$pOPNPmanr(1xiz#?u2&Y=iiM+vL4bHK{j95b>EH=QO zSZsn5EVjVMEjCy~OBkk%CA8cZavxK1+8LH#WnJn25ok9HRu>#zyAg za8M3M4IXSGGv;xE#U`cP0?K?Qp!=GZE=6#$ZC>_^lv(N!@%kp_7)9(XWh;^G%{1bc z9n9FP&2{IGJda3Z7u=2(f-%iL*xodchUm`7VFnvP+)*P+o4o)he9bg3!PD7F_L`kL zY@&!}9%i8TFI<@*hv6nXUBAei_ zk4&E}a3=i<|{tRRwB~}6|Z0`82^vr1RL3WO7W%N z>Q?LgqwYNO2ZPaHb?0Yq8>~Lm9dCI@Om4vsrO!6F)yLXG9=9Ua&_uR^Eh0RO|D(;8 z@_YC21y73~H*g6xMzh{T(a1AELYrZa1=%G7S9!{`}!S%TjCz%)N zPDc;#v*){OzLULNIDE*y>T&qwt@`T6>+=QsCZ3DjkhlH3$PwcM&0n)`A-d-7O-HZ! z{UZX+7ws0n$Lw33uFqTTo1zZ)wQrv~eBQo!>+m%DHm}2>_9It^-#lsR=T|U?A8ZrA zw>JymPc{zViyH)R&GiEK#NYs)xq1NK``46#bxyRu3g?Pnhu@_04#$t}?*_WaZS8Ln zI$UIb1=6AWrAe>PJ^4*f5C6PNpw7ED4dA)!1n^(~oIG%tAK5>M>Pq_1{&`!64?P@c z{`mX=ZhL9~H{U;ipY0aFguja1*Sq<->^nY|4J`h#p9Ju)w*_#e5N>c)Aab>_0UUln z06%F3@Uq(6wO#RJ{vN<*-wNQ+=K?t8$pGH|>j3U*pBY^Ca!w%f*E0k7?(_hzAHpRU z2O@X4Ab?9x3E+`O1n|cr1Nicq0sPYH0h~DHqNw+uw`}g77{J%g3E*4D1#s!;0PZ*{ zfNOpufLrVkz@0Y<;2x_7aIMcK4II(4e+^)JegH4MCxB<&5y0rO0Dd?nfEQgDz*Euy z?mISsw3Q+@#rIu8;I|&)EHc`mBR+s`SJ+?+f zK0JUk4h&#^&$kB-bIe@*hq7Qo404&b5d2k?b80(j_30sQc@ zLk5=g*#`k!@tpu}^JW0wdp>|epA6sy4+rp%_Xe;#FMz-JVE{L}I)Kkl4d9ZK0yuSt z0B*cW09XF=!2_pm$UOnv^0EM)Fe-q@znKi|^WQH9aFyu+eD%8l{NCsQuCsRlU;kyVEJAh}*KX734Q*R33-)08zs__Bb|G)rV^Q8c8@!|mkv)}U5 z0G@qC0Q=ejTz*&pXKxw6gvt{?Yf9eAGgz}f%wUl@&CjB14(zolK=n! diff --git a/dcmsr/tests/tsrdoctr.cc b/dcmsr/tests/tsrdoctr.cc index b6e16ab0..38d54d0e 100644 --- a/dcmsr/tests/tsrdoctr.cc +++ b/dcmsr/tests/tsrdoctr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2014-2019, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2014-2024, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by diff --git a/dcmtls/docs/CMakeLists.txt b/dcmtls/docs/CMakeLists.txt index 77085e29..a9da39d8 100644 --- a/dcmtls/docs/CMakeLists.txt +++ b/dcmtls/docs/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES ciphers.txt randseed.txt DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}" COMPONENT doc) +install(FILES ciphers.txt randseed.txt DESTINATION "${CMAKE_INSTALL_DOCDIR}" COMPONENT doc) diff --git a/dcmtls/docs/certstor.dox b/dcmtls/docs/certstor.dox index 8c464e2f..330bea71 100644 --- a/dcmtls/docs/certstor.dox +++ b/dcmtls/docs/certstor.dox @@ -100,13 +100,6 @@ choice while providing backward compatibility with the earlier BCP 195 profiles. It does not support backward compatibility with the older profiles. It uses either TLS version 1.2 or 1.3 and will default to TLS 1.3 when possible. -The Modified BCP 195 RFC 8996 TLS Profile, which adds further constraints -compared to the BCP 195 RFC 8996 TLS Profile, cannot be implemented with -OpenSSL 1.0.2 to 3.0.x because it requires support for the TLS 1.2 Camellia -ciphersuites in GCM mode, which is not available in OpenSSL. Should future -OpenSSL releases add support for these ciphersuites, then this option will -automatically be enabled when compiling DCMTK. - The Non-downgrading BCP 195 TLS Profile, which was the default in DCMTK 3.6.7, also disables older protocol versions and cipher suites. It does, however, support DHE ciphersuites, whereas RFC 9325 recommends that these should not @@ -156,7 +149,7 @@ using the following option: \verbatim +cc --list-ciphers - show list of supported TLS ciphersuites and exit + list supported TLS ciphersuites and exit \endverbatim Option \c \--cipher can be specified more than once to add multiple diff --git a/dcmtls/docs/ciphers.txt b/dcmtls/docs/ciphers.txt index 03bf75b3..021fd009 100644 --- a/dcmtls/docs/ciphers.txt +++ b/dcmtls/docs/ciphers.txt @@ -52,14 +52,14 @@ follow the secure profiles define in DICOM Part 15: - Modified BCP 195 RFC 8996 TLS Profile This profile proposes the following set of ciphersuites: - - TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 (only TLS 1.2) - - TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 (only TLS 1.2) + - TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 (only TLS 1.2)* + - TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 (only TLS 1.2)* - TLS_ECDHE_ECDSA_WITH_AES_128_CCM (only TLS 1.2) - TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 (only TLS 1.2) - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (only TLS 1.2) - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (only TLS 1.2) - - TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 (only TLS 1.2) - - TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 (only TLS 1.2) + - TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 (only TLS 1.2)* + - TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 (only TLS 1.2)* - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (only TLS 1.2) - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (only TLS 1.2) - TLS_ECDHE_ECDSA_WITH_AES_256_CCM (only TLS 1.2) @@ -73,6 +73,9 @@ follow the secure profiles define in DICOM Part 15: - TLS_AES_128_CCM_SHA256 (only TLS 1.3) - TLS_AES_128_CCM_8_SHA256 (only TLS 1.3) + * only if available in OpenSSL, which is not the case in any OpenSSL + version up to OpenSSL 3.3.x + - BCP 195 TLS Profile (retired) This profile proposes the following set of ciphersuites: - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (only TLS 1.2) diff --git a/dcmtls/include/dcmtk/dcmtls/tlsciphr.h b/dcmtls/include/dcmtk/dcmtls/tlsciphr.h index ebb07eee..c53592ea 100644 --- a/dcmtls/include/dcmtk/dcmtls/tlsciphr.h +++ b/dcmtls/include/dcmtk/dcmtls/tlsciphr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2018-2023, OFFIS e.V. + * Copyright (C) 2018-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -394,6 +394,11 @@ public: */ void printSupportedTLS13Ciphersuites(STD_NAMESPACE ostream& os) const; + /** print a list of supported TLS profiles to the given output stream + * @param os output stream + */ + void printSupportedTLSProfiles(STD_NAMESPACE ostream& os) const; + /** returns the number of known TLS 1.0-1.2 ciphersuites. * @return number of known ciphersuites */ diff --git a/dcmtls/include/dcmtk/dcmtls/tlscond.h b/dcmtls/include/dcmtk/dcmtls/tlscond.h index fe32dd90..e6f72789 100644 --- a/dcmtls/include/dcmtk/dcmtls/tlscond.h +++ b/dcmtls/include/dcmtk/dcmtls/tlscond.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2017-2023, OFFIS e.V. + * Copyright (C) 2017-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -13,7 +13,7 @@ * * Module: dcmtls * - * Author: Jan Schlamelcher + * Author: Jan Schlamelcher, Marco Eichelberg * * Purpose: error conditions for DcmTLS * @@ -520,6 +520,10 @@ extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_X509VerifyExtensions /// condition constant: X.509 certificate verification error - Certificate public key has explicit ECC parameters extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_X509VerifyECKeyExplicitParams; +/// condition constant: X.509 certificate verification error - Raw public key untrusted, no trusted keys configured +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_X509VerifyRPKUntrusted; + + // TLS errors and alerts. These use condition codes > DCMTLS_EC_SSL_Offset. /// condition constant: TLS error: app data in handshake @@ -1473,4 +1477,86 @@ extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSTLSv1BadCertifica /// condition constant: TLS alert: certificate required extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSTLSv13AlertCertificateRequired; + +/// condition constant: TLS error: legacy sigalg disallowed or unsupported +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSLegacySigalgDisallowedOrUnsupported; + +/// condition constant: TLS error: missing psk kex modes extension +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSMissingPSKKexModesExtension; + +/// condition constant: TLS error: ocsp callback failure +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSOCSPCallbackFailure; + +/// condition constant: TLS error: bad certificate +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSBadCertificate; + +/// condition constant: TLS error: bad compression algorithm +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSBadCompressionAlgorithm; + +/// condition constant: TLS error: conn use only +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSConnUseOnly; + +/// condition constant: TLS error: empty raw public key +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSEmptyRawPublicKey; + +/// condition constant: TLS error: failed to get parameter +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSFailedToGetParameter; + +/// condition constant: TLS error: invalid raw public key +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSInvalidRawPublicKey; + +/// condition constant: TLS error: invalid record +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSInvalidRecord; + +/// condition constant: TLS error: maximum encrypted pkts reached +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSMaximumEncryptedPktsReached; + +/// condition constant: TLS error: no stream +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSNoStream; + +/// condition constant: TLS error: no suitable record layer +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSNoSuitableRecordLayer; + +/// condition constant: TLS error: quic handshake layer error +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSQUICHandshakeLayerError; + +/// condition constant: TLS error: quic network error +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSQUICNetworkError; + +/// condition constant: TLS error: quic protocol error +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSQUICProtocolError; + +/// condition constant: TLS error: records not released +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSRecordsNotReleased; + +/// condition constant: TLS error: record layer failure +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSRecordLayerFailure; + +/// condition constant: TLS error: remote peer address not set +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSRemotePeerAddressNotSet; + +/// condition constant: TLS error: sequence ctr wrapped +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSSequenceCtrWrapped; + +/// condition constant: TLS error: stream count limited +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSStreamCountLimited; + +/// condition constant: TLS error: stream finished +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSStreamFinished; + +/// condition constant: TLS error: stream recv only +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSStreamRecvOnly; + +/// condition constant: TLS error: stream reset +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSStreamReset; + +/// condition constant: TLS error: stream send only +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSStreamSendOnly; + +/// condition constant: TLS error: unknown mandatory parameter +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSUnknownMandatoryParameter; + +/// condition constant: TLS error: wrong rpk type +extern DCMTK_DCMTLS_EXPORT const OFConditionConst DCMTLS_EC_TLSWrongRPKType; + #endif // TLSCOND_H diff --git a/dcmtls/include/dcmtk/dcmtls/tlsopt.h b/dcmtls/include/dcmtk/dcmtls/tlsopt.h index b9b702b8..9b22490c 100644 --- a/dcmtls/include/dcmtk/dcmtls/tlsopt.h +++ b/dcmtls/include/dcmtk/dcmtls/tlsopt.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2017-2023, OFFIS e.V. + * Copyright (C) 2017-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -93,6 +93,14 @@ public: */ static OFBool listOfCiphersRequested(OFCommandLine& cmd); + /** checks if the command line option --list-profiles was given. + * In this case the list of supported TLS profiles should be + * printed to stdout and the application should terminate. + * @param cmd the command line that was used + * @return true if --list-profiles option was found, false otherwise. + */ + static OFBool listOfProfilesRequested(OFCommandLine& cmd); + /** print a list of supported ciphersuites to the given output stream * @param app a reference to an OFConsoleApplication object used in the * calling application. @@ -100,6 +108,13 @@ public: */ static void printSupportedCiphersuites(OFConsoleApplication& app, STD_NAMESPACE ostream& os); + /** print a list of supported TLS profiles to the given output stream + * @param app a reference to an OFConsoleApplication object used in the + * calling application. + * @param os output stream + */ + static void printSupportedTLSProfiles(OFConsoleApplication& app, STD_NAMESPACE ostream& os); + /** Print OpenSSL library version string. * Does nothing if OpenSSL is not available. */ diff --git a/dcmtls/libsrc/CMakeLists.txt b/dcmtls/libsrc/CMakeLists.txt index b7276e9e..0fef0d3c 100644 --- a/dcmtls/libsrc/CMakeLists.txt +++ b/dcmtls/libsrc/CMakeLists.txt @@ -11,6 +11,6 @@ DCMTK_ADD_LIBRARY(dcmtls DCMTK_TARGET_LINK_MODULES(dcmtls ofstd dcmdata dcmnet) DCMTK_TARGET_LINK_LIBRARIES(dcmtls ${OPENSSL_LIBS}) -if (TARGET dcmtls) +if(TARGET dcmtls) set_property(TARGET dcmtls PROPERTY OUTPUT_NAME "dcmtls${DCMTK_TLS_LIBRARY_POSTFIX}") endif() diff --git a/dcmtls/libsrc/Makefile.dep b/dcmtls/libsrc/Makefile.dep index 1fb75a58..a75380c8 100644 --- a/dcmtls/libsrc/Makefile.dep +++ b/dcmtls/libsrc/Makefile.dep @@ -6,8 +6,8 @@ tlsciphr.o: tlsciphr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -84,8 +84,8 @@ tlslayer.o: tlslayer.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ @@ -207,7 +207,6 @@ tlsopt.o: tlsopt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofexit.h \ ../include/dcmtk/dcmtls/tlscond.h tlsfmacr.h @@ -228,9 +227,9 @@ tlsscu.o: tlsscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -260,12 +259,12 @@ tlsscu.o: tlsscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ @@ -336,7 +335,6 @@ tlsscu.o: tlsscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmnet/include/dcmtk/dcmnet/dndefine.h \ ../../dcmnet/include/dcmtk/dcmnet/dcasccfg.h \ ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ - ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ @@ -367,7 +365,6 @@ tlstrans.o: tlstrans.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/stringop.def \ @@ -377,6 +374,7 @@ tlstrans.o: tlstrans.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmnet/include/dcmtk/dcmnet/dcmtrans.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ @@ -431,7 +429,6 @@ tlstrans.o: tlstrans.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ diff --git a/dcmtls/libsrc/tlsciphr.cc b/dcmtls/libsrc/tlsciphr.cc index da281330..61d381af 100644 --- a/dcmtls/libsrc/tlsciphr.cc +++ b/dcmtls/libsrc/tlsciphr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2018-2023, OFFIS e.V. + * Copyright (C) 2018-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -34,10 +34,6 @@ BEGIN_EXTERN_C #include END_EXTERN_C -#ifndef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS -#define SSL_CTX_get_ciphers(ctx) (ctx)->cipher_list -#endif - /* POD struct for the list of supported ciphersuite */ struct DcmCipherSuiteList @@ -138,10 +134,7 @@ static const DcmCipherSuiteList globalCipherSuiteList[] = {"TLS_DHE_RSA_WITH_AES_256_CBC_SHA", TLS1_TXT_DHE_RSA_WITH_AES_256_SHA, TPV_SSLv3, TKE_DH, TCA_RSA, TCE_AES, TCM_SHA1, TKM_CBC, 256, 256}, {"TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA", TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, TPV_SSLv3, TKE_DH, TCA_DSS, TCE_Camellia, TCM_SHA1, TKM_CBC, 256, 256}, {"TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA", TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, TPV_SSLv3, TKE_DH, TCA_RSA, TCE_Camellia, TCM_SHA1, TKM_CBC, 256, 256}, -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 - /* OpenSSL 1.1.0 supports the ChaCha20-Poly1305 ciphersuites defined in RFC 7905 */ {"TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256", TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305, TPV_TLSv12, TKE_DH, TCA_RSA, TCE_ChaCha20, TCM_AEAD, TKM_NA, 256, 256}, -#endif {"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256, TPV_TLSv12, TKE_DH, TCA_DSS, TCE_AES, TCM_SHA256, TKM_CBC, 256, 256}, {"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256", TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256, TPV_TLSv12, TKE_DH, TCA_RSA, TCE_AES, TCM_SHA256, TKM_CBC, 256, 256}, {"TLS_DHE_DSS_WITH_AES_256_GCM_SHA384", TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384, TPV_TLSv12, TKE_DH, TCA_DSS, TCE_AESGCM, TCM_AEAD, TKM_GCM, 256, 256}, @@ -158,11 +151,8 @@ static const DcmCipherSuiteList globalCipherSuiteList[] = {"TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384", TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, TPV_TLSv12, TKE_ECDH, TCA_ECDSA, TCE_Camellia, TCM_SHA384, TKM_GCM, 256, 256}, {"TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384", TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, TPV_TLSv12, TKE_ECDH, TCA_RSA, TCE_Camellia, TCM_SHA384, TKM_GCM, 256, 256}, #endif -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 - /* OpenSSL 1.1.0 supports the ChaCha20-Poly1305 ciphersuites defined in RFC 7905 */ {"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, TPV_TLSv12, TKE_ECDH, TCA_ECDSA, TCE_ChaCha20, TCM_AEAD, TKM_NA, 256, 256}, {"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305, TPV_TLSv12, TKE_ECDH, TCA_RSA, TCE_ChaCha20, TCM_AEAD, TKM_NA, 256, 256}, -#endif #ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 /* OpenSSL 1.1.1 supports the AES-CCM Elliptic Curve Cryptography (ECC) ciphersuites defined in RFC 7251 */ {"TLS_ECDHE_ECDSA_WITH_AES_256_CCM", TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM, TPV_TLSv12, TKE_ECDH, TCA_ECDSA, TCE_AES, TCM_CBC_MAC, TKM_CCM, 256, 256}, @@ -181,24 +171,17 @@ static const DcmCipherSuiteList globalCipherSuiteList[] = * - then sort by hash key algorithm (SHA-256 < SHA-384) */ -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 static const DcmCipherSuiteList globalTLS13CipherSuiteList[] = { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256 {"TLS_AES_128_CCM_SHA256", TLS1_3_RFC_AES_128_CCM_SHA256, TPV_TLSv13, TKE_TLSv13, TCA_TLSv13, TCE_AES, TCM_SHA256, TKM_CCM, 128, 128}, {"TLS_AES_128_CCM_8_SHA256", TLS1_3_RFC_AES_128_CCM_8_SHA256, TPV_TLSv13, TKE_TLSv13, TCA_TLSv13, TCE_AES, TCM_SHA256, TKM_CCM, 128, 128}, -#endif {"TLS_AES_128_GCM_SHA256", TLS1_3_RFC_AES_128_GCM_SHA256, TPV_TLSv13, TKE_TLSv13, TCA_TLSv13, TCE_AES, TCM_SHA256, TKM_GCM, 128, 128}, -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256 {"TLS_CHACHA20_POLY1305_SHA256", TLS1_3_RFC_CHACHA20_POLY1305_SHA256, TPV_TLSv13, TKE_TLSv13, TCA_TLSv13, TCE_ChaCha20, TCM_SHA256, TKM_NA, 256, 256}, -#endif {"TLS_AES_256_GCM_SHA384", TLS1_3_RFC_AES_256_GCM_SHA384, TPV_TLSv13, TKE_TLSv13, TCA_TLSv13, TCE_AES, TCM_SHA384, TKM_GCM, 256, 256}, }; #define GLOBAL_NUM_TLS13_CIPHERSUITES (sizeof(globalCipherSuiteList)/sizeof(DcmCipherSuiteList)) -#endif - const size_t DcmTLSCiphersuiteHandler::unknownCipherSuiteIndex = (size_t) -1; @@ -223,12 +206,7 @@ void DcmTLSCiphersuiteHandler::determineSupportedCiphers() size_t numEntries = GLOBAL_NUM_CIPHERSUITES; for (size_t i = 0; i < numEntries; i++) ciphersuiteSupported[i] = OFFalse; -#ifndef HAVE_OPENSSL_PROTOTYPE_TLS_METHOD - SSL_CTX *ctx = SSL_CTX_new(SSLv23_method()); -#else SSL_CTX *ctx = SSL_CTX_new(TLS_method()); -#endif - if (ctx) { // we don't want to support SSL2 and SSL3 and its ciphers @@ -278,7 +256,6 @@ OFCondition DcmTLSCiphersuiteHandler::addRequiredCipherSuite(const char *name) OFCondition DcmTLSCiphersuiteHandler::addRequiredTLS13CipherSuite(const char *name) { if (NULL == name) return EC_IllegalCall; -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 size_t idx = lookupTLS13Ciphersuite(name); if (idx < GLOBAL_NUM_TLS13_CIPHERSUITES) tls13ciphersuiteList.push_back(idx); else @@ -287,10 +264,6 @@ OFCondition DcmTLSCiphersuiteHandler::addRequiredTLS13CipherSuite(const char *na return DCMTLS_EC_UnknownCiphersuite(name); } return EC_Normal; -#else - DCMTLS_FATAL("TLS 1.3, and therefore, ciphersuite '" << name << "' not supported by the OpenSSL library used to compile this application."); - return DCMTLS_EC_UnknownCiphersuite(name); -#endif } @@ -402,7 +375,7 @@ OFCondition DcmTLSCiphersuiteHandler::setTLSProfile(DcmTLSSecurityProfile profil tls13_enabled = OFTrue; ciphersuiteList.clear(); tls13ciphersuiteList.clear(); - // required TLS 1.0-1.2 ciphersuites as defined in the DICOM profile + // required and optional TLS 1.0-1.2 ciphersuites as defined in the DICOM profile #ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 result = addRequiredCipherSuite("TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256"); if (result.bad()) return result; @@ -598,7 +571,7 @@ void DcmTLSCiphersuiteHandler::getListOfCipherSuitesForOpenSSL(OFString& cslist, const char *c = NULL; OFVector tempList = ciphersuiteList; - if (isServer) + if (isServer && (tempList.size() > 1)) { // When acting as a TLS server, we follow the recommendation of BCP 195 // to select the strongest ciphersuite offered by the client. We do this by @@ -627,7 +600,7 @@ void DcmTLSCiphersuiteHandler::getListOfTLS13CipherSuitesForOpenSSL(OFString& cs const char *c = NULL; OFVector tempList = tls13ciphersuiteList; - if (isServer) + if (isServer && (tempList.size() > 1)) { // When acting as a TLS server, we follow the recommendation of BCP 195 // to select the strongest ciphersuite offered by the client. We do this by @@ -657,11 +630,7 @@ size_t DcmTLSCiphersuiteHandler::getNumberOfCipherSuites() size_t DcmTLSCiphersuiteHandler::getNumberOfTLS13CipherSuites() { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 return GLOBAL_NUM_TLS13_CIPHERSUITES; -#else - return 0; -#endif } const char *DcmTLSCiphersuiteHandler::getTLSCipherSuiteName(size_t idx) @@ -672,9 +641,7 @@ const char *DcmTLSCiphersuiteHandler::getTLSCipherSuiteName(size_t idx) const char *DcmTLSCiphersuiteHandler::getTLS13CipherSuiteName(size_t idx) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (idx < GLOBAL_NUM_TLS13_CIPHERSUITES) return globalTLS13CipherSuiteList[idx].TLSname; -#endif return NULL; } @@ -686,9 +653,7 @@ const char *DcmTLSCiphersuiteHandler::getOpenSSLCipherSuiteName(size_t idx) const char *DcmTLSCiphersuiteHandler::getOpenSSLTLS13CipherSuiteName(size_t idx) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (idx < GLOBAL_NUM_TLS13_CIPHERSUITES) return globalTLS13CipherSuiteList[idx].openSSLName; -#endif return NULL; } @@ -700,9 +665,7 @@ DcmTLSCipherProtocolVersion DcmTLSCiphersuiteHandler::getCipherSuiteProtocolVers DcmTLSCipherProtocolVersion DcmTLSCiphersuiteHandler::getTLS13CipherSuiteProtocolVersion(size_t idx) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (idx < GLOBAL_NUM_TLS13_CIPHERSUITES) return globalTLS13CipherSuiteList[idx].protocolVersion; -#endif return TPV_TLSv12; // invalid index, return a (rather arbitrary) default } @@ -714,9 +677,7 @@ DcmTLSCipherKeyExchange DcmTLSCiphersuiteHandler::getCipherSuiteKeyExchange(size DcmTLSCipherKeyExchange DcmTLSCiphersuiteHandler::getTLS13CipherSuiteKeyExchange(size_t idx) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (idx < GLOBAL_NUM_TLS13_CIPHERSUITES) return globalTLS13CipherSuiteList[idx].keyExchange; -#endif return TKE_RSA; // invalid index, return a (rather arbitrary) default } @@ -728,9 +689,7 @@ DcmTLSCipherAuthentication DcmTLSCiphersuiteHandler::getCipherSuiteAuthenticatio DcmTLSCipherAuthentication DcmTLSCiphersuiteHandler::getTLS13CipherSuiteAuthentication(size_t idx) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (idx < GLOBAL_NUM_TLS13_CIPHERSUITES) return globalTLS13CipherSuiteList[idx].authentication; -#endif return TCA_RSA; // invalid index, return a (rather arbitrary) default } @@ -742,9 +701,7 @@ DcmTLSCipherEncryption DcmTLSCiphersuiteHandler::getCipherSuiteEncryption(size_t DcmTLSCipherEncryption DcmTLSCiphersuiteHandler::getTLS13CipherSuiteEncryption(size_t idx) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (idx < GLOBAL_NUM_TLS13_CIPHERSUITES) return globalTLS13CipherSuiteList[idx].encryption; -#endif return TCE_None; // invalid index, return a (rather arbitrary) default } @@ -756,9 +713,7 @@ DcmTLSCipherMAC DcmTLSCiphersuiteHandler::getCipherSuiteMAC(size_t idx) DcmTLSCipherMAC DcmTLSCiphersuiteHandler::getTLS13CipherSuiteMAC(size_t idx) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (idx < GLOBAL_NUM_TLS13_CIPHERSUITES) return globalTLS13CipherSuiteList[idx].mac; -#endif return TCM_AEAD; } @@ -770,9 +725,7 @@ DcmTLSCipherMode DcmTLSCiphersuiteHandler::getCipherSuiteMode(size_t idx) DcmTLSCipherMode DcmTLSCiphersuiteHandler::getTLS13CipherSuiteMode(size_t idx) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (idx < GLOBAL_NUM_TLS13_CIPHERSUITES) return globalTLS13CipherSuiteList[idx].mode; -#endif return TKM_NA; } @@ -784,9 +737,7 @@ size_t DcmTLSCiphersuiteHandler::getCipherSuiteKeySize(size_t idx) size_t DcmTLSCiphersuiteHandler::getTLS13CipherSuiteKeySize(size_t idx) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (idx < GLOBAL_NUM_TLS13_CIPHERSUITES) return globalTLS13CipherSuiteList[idx].keySize; -#endif return 0; } @@ -798,9 +749,7 @@ size_t DcmTLSCiphersuiteHandler::getCipherSuiteEffectiveKeySize(size_t idx) size_t DcmTLSCiphersuiteHandler::getTLS13CipherSuiteEffectiveKeySize(size_t idx) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (idx < GLOBAL_NUM_TLS13_CIPHERSUITES) return globalTLS13CipherSuiteList[idx].effectiveKeySize; -#endif return 0; } @@ -821,7 +770,6 @@ size_t DcmTLSCiphersuiteHandler::lookupCiphersuite(const char *tlsCipherSuiteNam size_t DcmTLSCiphersuiteHandler::lookupTLS13Ciphersuite(const char *tlsCipherSuiteName) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (tlsCipherSuiteName) { OFString aString(tlsCipherSuiteName); @@ -831,7 +779,6 @@ size_t DcmTLSCiphersuiteHandler::lookupTLS13Ciphersuite(const char *tlsCipherSui if (aString == globalTLS13CipherSuiteList[i].TLSname) return i; } } -#endif // ciphersuite not found return unknownCipherSuiteIndex; @@ -854,7 +801,6 @@ size_t DcmTLSCiphersuiteHandler::lookupCiphersuiteByOpenSSLName(const char *open size_t DcmTLSCiphersuiteHandler::lookupTLS13CiphersuiteByOpenSSLName(const char *opensslCipherSuiteName) { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 if (opensslCipherSuiteName) { OFString aString(opensslCipherSuiteName); @@ -864,7 +810,6 @@ size_t DcmTLSCiphersuiteHandler::lookupTLS13CiphersuiteByOpenSSLName(const char if (aString == globalTLS13CipherSuiteList[i].openSSLName) return i; } } -#endif // ciphersuite not found return unknownCipherSuiteIndex; @@ -882,14 +827,37 @@ void DcmTLSCiphersuiteHandler::printSupportedCiphersuites(STD_NAMESPACE ostream& void DcmTLSCiphersuiteHandler::printSupportedTLS13Ciphersuites(STD_NAMESPACE ostream& os) const { -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 size_t numEntries = GLOBAL_NUM_TLS13_CIPHERSUITES; for (size_t i = 0; i < numEntries; i++) { if (ciphersuiteSupported[i]) os << " " << globalTLS13CipherSuiteList[i].TLSname << OFendl; } +} + +void DcmTLSCiphersuiteHandler::printSupportedTLSProfiles(STD_NAMESPACE ostream& os) const +{ + // we print the profiles in the same order as used for the command line options + os << "- " << lookupProfileName(TSP_Profile_BCP_195_RFC_8996) << " (default)" << OFendl; + +#ifdef DCMTK_Modified_BCP195_RFC8996_TLS_Profile_Supported + os << "- " << lookupProfileName(TSP_Profile_BCP_195_RFC_8996_Modified) << OFendl; #endif + + os << "- " << lookupProfileName(TSP_Profile_BCP195_ND) << " (retired)" << OFendl; + os << "- " << lookupProfileName(TSP_Profile_BCP195) << " (retired)" << OFendl; + os << "- " << lookupProfileName(TSP_Profile_BCP195_Extended) << " (retired)" << OFendl; + + if (cipher3DESsupported()) + { + os << "- " << lookupProfileName(TSP_Profile_Basic) << " (retired)" << OFendl; + } + os << "- " << lookupProfileName(TSP_Profile_AES) << " (retired)" << OFendl; + + if (cipherNULLsupported()) + { + os << "- " << lookupProfileName(TSP_Profile_IHE_ATNA_Unencrypted) << " (retired)" << OFendl; + } } const char *DcmTLSCiphersuiteHandler::lookupProfileName(DcmTLSSecurityProfile profile) @@ -953,15 +921,9 @@ OFBool DcmTLSCiphersuiteHandler::isTLS13Enabled() const long DcmTLSCiphersuiteHandler::getTLSOptions() const { long result = 0; -#ifndef HAVE_OPENSSL_PROTOTYPE_TLS_METHOD - // When compiling with OpenSSL 1.1.0, SSL support is disabled in DcmTLSTransportLayer anyway. - // For older OpenSSL versions we explicitly disable them here. - result |= SSL_OP_NO_SSLv2; - result |= SSL_OP_NO_SSLv3; -#endif // For the Non-downgrading and Extended BCP 195 TLS Profile, - // we also disable TLS 1.0 and TLS 1.1 + // we disable TLS 1.0 and TLS 1.1 if ((currentProfile == TSP_Profile_BCP195_ND) || (currentProfile == TSP_Profile_BCP195_Extended)) { result |= SSL_OP_NO_TLSv1; diff --git a/dcmtls/libsrc/tlscond.cc b/dcmtls/libsrc/tlscond.cc index 74149aab..6e10feb4 100644 --- a/dcmtls/libsrc/tlscond.cc +++ b/dcmtls/libsrc/tlscond.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2017-2023, OFFIS e.V. + * Copyright (C) 2017-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -494,7 +494,7 @@ const DcmTLSECGenericOpenSSLError DCMTLS_EC_GenericOpenSSLError; #define X509_V_ERR_INVALID_CA 79 #endif -// the following defines were added in OpenSSL 3.0.0 +// the following defines were added in OpenSSL 3.0 #ifndef X509_V_ERR_UNSUPPORTED_SIGNATURE_ALGORITHM #define X509_V_ERR_UNSUPPORTED_SIGNATURE_ALGORITHM 76 @@ -551,6 +551,12 @@ const DcmTLSECGenericOpenSSLError DCMTLS_EC_GenericOpenSSLError; #define X509_V_ERR_EC_KEY_EXPLICIT_PARAMS 94 #endif +// the following defines were added in OpenSSL 3.2 + +#ifndef X509_V_ERR_RPK_UNTRUSTED +#define X509_V_ERR_RPK_UNTRUSTED 95 +#endif + // OpenSSL 1.x defines X509_V_ERR_INVALID_CA as 24 and does not define X509_V_ERR_NO_ISSUER_PUBLIC_KEY. // OpenSSL 3.x defines X509_V_ERR_INVALID_CA as 79 and X509_V_ERR_NO_ISSUER_PUBLIC_KEY as 24. // Since we're using the values defined in OpenSSL's header files when possible, this should work @@ -655,6 +661,8 @@ makeOFConditionConst( DCMTLS_EC_X509VerifySubjectKeyIdentifierCritical, OFM_d makeOFConditionConst( DCMTLS_EC_X509VerifyCACertMissingKeyUsage, OFM_dcmtls, DCMTLS_EC_X509Verify_Offset + X509_V_ERR_CA_CERT_MISSING_KEY_USAGE, OF_error, "X.509 certificate verification error - CA cert does not include key usage extension" ); makeOFConditionConst( DCMTLS_EC_X509VerifyExtensionsRequireVersion3, OFM_dcmtls, DCMTLS_EC_X509Verify_Offset + X509_V_ERR_EXTENSIONS_REQUIRE_VERSION_3, OF_error, "X.509 certificate verification error - Using cert extension requires at least X509v3" ); makeOFConditionConst( DCMTLS_EC_X509VerifyECKeyExplicitParams, OFM_dcmtls, DCMTLS_EC_X509Verify_Offset + X509_V_ERR_EC_KEY_EXPLICIT_PARAMS, OF_error, "X.509 certificate verification error - Certificate public key has explicit ECC parameters" ); +makeOFConditionConst( DCMTLS_EC_X509VerifyRPKUntrusted, OFM_dcmtls, DCMTLS_EC_X509Verify_Offset + X509_V_ERR_RPK_UNTRUSTED, OF_error, "X.509 certificate verification error - Raw public key untrusted, no trusted keys configured" ); + // the following defines are present in OpenSSL 1.0.1 @@ -1967,6 +1975,94 @@ makeOFConditionConst( DCMTLS_EC_X509VerifyECKeyExplicitParams, OFM_d #define SSL_R_CANNOT_GET_GROUP_NAME 299 #endif +// the following defines were added in OpenSSL 3.1 + +#ifndef SSL_R_LEGACY_SIGALG_DISALLOWED_OR_UNSUPPORTED +#define SSL_R_LEGACY_SIGALG_DISALLOWED_OR_UNSUPPORTED 333 +#endif +#ifndef SSL_R_MISSING_PSK_KEX_MODES_EXTENSION +#define SSL_R_MISSING_PSK_KEX_MODES_EXTENSION 310 +#endif +#ifndef SSL_R_OCSP_CALLBACK_FAILURE +#define SSL_R_OCSP_CALLBACK_FAILURE 305 +#endif + +// the following defines were added in OpenSSL 3.2 + +#ifndef SSL_R_BAD_CERTIFICATE +#define SSL_R_BAD_CERTIFICATE 348 +#endif +#ifndef SSL_R_BAD_COMPRESSION_ALGORITHM +#define SSL_R_BAD_COMPRESSION_ALGORITHM 326 +#endif +#ifndef SSL_R_CONN_USE_ONLY +#define SSL_R_CONN_USE_ONLY 356 +#endif +#ifndef SSL_R_EMPTY_RAW_PUBLIC_KEY +#define SSL_R_EMPTY_RAW_PUBLIC_KEY 349 +#endif +#ifndef SSL_R_FAILED_TO_GET_PARAMETER +#define SSL_R_FAILED_TO_GET_PARAMETER 316 +#endif +#ifndef SSL_R_INVALID_RAW_PUBLIC_KEY +#define SSL_R_INVALID_RAW_PUBLIC_KEY 350 +#endif +#ifndef SSL_R_INVALID_RECORD +#define SSL_R_INVALID_RECORD 317 +#endif +#ifndef SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED +#define SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED 395 +#endif +#ifndef SSL_R_NO_STREAM +#define SSL_R_NO_STREAM 355 +#endif +#ifndef SSL_R_NO_SUITABLE_RECORD_LAYER +#define SSL_R_NO_SUITABLE_RECORD_LAYER 322 +#endif +#ifndef SSL_R_QUIC_HANDSHAKE_LAYER_ERROR +#define SSL_R_QUIC_HANDSHAKE_LAYER_ERROR 393 +#endif +#ifndef SSL_R_QUIC_NETWORK_ERROR +#define SSL_R_QUIC_NETWORK_ERROR 387 +#endif +#ifndef SSL_R_QUIC_PROTOCOL_ERROR +#define SSL_R_QUIC_PROTOCOL_ERROR 382 +#endif +#ifndef SSL_R_RECORDS_NOT_RELEASED +#define SSL_R_RECORDS_NOT_RELEASED 321 +#endif +#ifndef SSL_R_RECORD_LAYER_FAILURE +#define SSL_R_RECORD_LAYER_FAILURE 313 +#endif +#ifndef SSL_R_REMOTE_PEER_ADDRESS_NOT_SET +#define SSL_R_REMOTE_PEER_ADDRESS_NOT_SET 346 +#endif +#ifndef SSL_R_SEQUENCE_CTR_WRAPPED +#define SSL_R_SEQUENCE_CTR_WRAPPED 327 +#endif +#ifndef SSL_R_STREAM_COUNT_LIMITED +#define SSL_R_STREAM_COUNT_LIMITED 411 +#endif +#ifndef SSL_R_STREAM_FINISHED +#define SSL_R_STREAM_FINISHED 365 +#endif +#ifndef SSL_R_STREAM_RECV_ONLY +#define SSL_R_STREAM_RECV_ONLY 366 +#endif +#ifndef SSL_R_STREAM_RESET +#define SSL_R_STREAM_RESET 375 +#endif +#ifndef SSL_R_STREAM_SEND_ONLY +#define SSL_R_STREAM_SEND_ONLY 379 +#endif +#ifndef SSL_R_UNKNOWN_MANDATORY_PARAMETER +#define SSL_R_UNKNOWN_MANDATORY_PARAMETER 323 +#endif +#ifndef SSL_R_WRONG_RPK_TYPE +#define SSL_R_WRONG_RPK_TYPE 351 +#endif + + // X.509 certificate verification errors use condition codes > DCMTLS_EC_SSL_Offset. makeOFConditionConst( DCMTLS_EC_TLSAppDataInHandshake, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_APP_DATA_IN_HANDSHAKE, OF_error, "TLS error: app data in handshake" ); @@ -2286,3 +2382,30 @@ makeOFConditionConst( DCMTLS_EC_TLSTLSv1UnrecognizedName, OFM_d makeOFConditionConst( DCMTLS_EC_TLSTLSv1BadCertificateStatusResponse, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE, OF_error, "TLS error: bad certificate status response" ); makeOFConditionConst( DCMTLS_EC_TLSTLSv1BadCertificateHashValue, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE, OF_error, "TLS error: bad certificate hash value" ); makeOFConditionConst( DCMTLS_EC_TLSTLSv13AlertCertificateRequired, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED, OF_error, "TLS alert: certificate required" ); +makeOFConditionConst( DCMTLS_EC_TLSLegacySigalgDisallowedOrUnsupported, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_LEGACY_SIGALG_DISALLOWED_OR_UNSUPPORTED, OF_error, "TLS error: legacy sigalg disallowed or unsupported" ); +makeOFConditionConst( DCMTLS_EC_TLSMissingPSKKexModesExtension, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_MISSING_PSK_KEX_MODES_EXTENSION, OF_error, "TLS error: missing psk kex modes extension" ); +makeOFConditionConst( DCMTLS_EC_TLSOCSPCallbackFailure, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_OCSP_CALLBACK_FAILURE, OF_error, "TLS error: ocsp callback failure" ); +makeOFConditionConst( DCMTLS_EC_TLSBadCertificate, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_BAD_CERTIFICATE, OF_error, "TLS error: bad certificate" ); +makeOFConditionConst( DCMTLS_EC_TLSBadCompressionAlgorithm, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_BAD_COMPRESSION_ALGORITHM, OF_error, "TLS error: bad compression algorithm" ); +makeOFConditionConst( DCMTLS_EC_TLSConnUseOnly, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_CONN_USE_ONLY, OF_error, "TLS error: conn use only" ); +makeOFConditionConst( DCMTLS_EC_TLSEmptyRawPublicKey, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_EMPTY_RAW_PUBLIC_KEY, OF_error, "TLS error: empty raw public key" ); +makeOFConditionConst( DCMTLS_EC_TLSFailedToGetParameter, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_FAILED_TO_GET_PARAMETER, OF_error, "TLS error: failed to get parameter" ); +makeOFConditionConst( DCMTLS_EC_TLSInvalidRawPublicKey, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_INVALID_RAW_PUBLIC_KEY, OF_error, "TLS error: invalid raw public key" ); +makeOFConditionConst( DCMTLS_EC_TLSInvalidRecord, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_INVALID_RECORD, OF_error, "TLS error: invalid record" ); +makeOFConditionConst( DCMTLS_EC_TLSMaximumEncryptedPktsReached, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED, OF_error, "TLS error: maximum encrypted pkts reached" ); +makeOFConditionConst( DCMTLS_EC_TLSNoStream, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_NO_STREAM, OF_error, "TLS error: no stream" ); +makeOFConditionConst( DCMTLS_EC_TLSNoSuitableRecordLayer, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_NO_SUITABLE_RECORD_LAYER, OF_error, "TLS error: no suitable record layer" ); +makeOFConditionConst( DCMTLS_EC_TLSQUICHandshakeLayerError, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_QUIC_HANDSHAKE_LAYER_ERROR, OF_error, "TLS error: quic handshake layer error" ); +makeOFConditionConst( DCMTLS_EC_TLSQUICNetworkError, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_QUIC_NETWORK_ERROR, OF_error, "TLS error: quic network error" ); +makeOFConditionConst( DCMTLS_EC_TLSQUICProtocolError, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_QUIC_PROTOCOL_ERROR, OF_error, "TLS error: quic protocol error" ); +makeOFConditionConst( DCMTLS_EC_TLSRecordsNotReleased, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_RECORDS_NOT_RELEASED, OF_error, "TLS error: records not released" ); +makeOFConditionConst( DCMTLS_EC_TLSRecordLayerFailure, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_RECORD_LAYER_FAILURE, OF_error, "TLS error: record layer failure" ); +makeOFConditionConst( DCMTLS_EC_TLSRemotePeerAddressNotSet, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_REMOTE_PEER_ADDRESS_NOT_SET, OF_error, "TLS error: remote peer address not set" ); +makeOFConditionConst( DCMTLS_EC_TLSSequenceCtrWrapped, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_SEQUENCE_CTR_WRAPPED, OF_error, "TLS error: sequence ctr wrapped" ); +makeOFConditionConst( DCMTLS_EC_TLSStreamCountLimited, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_STREAM_COUNT_LIMITED, OF_error, "TLS error: stream count limited" ); +makeOFConditionConst( DCMTLS_EC_TLSStreamFinished, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_STREAM_FINISHED, OF_error, "TLS error: stream finished" ); +makeOFConditionConst( DCMTLS_EC_TLSStreamRecvOnly, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_STREAM_RECV_ONLY, OF_error, "TLS error: stream recv only" ); +makeOFConditionConst( DCMTLS_EC_TLSStreamReset, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_STREAM_RESET, OF_error, "TLS error: stream reset" ); +makeOFConditionConst( DCMTLS_EC_TLSStreamSendOnly, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_STREAM_SEND_ONLY, OF_error, "TLS error: stream send only" ); +makeOFConditionConst( DCMTLS_EC_TLSUnknownMandatoryParameter, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_UNKNOWN_MANDATORY_PARAMETER, OF_error, "TLS error: unknown mandatory parameter" ); +makeOFConditionConst( DCMTLS_EC_TLSWrongRPKType, OFM_dcmtls, DCMTLS_EC_SSL_Offset + SSL_R_WRONG_RPK_TYPE, OF_error, "TLS error: wrong rpk type" ); diff --git a/dcmtls/libsrc/tlsfmacr.h b/dcmtls/libsrc/tlsfmacr.h index a461221f..80fbd850 100644 --- a/dcmtls/libsrc/tlsfmacr.h +++ b/dcmtls/libsrc/tlsfmacr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2018-2023, OFFIS e.V. + * Copyright (C) 2018-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,24 +33,12 @@ BEGIN_EXTERN_C END_EXTERN_C /* check if we fulfil all requirements for implementing the - * Modified BCP 195 RFC 8996 TLS Profile + * Modified BCP 195 RFC 8996 TLS Profile. With DICOM CP 2311 + * making support for Camellia in GCM mode optional, this is now rather simple. */ -#if defined(HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305) \ - && defined(HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8) \ - && defined(HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384) \ - && defined(HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256) \ - && defined(HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256) - -/* all feature tests except Camellia in GCM mode are successful - * We now check if we either have Camellia in GCM more or have been - * instructed to ignore this requirement - */ -#if defined(HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384) \ - || defined(DCMTK_IGNORE_BCP195M_CAMELLIA_GCM_REQUIREMENT) - +#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 #define DCMTK_Modified_BCP195_RFC8996_TLS_Profile_Supported #endif -#endif #endif /* WITH_OPENSSL */ #endif /* TLSFMAC_H */ diff --git a/dcmtls/libsrc/tlslayer.cc b/dcmtls/libsrc/tlslayer.cc index bd2413ef..ba166613 100644 --- a/dcmtls/libsrc/tlslayer.cc +++ b/dcmtls/libsrc/tlslayer.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2023, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -50,36 +50,6 @@ END_EXTERN_C #include "dcmtk/dcmnet/dicom.h" #include "dcmtk/ofstd/ofrand.h" -#ifdef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM -#define DCMTK_SSL_CTX_get0_param SSL_CTX_get0_param -#else -#define DCMTK_SSL_CTX_get0_param(A) (A)->param; -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID -#define X509_get_signature_nid(x509) OBJ_obj2nid((x509)->sig_alg->algorithm) -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE -#define SSL_CTX_get_cert_store(ctx) (ctx)->cert_store -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID -#define EVP_PKEY_base_id(key) EVP_PKEY_type((key)->type) -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_DH_BITS -#define DH_bits(dh) BN_num_bits((dh)->p) -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM -#define X509_STORE_get0_param(A) (A)->param; -#endif - -#ifndef HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT -#define X509_STORE_CTX_get0_cert(ctx) ((ctx)->cert) -#endif - int DcmTLSTransportLayer::contextStoreIndex = -1; extern "C" int DcmTLSTransportLayer_certificateValidationCallback(int ok, X509_STORE_CTX *storeContext); @@ -297,9 +267,7 @@ int DcmTLSTransportLayer_passwordCallback(char *buf, int size, int /* rwflag */, } -// The TLS Supported Elliptic Curves extension (RFC 4492) is only supported in OpenSSL 1.0.2 and newer. -// When compiling with OpenSSL 1.0.1, we are not using computeEllipticCurveList(). -#ifdef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES +// The TLS Supported Elliptic Curves extension (RFC 4492). /** determine the list of elliptic curves supported by the OpenSSL library * for use with the TLS elliptic curve extension. @@ -330,17 +298,10 @@ static void computeEllipticCurveList(OFVector& ecvector) }; // create a SSL context object -#ifndef HAVE_OPENSSL_PROTOTYPE_TLS_METHOD - SSL_CTX *ctx = SSL_CTX_new(SSLv23_method()); - if (ctx) SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3); -#else - SSL_CTX *ctx = SSL_CTX_new(TLS_method()); -#ifdef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL - if (ctx) SSL_CTX_set_security_level(ctx, 0); -#endif -#endif + SSL_CTX *ctx = SSL_CTX_new(TLS_method()); if (ctx) { + SSL_CTX_set_security_level(ctx, 0); size_t numentries = sizeof(eclist) / sizeof(int); ecvector.reserve(numentries); for (size_t i = 0; i < numentries; ++i) @@ -357,8 +318,6 @@ static void computeEllipticCurveList(OFVector& ecvector) } } -#endif /* HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES */ - DcmTLSTransportLayer::DcmTLSTransportLayer() : DcmTransportLayer() @@ -389,31 +348,8 @@ DcmTLSTransportLayer::DcmTLSTransportLayer(T_ASC_NetworkRole networkRole, const if (initOpenSSL) initializeOpenSSL(); if (randFile) seedPRNG(randFile); -#ifndef HAVE_OPENSSL_PROTOTYPE_TLS_METHOD - // on versions of OpenSSL older than 1.1.0, we use the - // SSLv23 methods and not the TLSv1 methods because the latter - // only accept TLS 1.0 and prevent the negotiation of newer - // versions of TLS. - // We use SSL_CTX_set_options() to disable SSLv2 and SSLv3. - switch (networkRole) - { - case NET_ACCEPTOR: - transportLayerContext = SSL_CTX_new(SSLv23_server_method()); - break; - case NET_REQUESTOR: - transportLayerContext = SSL_CTX_new(SSLv23_client_method()); - break; - case NET_ACCEPTORREQUESTOR: - transportLayerContext = SSL_CTX_new(SSLv23_method()); - break; - } - if (transportLayerContext) SSL_CTX_set_options(transportLayerContext, SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3); -#else - // starting with OpenSSL 1.1.0, a new TLS_method() is offered - // that automatically selects the highest version of the TLS + // TLS_method() automatically selects the highest version of the TLS // protocol supported by client and server. - // The previous TLSv1_methods are now deprecated and generate - // a warning. switch (networkRole) { case NET_ACCEPTOR: @@ -427,14 +363,11 @@ DcmTLSTransportLayer::DcmTLSTransportLayer(T_ASC_NetworkRole networkRole, const break; } -#ifdef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL - // starting with OpenSSL 1.1.0, we explicitly need to set the security level to 0 + // We explicitly need to set the security level to 0 // if we want to support any of the NULL ciphersuites. Since we manage the list // of supported ciphersuites ourselves and prevent a mix of NULL and non-NULL // ciphersuites, this is safe. if (transportLayerContext) SSL_CTX_set_security_level(transportLayerContext, 0); -#endif -#endif /* HAVE_OPENSSL_PROTOTYPE_TLS_METHOD */ if (transportLayerContext == NULL) { @@ -461,31 +394,18 @@ DcmTLSTransportLayer::DcmTLSTransportLayer(T_ASC_NetworkRole networkRole, const // create Elliptic Curve DH parameters #ifndef OPENSSL_NO_ECDH -#ifndef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO - // we create ECDH parameters for the NIST P-256 (secp256r1) curve - // as recommended by BCP 195. - EC_KEY *ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1); - if (ecdh) - { - SSL_CTX_set_tmp_ecdh(transportLayerContext, ecdh); - EC_KEY_free(ecdh); /* Safe because of reference counts */ - } - else DCMTLS_ERROR("unable to create Elliptic-Curve Diffie-Hellman parameters."); -#else - // OpenSSL 1.0.2 and newer have this function, which causes - // the server to automatically select the most appropriate shared curve for each client. + // Cause the server to automatically select the most appropriate shared curve for each client if (0 == SSL_CTX_set_ecdh_auto(transportLayerContext, 1)) { DCMTLS_ERROR("unable to create Elliptic-Curve Diffie-Hellman parameters."); } -#endif /* HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO */ #endif /* OPENSSL_NO_ECDH */ // set default certificate verification strategy setCertificateVerification(DCV_requireCertificate); -#if HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS - // The TLS 1.2 Signature Algorithms extension is only supported in OpenSSL 1.0.2 and newer. +#ifdef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS + // The SSL_CTX_set1_sigalgs macro is apprently not supported in LibreSSL 3.7.2. if (networkRole != NET_ACCEPTOR) { // BCP 195: Clients SHOULD indicate to servers that they request SHA-256, @@ -497,11 +417,9 @@ DcmTLSTransportLayer::DcmTLSTransportLayer(T_ASC_NetworkRole networkRole, const // Clients MUST indicate to servers that they request SHA-256... const int slist[] = {NID_sha256, EVP_PKEY_RSA, NID_sha384, EVP_PKEY_RSA, NID_sha512, EVP_PKEY_RSA, -#ifdef HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS // Connections between a client and a server that both use OpenSSL 1.1.1 // will fail unless RSA-PSS is also offered as a signature algorithm. NID_sha256, EVP_PKEY_RSA_PSS, NID_sha384, EVP_PKEY_RSA_PSS, NID_sha512, EVP_PKEY_RSA_PSS, -#endif NID_sha256, EVP_PKEY_DSA, NID_sha384, EVP_PKEY_DSA, NID_sha512, EVP_PKEY_DSA, NID_sha256, EVP_PKEY_EC, NID_sha384, EVP_PKEY_EC, NID_sha512, EVP_PKEY_EC}; @@ -510,12 +428,9 @@ DcmTLSTransportLayer::DcmTLSTransportLayer(T_ASC_NetworkRole networkRole, const DCMTLS_ERROR("unable to configure the TLS 1.2 Signature Algorithms extension."); } } - #endif /* HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS */ -#if HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES - // The TLS Supported Elliptic Curves extension (RFC 4492) is only supported in OpenSSL 1.0.2 and newer. - + // TLS Supported Elliptic Curves extension (RFC 4492). // BCP 195: Both clients and servers SHOULD include the "Supported Elliptic Curves" extension. // For interoperability, clients and servers SHOULD support the NIST P-256 (secp256r1) curve // (in OpenSSL this curve is called "prime256v1"). @@ -529,7 +444,6 @@ DcmTLSTransportLayer::DcmTLSTransportLayer(T_ASC_NetworkRole networkRole, const DCMTLS_ERROR("unable to configure the TLS Supported Elliptic Curves extension."); } } -#endif /* HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES */ if (networkRole != NET_ACCEPTOR) { @@ -751,8 +665,7 @@ OFCondition DcmTLSTransportLayer::activateCipherSuites() return convertOpenSSLError(ERR_get_error(), OFTrue); } -#ifdef HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384 - // we have TLS 1.3 support, so let's set the list of TLS 1.3 ciphersuites if we have any. + // set the list of TLS 1.3 ciphersuites if we have any. // If that list is empty, the default list remains active if (tls13cslist.length() > 0) { @@ -761,13 +674,10 @@ OFCondition DcmTLSTransportLayer::activateCipherSuites() return convertOpenSSLError(ERR_get_error(), OFTrue); } } -#endif SSL_CTX_set_options(transportLayerContext, ciphersuites.getTLSOptions()); -#ifdef HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION - // when compiling with OpenSSL 1.1.1 or newer, set the maximum supported - // TLS protocol version to TLS 1.2 if required. + // Set the maximum supported TLS protocol version to TLS 1.2 if required. // This applies to some historic TLS profiles, which would otherwise // show unexpected behaviour, but also in the case that a DSA certificate // is in use, since TLS 1.3 does not support DSA certificates. @@ -778,7 +688,6 @@ OFCondition DcmTLSTransportLayer::activateCipherSuites() { SSL_CTX_set_max_proto_version(transportLayerContext, TLS1_2_VERSION); } -#endif } else return EC_IllegalCall; return EC_Normal; @@ -974,13 +883,13 @@ OFBool DcmTLSTransportLayer::checkPrivateKeyMatchesCertificate() OFCondition DcmTLSTransportLayer::addVerificationFlags(unsigned long flags) { - X509_VERIFY_PARAM* const parameter = DCMTK_SSL_CTX_get0_param(transportLayerContext); + X509_VERIFY_PARAM* const parameter = SSL_CTX_get0_param(transportLayerContext); return parameter && X509_VERIFY_PARAM_set_flags(parameter,flags) ? EC_Normal : DCMTLS_EC_FailedToSetVerificationMode; } OFCondition DcmTLSTransportLayer::setCRLverification(DcmTLSCRLVerification crlmode) { - X509_VERIFY_PARAM* const parameter = DCMTK_SSL_CTX_get0_param(transportLayerContext); + X509_VERIFY_PARAM* const parameter = SSL_CTX_get0_param(transportLayerContext); if (parameter) { unsigned long flags = X509_VERIFY_PARAM_get_flags(parameter); @@ -1404,7 +1313,7 @@ OFCondition DcmTLSTransportLayer::verifyClientCertificate(const char *fileName, // they have different verification flags. We copy the flags from the // SSL context to the X509_STORE and restore the original value // after certificate verification. - X509_VERIFY_PARAM *vparam_ssl = DCMTK_SSL_CTX_get0_param(transportLayerContext); + X509_VERIFY_PARAM *vparam_ssl = SSL_CTX_get0_param(transportLayerContext); X509_VERIFY_PARAM *vparam_store = X509_STORE_get0_param(trustStore); unsigned long ssl_vparam_flags = 0; unsigned long store_vparam_flags = 0; @@ -1545,7 +1454,7 @@ OFCondition DcmTLSTransportLayer::convertOpenSSLError(unsigned long errorCode, O OFCondition cond; OFSTRINGSTREAM_GETSTR( os, c ) if (logAsError) DCMTLS_ERROR(c); - cond = makeOFCondition(OFM_dcmtls, DCMTLS_EC_SSL_Offset + ERR_GET_REASON(errorCode), OF_error, c); + cond = makeOFCondition(OFM_dcmtls, OFstatic_cast(unsigned short, DCMTLS_EC_SSL_Offset + ERR_GET_REASON(errorCode)), OF_error, c); OFSTRINGSTREAM_FREESTR( c ) return cond; @@ -1582,6 +1491,9 @@ OFCondition DcmTLSTransportLayer::convertOpenSSLX509VerificationError(int errorC void DcmTLSTransportLayer::initializeOpenSSL() { // initialize OpenSSL library +#ifdef OPENSSL_INIT_ATFORK + (void) OPENSSL_init_crypto(OPENSSL_INIT_ATFORK, NULL); +#endif SSL_library_init(); SSL_load_error_strings(); OpenSSL_add_all_algorithms(); diff --git a/dcmtls/libsrc/tlsopt.cc b/dcmtls/libsrc/tlsopt.cc index f5c43a3c..093d88fc 100644 --- a/dcmtls/libsrc/tlsopt.cc +++ b/dcmtls/libsrc/tlsopt.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2017-2023, OFFIS e.V. + * Copyright (C) 2017-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -71,11 +71,25 @@ OFBool DcmTLSOptionsBase::listOfCiphersRequested(OFCommandLine& cmd) if (cmd.findOption("--list-ciphers")) return OFTrue; return OFFalse; } + +OFBool DcmTLSOptionsBase::listOfProfilesRequested(OFCommandLine& cmd) +{ + if (cmd.findOption("--list-profiles")) return OFTrue; + return OFFalse; +} + #else + OFBool DcmTLSOptionsBase::listOfCiphersRequested(OFCommandLine& /* cmd */) { return OFFalse; } + +OFBool DcmTLSOptionsBase::listOfProfilesRequested(OFCommandLine& /* cmd */) +{ + return OFFalse; +} + #endif #ifdef WITH_OPENSSL @@ -86,10 +100,24 @@ void DcmTLSOptionsBase::printSupportedCiphersuites(OFConsoleApplication& app, ST os << OFendl << "Supported TLS ciphersuites are:" << OFendl; csh.printSupportedCiphersuites(os); } + +void DcmTLSOptionsBase::printSupportedTLSProfiles(OFConsoleApplication& app, STD_NAMESPACE ostream& os) +{ + DcmTLSCiphersuiteHandler csh; + app.printHeader(OFTrue /*print host identifier*/); + os << "Cryptographic algorithms implemented by: " << DcmTLSTransportLayer::getOpenSSLVersionName() << OFendl; + os << "\nSupported TLS Secure Transport Connection Profiles are:" << OFendl; + csh.printSupportedTLSProfiles(os); +} + #else void DcmTLSOptionsBase::printSupportedCiphersuites(OFConsoleApplication& /* app */, STD_NAMESPACE ostream& /* os */) { } + +void DcmTLSOptionsBase::printSupportedTLSProfiles(OFConsoleApplication& /* app */, STD_NAMESPACE ostream& /* os */) +{ +} #endif OFBool DcmTLSOptionsBase::secureConnectionRequested() const @@ -183,7 +211,7 @@ void DcmTLSOptions::addTLSCommandlineOptions(OFCommandLine& cmd) "use specified password"); cmd.addOption("--null-passwd", "-pw", "use empty string as password"); cmd.addSubGroup("key and certificate file format:"); - cmd.addOption("--pem-keys", "-pem", "read keys and certificates as PEM file (default)"); + cmd.addOption("--pem-keys", "-pem", "read keys and certs as PEM file (default)"); cmd.addOption("--der-keys", "-der", "read keys and certificates as DER file"); cmd.addSubGroup("certification authority:"); cmd.addOption("--add-cert-file", "+cf", 1, "[f]ilename: string", @@ -195,6 +223,7 @@ void DcmTLSOptions::addTLSCommandlineOptions(OFCommandLine& cmd) cmd.addOption("--enable-crl-vfy", "+crv", "enable leaf CRL verification"); cmd.addOption("--enable-crl-all", "+cra", "enable full chain CRL verification"); cmd.addSubGroup("security profile:"); + cmd.addOption("--list-profiles", "+ph", "list supported TLS profiles and exit", OFCommandLine::AF_Exclusive); cmd.addOption("--profile-8996", "+pg", "BCP 195 RFC 8996 TLS Profile (default)"); #ifdef DCMTK_Modified_BCP195_RFC8996_TLS_Profile_Supported cmd.addOption("--profile-8996-mod", "+pm", "Modified BCP 195 RFC 8996 TLS Profile"); @@ -213,7 +242,7 @@ void DcmTLSOptions::addTLSCommandlineOptions(OFCommandLine& cmd) } cmd.addSubGroup("ciphersuite:"); - cmd.addOption("--list-ciphers", "+cc", "show list of supported TLS ciphersuites and exit", OFCommandLine::AF_Exclusive); + cmd.addOption("--list-ciphers", "+cc", "list supported TLS ciphersuites and exit", OFCommandLine::AF_Exclusive); cmd.addOption("--cipher", "+cs", 1, "[c]iphersuite name: string", "add ciphersuite to list of negotiated suites\n(not with --profile-bcp195-ex)"); if (opt_networkRole != NET_REQUESTOR) @@ -243,7 +272,7 @@ void DcmTLSOptions::addTLSCommandlineOptions(OFCommandLine& cmd) cmd.addOption("--write-seed-file", "+wf", 1, "[f]ilename: string (only with --seed)", "write modified seed to file f"); cmd.addSubGroup("peer authentication:"); - cmd.addOption("--require-peer-cert", "-rc", "verify peer certificate, fail if absent (default)"); + cmd.addOption("--require-peer-cert", "-rc", "verify peer cert, fail if absent (default)"); if (opt_networkRole != NET_REQUESTOR) { // this command line option only makes sense for association acceptors (TLS servers) diff --git a/dcmtls/libsrc/tlstrans.cc b/dcmtls/libsrc/tlstrans.cc index 752cd36c..92f37f79 100644 --- a/dcmtls/libsrc/tlstrans.cc +++ b/dcmtls/libsrc/tlstrans.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2023, OFFIS e.V. + * Copyright (C) 1998-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -92,27 +92,15 @@ static OFCondition convertSSLError(int sslError) case SSL_ERROR_WANT_ACCEPT: return DCMTLS_EC_TLSAcceptOperationDidNotComplete; break; - -#ifdef HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC - // SSL_ERROR_WANT_ASYNC is defined starting with OpenSSL 1.1.0 case SSL_ERROR_WANT_ASYNC: return DCMTLS_EC_TLSAsyncOperationDidNotComplete; break; -#endif - -#ifdef HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB - // SSL_ERROR_WANT_ASYNC_JOB is defined starting with OpenSSL 1.1.0 case SSL_ERROR_WANT_ASYNC_JOB: return DCMTLS_EC_TLSAsyncJobCouldNotBeStarted; break; -#endif - -#if HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB - // SSL_ERROR_WANT_CLIENT_HELLO_CB is defined starting with OpenSSL 1.1.1 case SSL_ERROR_WANT_CLIENT_HELLO_CB: return DCMTLS_EC_TLSClientHelloCallbackNeeded; break; -#endif } return DCMTLS_EC_OtherSSLError; } @@ -182,7 +170,10 @@ void DcmTLSConnection::close() { if (tlsConnection != NULL) { - SSL_shutdown(tlsConnection); + // execute SSL_shutdown(), which sends the TLS close_notify alert to the peer, + // unless we are the parent process after a fork() operation and this connection + // will be handled by the client. + if (! isParentProcessMode()) SSL_shutdown(tlsConnection); SSL_free(tlsConnection); tlsConnection = NULL; } @@ -265,13 +256,9 @@ OFBool DcmTLSConnection::networkDataAvailable(int timeout) { getSocket(), POLLIN, 0 } }; nfound = poll(pfd, 1, t.tv_sec*1000+(t.tv_usec/1000)); -#else -#ifdef HAVE_INTP_SELECT - nfound = select(OFstatic_cast(int, getSocket() + 1), (int *)(&fdset), NULL, NULL, &t); #else // This is safe because on Windows the first select() parameter is ignored anyway nfound = select(OFstatic_cast(int, getSocket() + 1), &fdset, NULL, NULL, &t); -#endif /* HAVE_INTP_SELECT */ #endif /* DCMTK_HAVE_POLL */ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) diff --git a/dcmtls/tests/CMakeLists.txt b/dcmtls/tests/CMakeLists.txt index 84c48fc5..6e9b80fd 100644 --- a/dcmtls/tests/CMakeLists.txt +++ b/dcmtls/tests/CMakeLists.txt @@ -1,5 +1,5 @@ # declare executables -DCMTK_ADD_EXECUTABLE(dcmtls_tests tests.cc tscuscptls.cc) +DCMTK_ADD_TEST_EXECUTABLE(dcmtls_tests tests.cc tscuscptls.cc) # make sure executables are linked to the corresponding libraries DCMTK_TARGET_LINK_MODULES(dcmtls_tests dcmnet dcmtls) diff --git a/dcmtract/include/dcmtk/dcmtract/trcdef.h b/dcmtract/include/dcmtk/dcmtract/trcdef.h index 556da536..bef52eea 100644 --- a/dcmtract/include/dcmtk/dcmtract/trcdef.h +++ b/dcmtract/include/dcmtk/dcmtract/trcdef.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,7 @@ #define TRCDEF_H #include "dcmtk/config/osconfig.h" -#include "dcmtk/ofstd/ofdefine.h" +#include "dcmtk/ofstd/ofexport.h" // definitions for DLL/shared library exports diff --git a/dcmtract/include/dcmtk/dcmtract/trcmeasurement.h b/dcmtract/include/dcmtk/dcmtract/trcmeasurement.h index c66ffd0f..b6db55fa 100644 --- a/dcmtract/include/dcmtk/dcmtract/trcmeasurement.h +++ b/dcmtract/include/dcmtk/dcmtract/trcmeasurement.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2022, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -27,7 +27,7 @@ #include "dcmtk/dcmiod/modbase.h" #include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmiod/iodmacro.h" // for CodeSequenceMacro -#include "dcmtk/dcmtract/trctypes.h" +#include "dcmtk/dcmtract/trcdef.h" // for DCMTK_DCMTRACT_EXPORT /** Class representing a Measurement within the Tractography Results IOD. A diff --git a/dcmtract/include/dcmtk/dcmtract/trcstatistic.h b/dcmtract/include/dcmtk/dcmtract/trcstatistic.h index defebe63..4e750605 100644 --- a/dcmtract/include/dcmtk/dcmtract/trcstatistic.h +++ b/dcmtract/include/dcmtk/dcmtract/trcstatistic.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2022, Open Connections GmbH + * Copyright (C) 2016-202, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -27,7 +27,7 @@ #include "dcmtk/dcmiod/modbase.h" #include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmiod/iodmacro.h" -#include "dcmtk/dcmtract/trctypes.h" +#include "dcmtk/dcmtract/trcdef.h" // Forward declarations diff --git a/dcmtract/include/dcmtk/dcmtract/trctractographyresults.h b/dcmtract/include/dcmtk/dcmtract/trctractographyresults.h index 24dc7bcd..550daa3c 100644 --- a/dcmtract/include/dcmtk/dcmtract/trctractographyresults.h +++ b/dcmtract/include/dcmtk/dcmtract/trctractographyresults.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2018, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,10 +24,10 @@ #include "dcmtk/config/osconfig.h" // include OS configuration first #include "dcmtk/ofstd/ofvector.h" // for OFVector +#include "dcmtk/dcmdata/dcfilefo.h" #include "dcmtk/dcmiod/iodcommn.h" #include "dcmtk/dcmiod/iodmacro.h" #include "dcmtk/dcmiod/modenhequipment.h" // for Enhanced General Equipment Module -#include "dcmtk/dcmtract/trctypes.h" // for Tractography Results data types #include "dcmtk/dcmtract/trctrackset.h" // for Track Set #include "dcmtk/dcmtract/trcmodtractresults.h" // for Tractography Results Module #include "dcmtk/dcmtract/trcdef.h" diff --git a/dcmtract/include/dcmtk/dcmtract/trctypes.h b/dcmtract/include/dcmtk/dcmtract/trctypes.h index 715c30ec..809922ac 100644 --- a/dcmtract/include/dcmtk/dcmtract/trctypes.h +++ b/dcmtract/include/dcmtk/dcmtract/trctypes.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2018, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -24,7 +24,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/oflog/oflog.h" -#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/ofstd/ofcond.h" #include "dcmtk/dcmtract/trcdef.h" /* diff --git a/dcmtract/libsrc/Makefile.dep b/dcmtract/libsrc/Makefile.dep index 9a5deb61..3844a534 100644 --- a/dcmtract/libsrc/Makefile.dep +++ b/dcmtract/libsrc/Makefile.dep @@ -1,18 +1,16 @@ trcmeasurement.o: trcmeasurement.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -22,7 +20,6 @@ trcmeasurement.o: trcmeasurement.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -49,19 +46,20 @@ trcmeasurement.o: trcmeasurement.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ @@ -73,60 +71,16 @@ trcmeasurement.o: trcmeasurement.cc \ ../include/dcmtk/dcmtract/trcmeasurement.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmtract/trctypes.h ../include/dcmtk/dcmtract/trcdef.h + ../include/dcmtk/dcmtract/trcdef.h ../include/dcmtk/dcmtract/trctypes.h trcmodtractresults.o: trcmodtractresults.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ @@ -138,8 +92,8 @@ trcmodtractresults.o: trcmodtractresults.cc \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -149,7 +103,6 @@ trcmodtractresults.o: trcmodtractresults.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -183,13 +136,13 @@ trcmodtractresults.o: trcmodtractresults.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ @@ -201,79 +154,34 @@ trcmodtractresults.o: trcmodtractresults.cc \ ../include/dcmtk/dcmtract/trcmodtractresults.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ ../include/dcmtk/dcmtract/trctrackset.h \ ../include/dcmtk/dcmtract/trctypes.h ../include/dcmtk/dcmtract/trcdef.h \ - ../include/dcmtk/dcmtract/trctrack.h + ../include/dcmtk/dcmtract/trctrack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h trcstatistic.o: trcstatistic.cc \ ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -283,7 +191,6 @@ trcstatistic.o: trcstatistic.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -310,19 +217,20 @@ trcstatistic.o: trcstatistic.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ @@ -334,74 +242,28 @@ trcstatistic.o: trcstatistic.cc \ ../include/dcmtk/dcmtract/trcstatistic.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmtract/trctypes.h ../include/dcmtk/dcmtract/trcdef.h + ../include/dcmtk/dcmtract/trcdef.h ../include/dcmtk/dcmtract/trctypes.h trctrack.o: trctrack.cc ../../config/include/dcmtk/config/osconfig.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../include/dcmtk/dcmtract/trctrack.h \ + ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -411,7 +273,6 @@ trctrack.o: trctrack.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -438,32 +299,27 @@ trctrack.o: trctrack.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../../ofstd/include/dcmtk/ofstd/ofdate.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ - ../include/dcmtk/dcmtract/trctrack.h \ - ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ - ../include/dcmtk/dcmtract/trctypes.h \ + ../include/dcmtk/dcmtract/trctypes.h ../include/dcmtk/dcmtract/trcdef.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../include/dcmtk/dcmtract/trcdef.h + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h trctrackset.o: trctrackset.cc \ ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ @@ -473,25 +329,8 @@ trctrackset.o: trctrackset.cc \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ - ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ - ../../ofstd/include/dcmtk/ofstd/diag/push.def \ - ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ - ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ - ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ - ../../ofstd/include/dcmtk/ofstd/oferror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -501,6 +340,8 @@ trctrackset.o: trctrackset.cc \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -515,20 +356,36 @@ trctrackset.o: trctrackset.cc \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ + ../../ofstd/include/dcmtk/ofstd/diag/push.def \ + ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ + ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ @@ -539,59 +396,13 @@ trctrackset.o: trctrackset.cc \ ../include/dcmtk/dcmtract/trctrackset.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmtract/trctypes.h ../include/dcmtk/dcmtract/trcdef.h \ ../include/dcmtk/dcmtract/trctrack.h \ ../include/dcmtk/dcmtract/trcmeasurement.h \ @@ -604,13 +415,13 @@ trctractographyresults.o: trctractographyresults.cc \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ @@ -620,7 +431,6 @@ trctractographyresults.o: trctractographyresults.cc \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -653,13 +463,13 @@ trctractographyresults.o: trctractographyresults.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofdeprec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ @@ -669,63 +479,20 @@ trctractographyresults.o: trctractographyresults.cc \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ - ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ - ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrsv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvruv.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrov.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodreferences.h \ ../include/dcmtk/dcmtract/trctractographyresults.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ ../../dcmiod/include/dcmtk/dcmiod/modequipment.h \ ../../dcmiod/include/dcmtk/dcmiod/modfor.h \ @@ -733,12 +500,10 @@ trctractographyresults.o: trctractographyresults.cc \ ../../dcmiod/include/dcmtk/dcmiod/modgeneralstudy.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ - ../../ofstd/include/dcmtk/ofstd/ofoption.h \ - ../../ofstd/include/dcmtk/ofstd/ofalign.h \ ../../dcmiod/include/dcmtk/dcmiod/modsopcommon.h \ ../../dcmiod/include/dcmtk/dcmiod/modenhequipment.h \ - ../include/dcmtk/dcmtract/trctypes.h ../include/dcmtk/dcmtract/trcdef.h \ ../include/dcmtk/dcmtract/trctrackset.h \ + ../include/dcmtk/dcmtract/trctypes.h ../include/dcmtk/dcmtract/trcdef.h \ ../include/dcmtk/dcmtract/trcmodtractresults.h trctypes.o: trctypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -748,8 +513,8 @@ trctypes.o: trctypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -781,7 +546,4 @@ trctypes.o: trctypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/logmacro.h \ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ - ../../ofstd/include/dcmtk/ofstd/diag/ignrattr.def \ ../include/dcmtk/dcmtract/trcdef.h diff --git a/dcmtract/libsrc/trcmeasurement.cc b/dcmtract/libsrc/trcmeasurement.cc index 925145e1..1782f0cf 100644 --- a/dcmtract/libsrc/trcmeasurement.cc +++ b/dcmtract/libsrc/trcmeasurement.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2018, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,9 +19,10 @@ * */ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcuid.h" #include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmtract/trcmeasurement.h" +#include "dcmtk/dcmtract/trctypes.h" +#include "dcmtk/ofstd/ofstd.h" // default constructor (protected, instance creation via create() function) TrcMeasurement::TrcMeasurement() @@ -305,7 +306,7 @@ OFCondition TrcMeasurement::Values::get(const Float32*& dataValues, if ( numIndices != numValues) { char buf[200]; - sprintf(buf, "Number of measurement values for track (%lu) differs from number of track data indices (%lu), using smaller value", numValues, numIndices); + OFStandard::snprintf(buf, sizeof(buf), "Number of measurement values for track (%lu) differs from number of track data indices (%lu), using smaller value", numValues, numIndices); DCMTRACT_WARN(buf); if (numValues > numIndices) numValues = numIndices; diff --git a/dcmtract/libsrc/trcmodtractresults.cc b/dcmtract/libsrc/trcmodtractresults.cc index 5e3487af..45e43cda 100644 --- a/dcmtract/libsrc/trcmodtractresults.cc +++ b/dcmtract/libsrc/trcmodtractresults.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2018, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -23,6 +23,8 @@ #include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmtract/trcmodtractresults.h" #include "dcmtk/dcmtract/trctrack.h" +#include "dcmtk/dcmdata/dcvrda.h" +#include "dcmtk/dcmdata/dcvrtm.h" const OFString TrcTractographyResultsModule::m_ModuleName = "TractographyResultsModule"; diff --git a/dcmtract/libsrc/trcstatistic.cc b/dcmtract/libsrc/trcstatistic.cc index e9714957..34e6045d 100644 --- a/dcmtract/libsrc/trcstatistic.cc +++ b/dcmtract/libsrc/trcstatistic.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2018, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,9 +19,9 @@ * */ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcuid.h" #include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmtract/trcstatistic.h" +#include "dcmtk/dcmtract/trctypes.h" // ------------------------------ class TrcTStatistic -------------------------- diff --git a/dcmtract/libsrc/trctrack.cc b/dcmtract/libsrc/trctrack.cc index f7aac1d7..5b65b835 100644 --- a/dcmtract/libsrc/trctrack.cc +++ b/dcmtract/libsrc/trctrack.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2019, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -19,10 +19,10 @@ * */ #include "dcmtk/config/osconfig.h" -#include "dcmtk/dcmdata/dcuid.h" -#include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmtract/trctrack.h" #include "dcmtk/dcmtract/trctypes.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcelem.h" // default constructor (protected, instance creation via create() function) TrcTrack::TrcTrack() diff --git a/dcmtract/libsrc/trctrackset.cc b/dcmtract/libsrc/trctrackset.cc index 0cb45df4..c01230e8 100644 --- a/dcmtract/libsrc/trctrackset.cc +++ b/dcmtract/libsrc/trctrackset.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2018, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -20,7 +20,7 @@ */ #include "dcmtk/config/osconfig.h" #include "dcmtk/ofstd/ofutil.h" -#include "dcmtk/dcmdata/dcuid.h" +#include "dcmtk/dcmdata/dcvrut.h" #include "dcmtk/dcmiod/iodutil.h" #include "dcmtk/dcmtract/trctrackset.h" #include "dcmtk/dcmtract/trctrack.h" diff --git a/dcmtract/libsrc/trctractographyresults.cc b/dcmtract/libsrc/trctractographyresults.cc index 9c83e102..e0624891 100644 --- a/dcmtract/libsrc/trctractographyresults.cc +++ b/dcmtract/libsrc/trctractographyresults.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2016-2018, Open Connections GmbH + * Copyright (C) 2016-2024, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -70,14 +70,6 @@ OFCondition TrcTractographyResults::loadDataset( DcmDataset& dataset, TrcTractographyResults*& tract) { - DcmXfer xfer = dataset.getOriginalXfer(); - // If the original transfer is encapsulated and we do not already have an uncompressed version, decompress or reject the file - if (xfer.isEncapsulated()) - { - DCMTRACT_ERROR("Cannot load dataset since it is compressed, transfer syntax: " << xfer.getXferName()); - return IOD_EC_CannotDecompress; - } - tract = new TrcTractographyResults(); if (tract == NULL) { diff --git a/dcmwlm/apps/Makefile.dep b/dcmwlm/apps/Makefile.dep index c62ec9be..baa19ad4 100644 --- a/dcmwlm/apps/Makefile.dep +++ b/dcmwlm/apps/Makefile.dep @@ -53,7 +53,6 @@ wlcefs.o: wlcefs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmwlm/wltypdef.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -145,7 +144,6 @@ wlmscpfs.o: wlmscpfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../include/dcmtk/dcmwlm/wltypdef.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ diff --git a/dcmwlm/apps/wlcefs.cc b/dcmwlm/apps/wlcefs.cc index 71d8f57b..345eb644 100644 --- a/dcmwlm/apps/wlcefs.cc +++ b/dcmwlm/apps/wlcefs.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2020, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -40,6 +40,7 @@ #include "dcmtk/dcmwlm/wlmactmg.h" #include "dcmtk/dcmnet/dimse.h" #include "dcmtk/dcmdata/dcostrmz.h" /* for dcmZlibCompressionLevel */ +#include "dcmtk/ofstd/ofstd.h" #include "wlcefs.h" @@ -79,7 +80,7 @@ WlmConsoleEngineFileSystem::WlmConsoleEngineFileSystem( int argc, char *argv[], command_argv(argv), dataSource( dataSourcev ) { // Initialize application identification string. - sprintf( rcsid, "$dcmtk: %s v%s %s $", applicationName, OFFIS_DCMTK_VERSION, OFFIS_DCMTK_RELEASEDATE ); + OFStandard::snprintf(rcsid, sizeof(rcsid), "$dcmtk: %s v%s %s $", applicationName, OFFIS_DCMTK_VERSION, OFFIS_DCMTK_RELEASEDATE ); // Initialize starting values for variables pertaining to program options. opt_dfPath = "."; @@ -165,7 +166,7 @@ WlmConsoleEngineFileSystem::WlmConsoleEngineFileSystem( int argc, char *argv[], cmd->addOption("--dimse-timeout", "-td", 1, "[s]econds: integer (default: unlimited)", "timeout for DIMSE messages"); OFString opt6 = "[a]ssocs: integer (default: "; - sprintf(tempstr, "%ld", OFstatic_cast(long, opt_maxAssociations)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, opt_maxAssociations)); opt6 += tempstr; opt6 += ")"; cmd->addOption("--max-associations", 1, opt6.c_str(), "limit maximum number of parallel associations"); @@ -176,14 +177,14 @@ WlmConsoleEngineFileSystem::WlmConsoleEngineFileSystem( int argc, char *argv[], cmd->addOption("--sleep-after", 1, "[s]econds: integer", "sleep s seconds after find (default: 0)"); cmd->addOption("--sleep-during", 1, "[s]econds: integer", "sleep s seconds during find (default: 0)"); OFString opt3 = "set max receive pdu to n bytes (default: "; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_DEFAULTMAXPDU)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_DEFAULTMAXPDU)); opt3 += tempstr; opt3 += ")"; OFString opt4 = "[n]umber of bytes: integer ("; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_MINIMUMPDUSIZE)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_MINIMUMPDUSIZE)); opt4 += tempstr; opt4 += ".."; - sprintf(tempstr, "%ld", OFstatic_cast(long, ASC_MAXIMUMPDUSIZE)); + OFStandard::snprintf(tempstr, sizeof(tempstr), "%ld", OFstatic_cast(long, ASC_MAXIMUMPDUSIZE)); opt4 += tempstr; opt4 += ")"; cmd->addOption("--max-pdu", "-pdu", 1, opt4.c_str(), opt3.c_str()); diff --git a/dcmwlm/data/CMakeLists.txt b/dcmwlm/data/CMakeLists.txt index cc6fbf29..1f9e63ce 100644 --- a/dcmwlm/data/CMakeLists.txt +++ b/dcmwlm/data/CMakeLists.txt @@ -1,2 +1,2 @@ # declare directories to be installed -install(DIRECTORY wlistdb wlistqry DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}" COMPONENT data) +install(DIRECTORY wlistdb wlistqry DESTINATION "${CMAKE_INSTALL_DATADIR}" COMPONENT data) diff --git a/dcmwlm/docs/CMakeLists.txt b/dcmwlm/docs/CMakeLists.txt index be119655..ef5f8637 100644 --- a/dcmwlm/docs/CMakeLists.txt +++ b/dcmwlm/docs/CMakeLists.txt @@ -1,2 +1,2 @@ # declare installation files -install(FILES wlmsetup.txt DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}" COMPONENT doc) +install(FILES wlmsetup.txt DESTINATION "${CMAKE_INSTALL_DOCDIR}" COMPONENT doc) diff --git a/dcmwlm/docs/wlmscpfs.man b/dcmwlm/docs/wlmscpfs.man index aef243a6..a0c096b3 100644 --- a/dcmwlm/docs/wlmscpfs.man +++ b/dcmwlm/docs/wlmscpfs.man @@ -515,6 +515,6 @@ It is an error if no data dictionary can be loaded. \section wlmscpfs_copyright COPYRIGHT -Copyright (C) 1996-2023 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1996-2024 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmwlm/libsrc/Makefile.dep b/dcmwlm/libsrc/Makefile.dep index 0d600e84..863b4c3d 100644 --- a/dcmwlm/libsrc/Makefile.dep +++ b/dcmwlm/libsrc/Makefile.dep @@ -57,7 +57,6 @@ wlds.o: wlds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -94,10 +93,10 @@ wldsfs.o: wldsfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ @@ -105,7 +104,6 @@ wldsfs.o: wldsfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ ../../ofstd/include/dcmtk/ofstd/diag/pop.def \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ @@ -233,7 +231,6 @@ wlfsim.o: wlfsim.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -322,8 +319,8 @@ wlmactmg.o: wlmactmg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofdiag.h \ ../../ofstd/include/dcmtk/ofstd/diag/push.def \ ../../ofstd/include/dcmtk/ofstd/diag/useafree.def \ @@ -375,7 +372,6 @@ wlmactmg.o: wlmactmg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ diff --git a/dcmwlm/libsrc/wlfsim.cc b/dcmwlm/libsrc/wlfsim.cc index 27519c6d..aa2789ff 100644 --- a/dcmwlm/libsrc/wlfsim.cc +++ b/dcmwlm/libsrc/wlfsim.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2023, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -340,7 +340,7 @@ void WlmFileSystemInteractionManager::GetAttributeValueForMatchingRecord( DcmTag { len = 20; value = new char[len]; - sprintf( value, "%u", v ); + OFStandard::snprintf(value, len, "%u", v ); } else { diff --git a/dcmwlm/libsrc/wlmactmg.cc b/dcmwlm/libsrc/wlmactmg.cc index 668b23bd..02c8425e 100644 --- a/dcmwlm/libsrc/wlmactmg.cc +++ b/dcmwlm/libsrc/wlmactmg.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2021, OFFIS e.V. + * Copyright (C) 1996-2024, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -969,43 +969,7 @@ void WlmActivityManager::CleanChildren() RemoveProcessFromTable( child ); } } - -#elif defined(HAVE_WAIT3) // PLATFORMS THAT HAVE wait3() -#if defined(__NeXT__) - // some systems need a union wait as argument to wait3 - union wait status; #else - int status; -#endif - int options = WNOHANG; - struct rusage rusage; - int child = 1; - - while( child > 0 ) - { - // determine status for child processes - child = wait3( &status, options, &rusage ); - if( child < 0 ) - { - if( errno == ECHILD ) - { - // no children - } - else - { - DCMWLM_WARN("WlmActivityManager::CleanChildren: Wait for child failed"); - } - } - else if( child > 0 ) - { - // dump some information if required - DCMWLM_INFO("Cleaned up after child (" << child << ")"); - - // remove item from process table - RemoveProcessFromTable( child ); - } - } -#else // OTHER PLATFORMS // for other platforms without waitpid() and without wait3() we // don't know how to cleanup after children. Dump an error message. DCMWLM_WARN("WlmActivityManager::CleanChildren: Cannot wait for child processes"); diff --git a/dcmwlm/tests/CMakeLists.txt b/dcmwlm/tests/CMakeLists.txt index eb3c4167..a92cf91d 100644 --- a/dcmwlm/tests/CMakeLists.txt +++ b/dcmwlm/tests/CMakeLists.txt @@ -1,5 +1,5 @@ # declare executables -DCMTK_ADD_EXECUTABLE(wltest wltest.cc) +DCMTK_ADD_TEST_EXECUTABLE(wltest wltest.cc) # make sure executables are linked to the corresponding libraries DCMTK_TARGET_LINK_MODULES(wltest dcmwlm dcmnet dcmtls dcmdata oflog ofstd) diff --git a/dcmwlm/tests/Makefile.dep b/dcmwlm/tests/Makefile.dep index 3bcfeb06..6862eb27 100644 --- a/dcmwlm/tests/Makefile.dep +++ b/dcmwlm/tests/Makefile.dep @@ -73,7 +73,6 @@ wltest.o: wltest.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflimits.h \ - ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/oferror.h \ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ diff --git a/docs/ANNOUNCE.368 b/docs/ANNOUNCE.368 new file mode 100644 index 00000000..af52b96b --- /dev/null +++ b/docs/ANNOUNCE.368 @@ -0,0 +1,177 @@ +ANNOUNCEMENT + +Version 3.6.8 of the OFFIS DCMTK (DICOM toolkit) software is now available for +public release. This release includes the following main changes over the +previous version 3.6.7: + +- DCMTK 3.6.8 builds correctly on older and up-to-date versions of GNU gcc + (4.8.5 to 12.3.0) Clang (3.4.2 to 15.0.7), Apple Clang (14.0.3 to 15.0.0), + and Microsoft Visual Studio (2015 to 2022). + +- Tested with the following operating systems/environments: + - Android on arm64 + - FreeBSD on x86_64 + - Linux on x86_64 and x86 + - MacOS X on x86_64 and arm64 + - NetBSD on x86_64 + - OpenBSD on x86_64 + - OpenIndiana on x86 + - Windows (including MinGW) on x86_64 and x86 + + For a complete list of tested systems and compilers, see the INSTALL file. + +- Updated DICOM data dictionary, list of SOP classes, well-known frame of + references, transfer syntaxes [*], code definitions, supported context group + classes, and directory record types for DICOM standard release 2023c. + + [*] Support for the Encapsulated Uncompressed Explicit VR Little Endian + Transfer Syntax (introduced with CP-2083) is still missing, see + https://support.dcmtk.org/redmine/issues/1000 for the current status. + +- Updated automatically generated classes in module "dcmrt" (Radiotherapy) + based on DICOM 2023b. Also fixed long undiscovered bugs that occurred when + iterating over sequence items or when reading RT images. + +- Added new module oficonv providing builtin character set conversion in DCMTK. + oficonv is enabled by default and, therefore, is chosen over the external + libraries iconv and icu as well as stdlibc (iconv). However, one of the + other conversion libraries can still be enabled if preferred by the user. + +- Added support for the Specific Character Sets "ISO_IR 203" and "ISO 2022 IR + 203" (ISO 8859-15, Latin-9) introduced with CP-2113 to the character set + conversion. + +- Added support for the new RFC 8996 TLS profiles, including support for + Application-Layer Protocol Negotiation (ALPN), Server Name Indication (SNI), + and other recommendations of RFC 9325 (the current revision of BCP 195). + +- Further enhanced DICOM Structured Reporting (SR) module "dcmsr": + + - Added support for Context Groups CID 218 and CID 7551, which are used for + TID 1500 "Measurement Report". + + - Implemented changes for CP-2000 by adding support for the SR Template + parameters $ImagePurpose or $Purpose to the implementation of TID 1501, + 300 and 320. + + - Added "Rendition Selection Document" (introduced with Supplement 202) to + the list of supported "ReportTypes" in the XML Schema (XSD). + + - Updated list of known Presentation State, Segmentation and Waveform SOP + Classes. + + - Updated mapping of the Defined Terms for the Body Part Examined attribute + to associated CID 4031 (Common Anatomic Regions) codes based on part 16. + +- Further improved network classes DcmSCU and DcmSCP: + + - Removed note on experimental status of DcmSCU and DcmSCP. + - Reject wrong called AE Title in DcmSCP (if configured). + - Allow operating system to choose free port for DcmSCP. + - Added N-CREATE and N-SET support to DcmSCU. + - Allow setting individual TCP timeout for every instance of DcmSCU. + - Introduced new class DcmTLSSCU to bring TLS support to DcmSCU. + +- Don't fill in Responding AE Title in log output of A-ASSOCIATE request. + DCMTK used to fill in Responding AE Title in the log when an SCU was + connecting to a Remote AE. Since obviously the Responding AE Title is + not known in the request, the string value should be logged empty. + +- Fixed an unexpected behavior when using option --charset-assume (+Ca) + together with option --convert-to-utf8 (+U8) for dcm2xml, dsr2html or + dsr2xml. Now, the order of evaluating these options is reversed, so that + a DICOM file that is missing the Specific Character Set attribute although it + is needed (because extended characters are used) can be processed. + +- Enabled support for the --print-color (+C) option in dcmdump and dsrdump also + on Windows systems. Both the Windows Terminal and the PowerShell support + ANSI escape codes, so the color output should work with these tools. + +- Enhanced handling of converting IS (Integer String) and DS (Decimal String) + values to JSON format. Added new command line options to dcm2json for this + purpose. + +- Added initial support for Multi-Fragment Video Transfer Syntaxes introduced + with Supplement 225. This commit covers the definition of the UID values + and the DCMTK-specific definitions that are needed to later enhance support. + +- Added JPEG-LS support to img2dcm's regular JPEG plugin. + +- Added comparison operators to classes DcmTag and DcmXfer. + +- Added support for the official DICOM UID keywords that were originally + introduced with CP-1995. These keywords are defined in addition to the + DCMTK-specific UID names that have been used for a long time and will still + be supported for the foreseeable future. + +- Added classes OFIPCMessageQueueServer and OFIPCMessageQueueClient, which + implement the server and client side of a message queue for inter-process + communication. A server process can create a message queue and receive + text messages, and a client process can open the queue and send messages. + Depending on the platform, the queues are implemented as Windows Mailslot, + Posix message queue or System V message queue. + +- CMake-related enhancements and other changes: + + - Fix detection and enabling of modern C++ versions (C++11 and later) for VS. + Mainly, it is ensured that the __cplusplus version macro is set accordingly + when using VS while enabling C++11 or later. + + - The CMake install target now uses the installation directories provided by + the GNUInstallDirs package more consistently. + + - The minimum supported CMake version has been increased to 3.0.0. + + - A new, still experimental setting named DCMTK_USE_WIN32_PROGRAMDATA allows + data files to be installed in the "ProgramData" directory on Windows. + +- The default installation directories for support data, configuration data and + documentation now contain the DCMTK release number in the path. This allows + multiple versions of DCMTK to be installed in parallel, without generating + conflicts for the data dictionary and other data and configuration files. + +- Fixed various issues that occurred after the official 3.6.7 release. + See CHANGES file for details. + +Many people have contributed to this new release of DCMTK, appearing here in +alphabetical order. Thank you very much for your support! + + Ahmad Hazimeh + Calvin Fong + Dimitri Papadopoulos Orfanos + Franz Reitner + Joger Hansegard + Juhee Kim + Marcus Hennix + Mathieu Malaterre + Michael L. Williams + Oliver Klerx + Peter Klotz + Sharon Brizinov>sharon.b@claroty.com> + Song Xiangpu + Tamas Nemeth + Zahra Mirzamomen + + DCMTK forum users "nbeck", "pgimeno", "Martin Roeseler" + + GitHub users "bettar", "Cheney-W", "chrisse74", "doskachok", "jogerh", + "knight2995", "kwach", "maddin200", "malaterre", "mrbean-bremen", + "reunanen", "StillerHarpo" + +Members of the DCMTK Team who have worked on this release are: + + Marco Eichelberg + Michael Onken + Joerg Riesmeier + Jan Schlamelcher + +Student associates: + + Marcel Baumann + Nikolas Goldhammer + +The DCMTK software can be downloaded via: + + https://dicom.offis.de/en/dcmtk/ or https://www.dcmtk.org/ + +OFFIS e.V., Oldenburg, Germany, 2023-12-19 diff --git a/docs/CHANGES.369 b/docs/CHANGES.369 new file mode 100644 index 00000000..4e112288 --- /dev/null +++ b/docs/CHANGES.369 @@ -0,0 +1,3962 @@ + +Release 3.6.9 (Public Minor Release - 2024-12-11) + +**** Changes from 2024.12.11 (eichelberg) + +- Created CHANGES.369 for DCMTK release 3.6.9: + CHANGES.369 contains the Git commit history since DCMTK release 3.6.8. + Added: docs/CHANGES.369 + +- Updated man pages for DCMTK release 3.6.9. + Affects: doxygen/manpages/man1/cda2dcm.1 + doxygen/manpages/man1/dcm2cda.1 + doxygen/manpages/man1/dcm2img.1 + doxygen/manpages/man1/dcm2json.1 + doxygen/manpages/man1/dcm2pdf.1 + doxygen/manpages/man1/dcm2pnm.1 + doxygen/manpages/man1/dcm2xml.1 + doxygen/manpages/man1/dcmcjpeg.1 + doxygen/manpages/man1/dcmcjpls.1 + doxygen/manpages/man1/dcmconv.1 + doxygen/manpages/man1/dcmcrle.1 + doxygen/manpages/man1/dcmdjpeg.1 + doxygen/manpages/man1/dcmdjpls.1 + doxygen/manpages/man1/dcmdrle.1 + doxygen/manpages/man1/dcmdspfn.1 + doxygen/manpages/man1/dcmdump.1 + doxygen/manpages/man1/dcmftest.1 + doxygen/manpages/man1/dcmgpdir.1 + doxygen/manpages/man1/dcmicmp.1 + doxygen/manpages/man1/dcmj2pnm.1 + doxygen/manpages/man1/dcml2pnm.1 + doxygen/manpages/man1/dcmmkcrv.1 + doxygen/manpages/man1/dcmmkdir.1 + doxygen/manpages/man1/dcmmklut.1 + doxygen/manpages/man1/dcmodify.1 + doxygen/manpages/man1/dcmp2pgm.1 + doxygen/manpages/man1/dcmprscp.1 + doxygen/manpages/man1/dcmprscu.1 + doxygen/manpages/man1/dcmpschk.1 + doxygen/manpages/man1/dcmpsmk.1 + doxygen/manpages/man1/dcmpsprt.1 + doxygen/manpages/man1/dcmpsrcv.1 + doxygen/manpages/man1/dcmpssnd.1 + doxygen/manpages/man1/dcmqridx.1 + doxygen/manpages/man1/dcmqrscp.1 + doxygen/manpages/man1/dcmqrti.1 + doxygen/manpages/man1/dcmquant.1 + doxygen/manpages/man1/dcmrecv.1 + doxygen/manpages/man1/dcmscale.1 + doxygen/manpages/man1/dcmsend.1 + doxygen/manpages/man1/dcmsign.1 + doxygen/manpages/man1/dcod2lum.1 + doxygen/manpages/man1/dconvlum.1 + doxygen/manpages/man1/drtdump.1 + doxygen/manpages/man1/dsr2html.1 + doxygen/manpages/man1/dsr2xml.1 + doxygen/manpages/man1/dsrdump.1 + doxygen/manpages/man1/dump2dcm.1 + doxygen/manpages/man1/echoscu.1 + doxygen/manpages/man1/findscu.1 + doxygen/manpages/man1/getscu.1 + doxygen/manpages/man1/img2dcm.1 + doxygen/manpages/man1/mkcsmapper.1 + doxygen/manpages/man1/mkesdb.1 + doxygen/manpages/man1/movescu.1 + doxygen/manpages/man1/pdf2dcm.1 + doxygen/manpages/man1/stl2dcm.1 + doxygen/manpages/man1/storescp.1 + doxygen/manpages/man1/storescu.1 + doxygen/manpages/man1/termscu.1 + doxygen/manpages/man1/wlmscpfs.1 + doxygen/manpages/man1/xml2dcm.1 + doxygen/manpages/man1/xml2dsr.1 + +- Updated version information for DCMTK release 3.6.9. + Affects: CMake/dcmtkPrepare.cmake + VERSION + +- Updated copyright date. + Affects: COPYRIGHT + dcmdata/docs/cda2dcm.man + dcmdata/docs/dcm2pdf.man + dcmdata/docs/dcm2xml.man + dcmdata/docs/dcmconv.man + dcmdata/docs/dcmcrle.man + dcmdata/docs/dcmdrle.man + dcmdata/docs/dcmdump.man + dcmdata/docs/dcmftest.man + dcmdata/docs/dcmodify.man + dcmdata/docs/dump2dcm.man + dcmdata/docs/pdf2dcm.man + dcmdata/docs/stl2dcm.man + dcmdata/docs/xml2dcm.man + dcmimage/docs/dcmicmp.man + dcmimage/docs/dcmquant.man + dcmimage/docs/dcmscale.man + dcmimgle/docs/dcmdspfn.man + dcmimgle/docs/dcod2lum.man + dcmimgle/docs/dconvlum.man + dcmjpeg/docs/dcmcjpeg.man + dcmjpeg/docs/dcmdjpeg.man + dcmjpls/docs/dcmcjpls.man + dcmjpls/docs/dcmdjpls.man + dcmnet/docs/termscu.man + dcmpstat/docs/dcmmkcrv.man + dcmpstat/docs/dcmmklut.man + dcmpstat/docs/dcmp2pgm.man + dcmpstat/docs/dcmprscp.man + dcmpstat/docs/dcmprscu.man + dcmpstat/docs/dcmpschk.man + dcmpstat/docs/dcmpsmk.man + dcmpstat/docs/dcmpsprt.man + dcmpstat/docs/dcmpsrcv.man + dcmpstat/docs/dcmpssnd.man + dcmqrdb/docs/dcmqridx.man + dcmqrdb/docs/dcmqrti.man + dcmrt/docs/drtdump.man + dcmsign/docs/dcmsign.man + dcmwlm/docs/wlmscpfs.man + +- Updated configure files for upcoming release. + Affects: config/configure + config/confmod + +**** Changes from 2024.12.10 (riesmeier) + +- Rebuilt Makefile dependencies. + Affects: dcmseg/tests/Makefile.dep + +- Moved recently added item to the correct place. + Affects: ANNOUNCE + +- Updated name and date after recent change. + Affects: INSTALL + +**** Changes from 2024.12.10 (onken) + +- Use OFrand_r instead of rand(): + Use OFrand_r instead of rand() in test since BSD complains about + generating deterministic values otherwise. + Affects: dcmseg/tests/tutils.cc + +- Different integer type to avoid compiler warning. + Affects: dcmseg/libsrc/segutils.cc + +**** Changes from 2024.12.09 (onken) + +- Added Ubuntu 24.10 to list of tested systems. + Affects: INSTALL + +- Added segmentation bugfix to notable changes. + Affects: ANNOUNCE + +- Fixed compiler warnings introduced in 6245f9. + Affects: dcmseg/libsrc/segutils.cc + dcmseg/tests/tutils.cc + +**** Changes from 2024.12.08 (onken) + +- Fix binary segmentations with certain dimensions: + Some binary segmentations where the number of total bits per frame is not + divisible by 8 have been reported to break when serialized into a + dataset. + This commit includes a rewrite of the associated frame packing and + unpacking methods, and a set of tests to ensure that these methods are + correct. + This closes DCMTK issue #1132. + Thanks to Melanie Michels for the report. + Affects: dcmfg/include/dcmtk/dcmfg/fgderimg.h + dcmfg/tests/t_concatenation_loader.cc + dcmiod/include/dcmtk/dcmiod/iodutil.h + dcmiod/libsrc/iodutil.cc + dcmseg/include/dcmtk/dcmseg/segdoc.h + dcmseg/include/dcmtk/dcmseg/segutils.h + dcmseg/libsrc/Makefile.dep + dcmseg/libsrc/segdoc.cc + dcmseg/libsrc/segutils.cc + dcmseg/tests/Makefile.dep + dcmseg/tests/tests.cc + dcmseg/tests/tutils.cc + +**** Changes from 2024.12.06 (riesmeier) + +- No longer obfuscate email address for bug reports. + Affects: README + README.md + doxygen/htmldocs.dox + +- Added CONTRIBUTING.md file to HTML documentation. + Affects: doxygen/htmldocs.cfg + doxygen/htmldocs.dox + +- Updated documentation on predefined CMake targets. + Affects: INSTALL + +- Updated information on latest CMake version: + Changed latest CMake version that was tested to 3.31.2. + Affects: CMakeLists.txt + INSTALL + +- Removed space character after "if" statement. + Affects: CMakeLists.txt + dcmnet/libsrc/CMakeLists.txt + dcmpstat/libsrc/CMakeLists.txt + dcmqrdb/libsrc/CMakeLists.txt + dcmsign/libsrc/CMakeLists.txt + dcmtls/libsrc/CMakeLists.txt + oficonv/apps/CMakeLists.txt + oficonv/datasrc/CMakeLists.txt + +- Updated Makefile dependencies. + Affects: dcmdata/libdcxml/Makefile.dep + +- Removed empty line at end of verbatim environment: + Removed empty line at the end of a verbatim environment. This line + resulted in a wrong "rendering" of the manpage. + Affects: dcmapps/docs/dcm2img.man + +**** Changes from 2024.12.05 (riesmeier) + +- Various minor fixes to installation description. + Affects: INSTALL + +**** Changes from 2024.12.03 (eichelberg) + +- Fixed minor warning. + Affects: dcmtls/libsrc/tlsopt.cc + +- Fixed CMake file for dcmqrdb library. + Affects: dcmqrdb/libsrc/CMakeLists.txt + +**** Changes from 2024.12.02 (eichelberg) + +- Updated CMake version requirements. + Affects: INSTALL + +**** Changes from 2024.12.02 (riesmeier) + +- Extended and revised announcement file. + Affects: ANNOUNCE + +- Removed extra space. + Affects: dcmdata/libsrc/dcuid.cc + +- Minor fixes to comments. + Affects: CMake/dcmtkPrepare.cmake + +**** Changes from 2024.12.02 (eichelberg) + +- Fixed compilation with older CMake versions. + Affects: CMake/GenerateDCMTKConfigure.cmake + CMakeLists.txt + +**** Changes from 2024.12.02 (riesmeier) + +- Fixed line breaks and added contributors: + Added missing DCMTK forum and GitHub users to the list of contributors. + Also added general reference to CHANGES file for further changes. + Affects: ANNOUNCE + +- Updated information on latest CMake version. + Affects: CMakeLists.txt + +- Fixed line breaks. + Affects: INSTALL + +**** Changes from 2024.12.02 (eichelberg) + +- Fixed data directory macros: + The macros DEFAULT_CONFIGURATION_DIR and DEFAULT_SUPPORT_DATA_DIR + point to the directories where configuration files and support data is + installed, respectively. They determine where DCMTK tools search for + configuration files, data dictionary and character set conversion files. + Fixed an inconsistency between the actual installation directories + and these macros on Posix platforms. + Affects: CMake/GenerateDCMTKConfigure.cmake + +- Updated manpages for upcoming release. + Added: doxygen/manpages/man1/dcm2cda.1 + doxygen/manpages/man1/dcm2img.1 + Affects: doxygen/manpages/man1/cda2dcm.1 + doxygen/manpages/man1/dcm2json.1 + doxygen/manpages/man1/dcm2pdf.1 + doxygen/manpages/man1/dcm2pnm.1 + doxygen/manpages/man1/dcm2xml.1 + doxygen/manpages/man1/dcmcjpeg.1 + doxygen/manpages/man1/dcmcjpls.1 + doxygen/manpages/man1/dcmconv.1 + doxygen/manpages/man1/dcmcrle.1 + doxygen/manpages/man1/dcmdjpeg.1 + doxygen/manpages/man1/dcmdjpls.1 + doxygen/manpages/man1/dcmdrle.1 + doxygen/manpages/man1/dcmdspfn.1 + doxygen/manpages/man1/dcmdump.1 + doxygen/manpages/man1/dcmftest.1 + doxygen/manpages/man1/dcmgpdir.1 + doxygen/manpages/man1/dcmicmp.1 + doxygen/manpages/man1/dcmj2pnm.1 + doxygen/manpages/man1/dcml2pnm.1 + doxygen/manpages/man1/dcmmkcrv.1 + doxygen/manpages/man1/dcmmkdir.1 + doxygen/manpages/man1/dcmmklut.1 + doxygen/manpages/man1/dcmodify.1 + doxygen/manpages/man1/dcmp2pgm.1 + doxygen/manpages/man1/dcmprscp.1 + doxygen/manpages/man1/dcmprscu.1 + doxygen/manpages/man1/dcmpschk.1 + doxygen/manpages/man1/dcmpsmk.1 + doxygen/manpages/man1/dcmpsprt.1 + doxygen/manpages/man1/dcmpsrcv.1 + doxygen/manpages/man1/dcmpssnd.1 + doxygen/manpages/man1/dcmqridx.1 + doxygen/manpages/man1/dcmqrscp.1 + doxygen/manpages/man1/dcmqrti.1 + doxygen/manpages/man1/dcmquant.1 + doxygen/manpages/man1/dcmrecv.1 + doxygen/manpages/man1/dcmscale.1 + doxygen/manpages/man1/dcmsend.1 + doxygen/manpages/man1/dcmsign.1 + doxygen/manpages/man1/dcod2lum.1 + doxygen/manpages/man1/dconvlum.1 + doxygen/manpages/man1/drtdump.1 + doxygen/manpages/man1/dsr2html.1 + doxygen/manpages/man1/dsr2xml.1 + doxygen/manpages/man1/dsrdump.1 + doxygen/manpages/man1/dump2dcm.1 + doxygen/manpages/man1/echoscu.1 + doxygen/manpages/man1/findscu.1 + doxygen/manpages/man1/getscu.1 + doxygen/manpages/man1/img2dcm.1 + doxygen/manpages/man1/mkcsmapper.1 + doxygen/manpages/man1/mkesdb.1 + doxygen/manpages/man1/movescu.1 + doxygen/manpages/man1/pdf2dcm.1 + doxygen/manpages/man1/stl2dcm.1 + doxygen/manpages/man1/storescp.1 + doxygen/manpages/man1/storescu.1 + doxygen/manpages/man1/termscu.1 + doxygen/manpages/man1/wlmscpfs.1 + doxygen/manpages/man1/xml2dcm.1 + doxygen/manpages/man1/xml2dsr.1 + +- Updated documentation for upcoming release. + Affects: ANNOUNCE + CREDITS + INSTALL + +- Disabled outdated backwards compatibility code: + Disabled some workarounds for backwards compatibility with very old + DCMTK releases dating back to 1994-95, which were never publicly released. + The workarounds can be re-enabled by compiling with the macro + DCMTK_ENABLE_OUTDATED_DCMTK_WORKAROUND. + Affects: config/docs/macros.txt + dcmnet/include/dcmtk/dcmnet/dul.h + dcmnet/libsrc/assoc.cc + dcmnet/libsrc/dulconst.cc + dcmnet/libsrc/dulfsm.cc + +**** Changes from 2024.11.29 (onken) + +- CMake debug postfix options for libs/executables: + This exposes the CMAKE_DEBUG_POSTFIX option to the CMake user that + will append the supplied postfix string to all built libraries. There + are extra options to also enable the postfix for Windows DLLs as well + as built executables, wich are both excluded otherwise. + Thanks to Jean Pierre Bassenge for the original + patch. + Affects: CMake/dcmtkMacros.cmake + CMake/dcmtkPrepare.cmake + +- Updated Makefile dependencies. + Affects: dcmdata/libsrc/Makefile.dep + dcmect/libsrc/Makefile.dep + dcmect/tests/Makefile.dep + dcmfg/libsrc/Makefile.dep + dcmiod/libsrc/Makefile.dep + +- Added missing libdir for dcmtkcharls to linker. + Affects: dcmapps/apps/Makefile.in + +- Use synchronization instead of synchronisation: + Use American English since this is what is being used in DICOM and + the rest of DCMTK. + Affects: dcmect/include/dcmtk/dcmect/enhanced_ct.h + dcmect/libsrc/enhanced_ct.cc + dcmiod/libsrc/modsynchronization.cc + Renamed: dcmiod/include/dcmtk/dcmiod/modsynchronisation.h + -> dcmiod/include/dcmtk/dcmiod/modsynchronization.h + +- Use DcmItem instead of DcmDataset for references: + This allows to construct references also from items instead of datasets + since the former are more common to handed around in memory. + Affects: dcmfg/include/dcmtk/dcmfg/fgderimg.h + dcmfg/libsrc/fgderimg.cc + +- Simplify header includes. + Affects: dcmdata/include/dcmtk/dcmdata/dcdatutl.h + +- Added documentation, changed method name. + Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h + dcmiod/libsrc/iodutil.cc + +- Move test for putOFstringAtPos into separate file. + Added: dcmdata/tests/tbytestr.cc + Affects: dcmdata/apps/Makefile.dep + dcmdata/tests/CMakeLists.txt + dcmdata/tests/Makefile.dep + dcmdata/tests/Makefile.in + dcmdata/tests/telemlen.cc + dcmimage/apps/Makefile.dep + dcmimgle/apps/Makefile.dep + dcmimgle/libsrc/Makefile.dep + dcmjpeg/apps/Makefile.dep + dcmjpls/apps/Makefile.dep + dcmjpls/libsrc/Makefile.dep + dcmnet/libsrc/Makefile.dep + dcmsr/libsrc/Makefile.dep + oflog/libsrc/Makefile.dep + ofstd/libsrc/Makefile.dep + +**** Changes from 2024.11.25 (eichelberg) + +- Added command line options --list-profiles: + Added command line options --list-profiles to all TLS enabled tools that + lists the DICOM Secure Transport Connection Profiles supported by the tool. + Note that the list of profiles supported varies depending on the version + and compilation options of the underlying OpenSSL/LibreSSL library. + This closes DCMTK feature request #1080. + Affects: dcmnet/apps/dcmrecv.cc + dcmnet/apps/echoscu.cc + dcmnet/apps/findscu.cc + dcmnet/apps/getscu.cc + dcmnet/apps/storescp.cc + dcmnet/apps/storescu.cc + dcmnet/docs/dcmrecv.man + dcmnet/docs/echoscu.man + dcmnet/docs/findscu.man + dcmnet/docs/getscu.man + dcmnet/docs/storescp.man + dcmnet/docs/storescu.man + dcmqrdb/apps/dcmqrscp.cc + dcmqrdb/docs/dcmqrscp.man + dcmtls/include/dcmtk/dcmtls/tlsciphr.h + dcmtls/include/dcmtk/dcmtls/tlsopt.h + dcmtls/libsrc/tlsciphr.cc + dcmtls/libsrc/tlsopt.cc + +**** Changes from 2024.11.23 (riesmeier) + +- Added reference to new "CONTRIBUTING.md" file. + Affects: README + README.md + doxygen/htmldocs.dox + +- Removed empty line at the end of the file. + Affects: dcmapps/apps/CMakeLists.txt + +**** Changes from 2024.11.22 (riesmeier) + +- Added document on how to contribute to the DCMTK: + Added initial version of a document that describes how to contribute to + the DCMTK, e.g. how to submit a good bug report. This document uses the + Markdown syntax so that it is nicely displayed by e.g. GitHub. + The section on suggesting enhancements still needs to be completed. + Added: CONTRIBUTING.md + +**** Changes from 2024.11.22 (eichelberg) + +- Fixed compilation on NetBSD. + Affects: dcmapps/apps/CMakeLists.txt + +**** Changes from 2024.11.16 (riesmeier) + +- Updated code definitions for DICOM 2024e: + Updated automatically generated code definitions for coding scheme "DCM". + For the coding schemes "NCIt" and "UMLS", there were no changes. + Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h + dcmsr/include/dcmtk/dcmsr/codes/ncit.h + dcmsr/include/dcmtk/dcmsr/codes/umls.h + +- Updated data dictionary for DICOM 2024e: + Updated data dictionary for the latest edition of the DICOM standard. + Affects: dcmdata/data/dicom.dic + dcmdata/include/dcmtk/dcmdata/dcdeftag.h + dcmdata/libsrc/dcdictbi.cc + +**** Changes from 2024.11.13 (eichelberg) + +- Fixed segmentation fault when decoding invalid RLE: + Fixed a segmentation fault due to an out-of-bounds read access + when decoding an invalid RLE dataset via DcmPixelData::getUncompressedFrame(). + Thanks to Yoshinaga Kosuke for the bug report + and sample file. + This closes DCMTK issue #858 (again). + Affects: dcmdata/libsrc/dcrleccd.cc + +**** Changes from 2024.11.10 (eichelberg) + +- Added template specializaton for OFGlobal: + Added template specialization for OFGlobal that uses + std::atomic (C++11) instead of a read-write lock and is lock free + on some platforms, thus offering a performance advantage if many + threads concurrently access the global flag (e.g. while generating UIDs). + The specialization is enabled only if DCMTK is compiled with STL, and + C++11 is available. + Thanks to Jesper Alf Dam for the report, + the performance analysis and the original patch. + Affects: CMake/DCMTKConfig.cmake.in + CMake/GenerateDCMTKConfigure.cmake + CMake/dcmtkMacros.cmake + CMake/dcmtkPrepare.cmake + CMake/osconfig.h.in + config/configure + config/configure.in + config/include/dcmtk/config/osconfig.h.in + ofstd/include/dcmtk/ofstd/ofglobal.h + Removed: CMake/DCMTKConfig.old_cmake.in + +**** Changes from 2024.11.08 (riesmeier) + +- Added LUTData (0028,3006) to unhandled attributes: + Added LUTData (0028,3006) to the list of attributes that are not yet + handled by DcmItem::checkAndUpdateVR(), i.e. as a comment. + Affects: dcmdata/libsrc/dcitem.cc + +**** Changes from 2024.11.06 (riesmeier) + +- Re-added support for surface segmentations: + Re-added support for the Surface Segmentation Storage SOP Class + as it is needed for TID 1411. That is why the regression test + dcmsr_TID1500_MeasurementReport failed after commit efe0f6f945. + Affects: dcmsr/libsrc/dsrimgvl.cc + +- Added two new DICONDE Storage SOP Classes: + Added support for two new DICONDE Storage SOP Classes for thermography + images introduced with DICOM 2024d (based on ASTM E3440). + This closes DCMTK Conformance #1139. + Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h + dcmdata/libsrc/dcuid.cc + dcmnet/docs/movescu.man + dcmnet/docs/storescp.man + dcmnet/etc/storescp.cfg + dcmnet/etc/storescu.cfg + dcmqrdb/docs/dcmqrscp.man + dcmqrdb/etc/dcmqrprf.cfg + +- Added support for new segmentation SOP Classes: + Added support for new segmentation SOP Classes introduced with + Supplement 240 and 243 to the SR image reference value class. + Also removed support for the Surface Segmentation Storage SOP Class + from this class as it is not based on the DICOM image model. + Affects: dcmsr/libsrc/dsrimgvl.cc + +- Added support for new Storage SOP Classes: + Added definition of new Storage SOP Class UIDs introduced with Supplement + 240 (Height Map Segmentation and Revised Ophthalmic OCT En Face Image) + and Supplement 243 (Label Map Segmentation). Also added support for these + Storage SOP Classes to the various networking tools. + This closes DCMTK Conformance #1135 and #1136. + Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h + dcmdata/libsrc/dcuid.cc + dcmnet/docs/movescu.man + dcmnet/docs/storescp.man + dcmnet/etc/storescp.cfg + dcmnet/etc/storescu.cfg + dcmqrdb/docs/dcmqrscp.man + dcmqrdb/etc/dcmqrprf.cfg + +- Fixed comment. + Affects: dcmsr/libcmr/tid1411.cc + +- Slightly changed implementation of DcmVR::setVR(): + Slightly changed implementation of DcmVR::setVR(): now, internal VRs are + not treated differently, but they are either mapped to an unknown VR + with extended length (4 bytes) or with a 2-byte length field, depending + on the characters used for the VR string. + Also enhanced the documentation of this method and made a few local + variables "const". + Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h + dcmdata/libsrc/dcvr.cc + +**** Changes from 2024.11.05 (riesmeier) + +- Introduced new enum type for invalid VRs: + Introduced new enum type for invalid VRs, which is e.g. used when + reading an invalid VR string from a DICOM data set. + Please note that the behavior of DcmVR::setVR() slightly changed and + now by default returns EVR_invalid instead of EVR_UNKNOWN. However, + most DCMTK command line tools and C++ methods should behave as before, + only the log output might be different when parsing an invalid data set. + Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h + dcmdata/libdcxml/xml2dcm.cc + dcmdata/libsrc/dcitem.cc + dcmdata/libsrc/dctag.cc + dcmdata/libsrc/dcvr.cc + +- Fixed API documentation and identation: + Fixed API documentation and identation of new OFStandard::isspace() + helper fuction. Also fixed issue with "%" in Doxygen comments. + Affects: ofstd/include/dcmtk/ofstd/ofstd.h + ofstd/libsrc/ofstd.cc + +**** Changes from 2024.11.05 (eichelberg) + +- Fixed minor warning. + Affects: dcmpstat/apps/dcmprscu.cc + +**** Changes from 2024.11.04 (riesmeier) + +- Fixed indentation of comment. + Affects: dcmimgle/apps/dcod2lum.cc + dcmimgle/libsrc/didispfn.cc + dcmpstat/apps/dcmmklut.cc + +**** Changes from 2024.11.04 (eichelberg) + +- Replaced mutex in OFGlobal by read/write lock: + OFGlobal instances now use a read/write lock instead of a mutex in order + to protect access in multi-threaded implementations. This provides a + significant speed-up if many threads read the global objects concurrently. + Thanks to Jesper Alf Dam for the report, + the performance analysis and the original patch. + Affects: ofstd/include/dcmtk/ofstd/ofglobal.h + +- Added OFStandard::isspace(): + Added an OFStandard::isspace() function that checks for characters which + constitute whitespace in the default C locale and is significantly faster + then std::isspace(), specifically on Windows. + Thanks to Jesper Alf Dam for the report, + the performance analysis and the original patch. + Affects: dcmdata/apps/dump2dcm.cc + dcmdata/libsrc/dcdict.cc + dcmdata/libsrc/dcvrui.cc + dcmimgle/apps/dcod2lum.cc + dcmimgle/libsrc/didispfn.cc + dcmnet/apps/storescp.cc + dcmnet/apps/storescu.cc + dcmnet/libsrc/dcasccff.cc + dcmnet/libsrc/diutil.cc + dcmnet/libsrc/scpcfg.cc + dcmnet/libsrc/scu.cc + dcmpstat/apps/dcmmklut.cc + dcmpstat/apps/dcmprscu.cc + dcmqrdb/apps/dcmqrscp.cc + dcmqrdb/libsrc/dcmqrcnf.cc + dcmsign/libsrc/dcsighlp.cc + oflog/libsrc/property.cc + ofstd/include/dcmtk/ofstd/ofstd.h + ofstd/libsrc/ofstd.cc + +**** Changes from 2024.10.30 (riesmeier) + +- Improved performance of DcmVR::setVR(): + When creating and processing very large amounts of DICOM data sets, + the implementation of DcmVR::setVR() could have led to a performance + bottleneck, so it was improved, e.g. by avoiding the call of strncmp() + for comparing the two-letter VR codes. + Thanks to Jesper Alf Dam for the report, + the performance analysis and the original patch. + Affects: dcmdata/libsrc/dcvr.cc + +- Fixed issue with rendering MONOCHROME1 images: + Fixed issue when rendering certain MONOCHROME1 images without specifying + a VOI transformation, e.g. an image with 13 bits per pixel. Due to an + incorrect calculation, the rendered output value sometimes deviated by 1 + from the expected value. + Thanks to Giulio Simonetti for the + report and sample file. + Affects: dcmimgle/include/dcmtk/dcmimgle/dimoopxt.h + +**** Changes from 2024.10.24 (eichelberg) + +- Fixed compilation with OpenSSL 1.1.1. + Affects: dcmsign/libsrc/sitstamp.cc + +**** Changes from 2024.10.23 (riesmeier) + +- Added support for new JPEG XL Transfer Syntaxes: + Added basic support for the new JPEG XL Transfer Syntaxes introduced + with Supplement 232: added definition of UIDs and EXS_xxx enum values, + added basic network support (including storescp's and movescu's + --accept-all, echoscu's --propose-ts option as well as the association + negotiation configuration files). + This closes DCMTK Conformance #1138. + Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h + dcmdata/include/dcmtk/dcmdata/dcxfer.h + dcmdata/libsrc/dcuid.cc + dcmdata/libsrc/dcxfer.cc + dcmnet/apps/echoscu.cc + dcmnet/apps/movescu.cc + dcmnet/apps/storescp.cc + dcmnet/docs/dcmsend.man + dcmnet/docs/echoscu.man + dcmnet/docs/movescu.man + dcmnet/docs/storescp.man + dcmnet/docs/storescu.man + dcmnet/etc/storescp.cfg + dcmnet/etc/storescu.cfg + dcmnet/libsrc/dimse.cc + dcmqrdb/docs/dcmqrscp.man + dcmqrdb/etc/dcmqrprf.cfg + +- Increased maximum number of proposed Xfers: + Increased maximum number of transfer syntaxes that can be proposed + during association negotiation. For many years, it was limited to + 50 transfer syntaxes, which was more than enough (including private + transfer syntaxes), but now we need more since the DICOM standard + already defines more than 50 transfer syntaxes. + In the long run, the static array should be replaced by a dynamic data + structure. + Affects: dcmnet/include/dcmtk/dcmnet/assoc.h + +- Made HTJ2K transfer syntaxes non-fragmentable: + DICOM PS3.5 defines that the new HTJ2K transfer syntaxes are not + fragmentable, i.e. each frame shall be encoded separately as a single + fragment. + Affects: dcmdata/libsrc/dcxfer.cc + +- Added missing HTJ2K transfer syntaxes. + Affects: dcmnet/etc/storescu.cfg + +- Added Autoconf configure test for OpenSSL 3.4.0. + Affects: config/configure + config/configure.in + config/include/dcmtk/config/osconfig.h.in + +**** Changes from 2024.10.23 (eichelberg) + +- Fixed minor warning on MSVC. + Affects: dcmtls/libsrc/tlslayer.cc + +- Adapted dcmsign to API change in OpenSSL 3.4.0. + Affects: CMake/dcmtkPrepare.cmake + CMake/osconfig.h.in + dcmsign/libsrc/sitstamp.cc + +**** Changes from 2024.10.22 (eichelberg) + +- Fixed compilation with libxml2 2.13.x on Windows. + Affects: CMake/3rdparty.cmake + +**** Changes from 2024.10.18 (eichelberg) + +- Initialize m_tLayer in DcmSCPConfig copy constructor: + Properly handle member m_tLayer in the DcmSCPConfig copy constructor and + copy assignment operator. + Thanks to DCMTK forum user "saltcreek" for the bug report. + This closes DCMTK issue #1141. + Affects: dcmnet/libsrc/scpcfg.cc + +**** Changes from 2024.10.10 (onken) + +- Made Coding Scheme Designator type 1C: + The requirement type for Coding Scheme Designator inside the Basic Code + Sequence Macro has been changed some time ago from type 1 to type 1C. + Thanks to Ivan Tsai for the report and suggested fix. + Affects: dcmiod/libsrc/iodmacro.cc + +**** Changes from 2024.10.08 (riesmeier) + +- Updated Context Group classes for DICOM 2024d: + Updated automatically generated Context Group classes for the latest + edition of the DICOM standard. All supported classes were updated, + even though there were no changes to most of them. + Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h + dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h + dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h + dcmsr/include/dcmtk/dcmsr/cmr/cid11.h + dcmsr/include/dcmtk/dcmsr/cmr/cid218.h + dcmsr/include/dcmtk/dcmsr/cmr/cid244.h + dcmsr/include/dcmtk/dcmsr/cmr/cid247.h + dcmsr/include/dcmtk/dcmsr/cmr/cid29.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h + dcmsr/include/dcmtk/dcmsr/cmr/cid42.h + dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7551.h + dcmsr/libcmr/cid100.cc + dcmsr/libcmr/cid10013.cc + dcmsr/libcmr/cid10033.cc + dcmsr/libcmr/cid11.cc + dcmsr/libcmr/cid218.cc + dcmsr/libcmr/cid244.cc + dcmsr/libcmr/cid247.cc + dcmsr/libcmr/cid29.cc + dcmsr/libcmr/cid4020.cc + dcmsr/libcmr/cid4021.cc + dcmsr/libcmr/cid4031.cc + dcmsr/libcmr/cid42.cc + dcmsr/libcmr/cid6147.cc + dcmsr/libcmr/cid7021.cc + dcmsr/libcmr/cid7181.cc + dcmsr/libcmr/cid7445.cc + dcmsr/libcmr/cid7452.cc + dcmsr/libcmr/cid7453.cc + dcmsr/libcmr/cid7464.cc + dcmsr/libcmr/cid7469.cc + dcmsr/libcmr/cid7551.cc + +- Updated code definitions for DICOM 2024d: + Updated automatically generated code definitions for coding scheme "DCM". + For the coding schemes "NCIt" and "UMLS", there were no changes. + Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h + dcmsr/include/dcmtk/dcmsr/codes/ncit.h + dcmsr/include/dcmtk/dcmsr/codes/umls.h + +- Updated data dictionary for DICOM 2024d: + Updated data dictionary for the latest edition of the DICOM standard. + Affects: dcmdata/data/dicom.dic + dcmdata/include/dcmtk/dcmdata/dcdeftag.h + dcmdata/libsrc/dcdictbi.cc + +**** Changes from 2024.10.01 (eichelberg) + +- Check return code of fclose() when writing a file: + Added code to check the result of fclose() operations when writing a file + since fclose() may return an error if a full filesystem causes the flushing + of the file buffer to fail. + Thanks to Christian Wetzel for the bug report. + This closes DCMTK issue #1070. + Affects: dcmapps/include/dcmtk/dcmapps/dcm2img.h + dcmdata/apps/dcm2cda.cc + dcmdata/apps/dcm2pdf.cc + dcmdata/include/dcmtk/dcmdata/dcostrmf.h + dcmdata/libsrc/dcdatset.cc + dcmdata/libsrc/dcdicdir.cc + dcmdata/libsrc/dcfilefo.cc + dcmdata/libsrc/dcostrmf.cc + dcmdata/libsrc/dcvrobow.cc + dcmdata/libsrc/mkdeftag.cc + dcmimgle/libsrc/dcmimage.cc + dcmnet/libsrc/dimstore.cc + dcmnet/libsrc/scp.cc + dcmnet/libsrc/scu.cc + dcmpstat/apps/dcmp2pgm.cc + dcmpstat/libsrc/dviface.cc + ofstd/libsrc/ofipc.cc + ofstd/libsrc/ofstd.cc + +**** Changes from 2024.09.24 (riesmeier) + +- Fixed line break in comment. + Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h + +**** Changes from 2024.09.18 (riesmeier) + +- Added documentation for new module "dcmapps". + Added: dcmapps/docs/dcmapps.dox + Affects: README + README.md + doxygen/htmldocs.dox + +- Revised line breaks. + Affects: config/docs/macros.txt + +- Added missing space character. + Affects: dcmdata/docs/dcmgpdir.man + dcmimage/docs/dcm2pnm.man + dcmjpeg/docs/dcmj2pnm.man + dcmjpls/docs/dcml2pnm.man + +- Added missing empty line. + Affects: dcmdata/apps/dcmgpdir.cc + dcmimage/apps/dcm2pnm.cc + dcmjpeg/apps/dcmj2pnm.cc + dcmjpls/apps/dcml2pnm.cc + +- Removed outdated reference to "dcm2pnm". + Affects: dcmapps/docs/dcm2img.man + +- Fixed wrong module name in comment header. + Affects: ofstd/include/dcmtk/ofstd/ofstub.h + ofstd/libsrc/ofstub.cc + +**** Changes from 2024.09.16 (riesmeier) + +- Changed name of Status Code "0107H" (CP-2384): + Changed name of Status Code "0107H" from "Attribute list error" to + "Attribute list warning" to clarify it is a warning and this code is + associated with the Status Class "Warning". See CP-2384 for details. + The old define STATUS_N_AttributeListError will still be available for + some time, but should no longer be used and should be replaced by the + new definition STATUS_N_AttributeListWarning. + Affects: dcmnet/include/dcmtk/dcmnet/dimse.h + dcmnet/libsrc/dimdump.cc + dcmnet/libsrc/diutil.cc + +**** Changes from 2024.09.15 (eichelberg) + +- Replaced deprecated command line tools by stubs: + Replaced the deprecated command line tools "dcm2pnm", "dcmj2pnm" and "dcml2pnm" + by stubs that execute "dcm2img" instead. Also replaced "dcmgpdir" by a stub that + calls "dcmmkdir" instead. + Affects: dcmdata/apps/dcmgpdir.cc + dcmdata/docs/dcmgpdir.man + dcmimage/apps/dcm2pnm.cc + dcmimage/docs/dcm2pnm.man + dcmjpeg/apps/dcmj2pnm.cc + dcmjpeg/apps/dcmmkdir.cc + dcmjpeg/docs/dcmj2pnm.man + dcmjpls/apps/dcml2pnm.cc + dcmjpls/docs/dcml2pnm.man + +**** Changes from 2024.09.14 (riesmeier) + +- Added missing "configure" script in new module. + Added: dcmapps/configure + +- Git should ignore the new application "dcm2img": + Also fixed issue with "configure" in module sub-directories. + Affects: .gitignore + +- Fixed line breaks and indendation. + Affects: dcmapps/apps/Makefile.in + +**** Changes from 2024.09.14 (eichelberg) + +- Added dcmapps/docs/Makefile.in. + Added: dcmapps/docs/Makefile.in + +- Added autoconf support for dcmapps. + Added: dcmapps/Makefile.in + dcmapps/apps/Makefile.dep + dcmapps/apps/Makefile.in + dcmapps/include/Makefile.in + Affects: Makefile + config/modules + +- Added helper function OFstub_main: + Added a helper function for an command line application stub that + calls another command line tool in the same directory and forwards + all environment variables, command line parameters and standard I/O streams + and returns the return code of the called tool. This can be used to + easily implement forwarding stubs for deprecated tools that have been + replaced by a tool that supports the same command line options. + Added: ofstd/include/dcmtk/ofstd/ofstub.h + ofstd/libsrc/ofstub.cc + Affects: COPYRIGHT + config/docs/macros.txt + ofstd/libsrc/CMakeLists.txt + ofstd/libsrc/Makefile.in + +**** Changes from 2024.09.13 (onken) + +- Remove duplicate check. + Affects: dcmdata/tests/telemlen.cc + +- Fixed DcmByteString::putOFStringAtPos: + Thanks to forum user "Oleh" for the report and patch. + Affects: dcmdata/libsrc/dcbytstr.cc + dcmdata/tests/telemlen.cc + dcmdata/tests/tests.cc + +**** Changes from 2024.09.13 (eichelberg) + +- Fixed minor warning. + Affects: ofstd/libsrc/ofwhere.c + +**** Changes from 2024.09.12 (eichelberg) + +- updated COPYRIGHT. + Affects: COPYRIGHT + +- Removed function OFgetModulePath(): + Removed function OFgetModulePath(), which is currently not needed + and relies on the function __builtin_extract_return_addr(), + which is not supported e.g. by the IBM xlC compiler on Linux. + Affects: ofstd/include/dcmtk/ofstd/ofwhere.h + ofstd/libsrc/ofwhere.c + +**** Changes from 2024.09.11 (eichelberg) + +- Updated COPYRIGHT file: + Added license documentation for the new ofwhere.h implementation. + Affects: COPYRIGHT + +- Set stdout to binary when writing image to stdout: + On Windows, the stdout stream is now set to binary when dcm2img writes + an image file to stdout instead of an output file. + Affects: dcmapps/include/dcmtk/dcmapps/dcm2img.h + +- Added two new helper functions to module ofstd: + Added two new helper functions to module ofstd, declared in ofwhere.h: + OFgetExecutablePath() returns the real path of the current executable, + OFgetModulePath returns the path of the enclosing module (i.e. shared object). + The implementation is derived from the "wherami" library by Gregory Pakosz. + Added: ofstd/include/dcmtk/ofstd/ofwhere.h + ofstd/libsrc/ofwhere.c + Affects: ofstd/libsrc/CMakeLists.txt + ofstd/libsrc/Makefile.in + +- Fixed leakage of network sockets to child processes: + DCMTK functions that call command line tools (such as the --exec-on-reception + option in storescp) 'leaked' the listen socket and the network association + socket to the child process called via execl(). This has now been fixed by + opening the sockets with the SOCK_CLOEXEC flag on platforms where this is + available, and by calling fcntl() with the FD_CLOEXEC flag otherwise. + Thanks to Christian Wetzel for the bug report and + sample code. + This closes DCMTK issue #1078. + Affects: dcmnet/libsrc/dul.cc + dcmnet/libsrc/dulfsm.cc + +**** Changes from 2024.09.11 (riesmeier) + +- Output debug messages to debug logger: + Output debug messages to the debug and not to the info logger. This reduces + the verboseness of the DICOM dataset parser when the "stop parsing at/after + element" option is used. + Also fixed line indentation of the source code (where appropriate). + Thanks to GitHub user "malaterre" for the report and proposed patch. + This closes GitHub pull request #101. + Affects: dcmdata/libsrc/dcitem.cc + +**** Changes from 2024.09.06 (riesmeier) + +- Removed non-ASCII characters from strings. + Affects: dcmsr/libcmr/cid4031e.cc + +- Minor fixes to formatting and API documentation: + Minor fixes to source code formatting and API documentation of some SR + IOD constraint checker classes. + Affects: dcmsr/include/dcmtk/dcmsr/dsrchecc.h + dcmsr/include/dcmtk/dcmsr/dsrcolcc.h + dcmsr/include/dcmtk/dcmsr/dsrimpcc.h + dcmsr/include/dcmtk/dcmsr/dsrkeycc.h + dcmsr/include/dcmtk/dcmsr/dsrmaccc.h + dcmsr/include/dcmtk/dcmsr/dsrmamcc.h + dcmsr/include/dcmtk/dcmsr/dsrpficc.h + dcmsr/include/dcmtk/dcmsr/dsrplicc.h + dcmsr/include/dcmtk/dcmsr/dsrprdcc.h + dcmsr/include/dcmtk/dcmsr/dsrrsdcc.h + dcmsr/include/dcmtk/dcmsr/dsrsaecc.h + dcmsr/include/dcmtk/dcmsr/dsrspecc.h + dcmsr/libsrc/dsrplicc.cc + +- Added full support for SR IOD from Supplement 239: + Added constraint checker for the Waveform Annotation SR IOD (introduced + with Supplement 239). Now, support for this new SR IOD is complete with + regard to the implementation in the "dcmsr" module. + This closes DCMTK Conformance #1126. + Added: dcmsr/include/dcmtk/dcmsr/dsrwancc.h + dcmsr/libsrc/dsrwancc.cc + Affects: dcmsr/docs/dsr2html.man + dcmsr/docs/dsr2xml.man + dcmsr/docs/dsrdump.man + dcmsr/docs/xml2dsr.man + dcmsr/libsrc/CMakeLists.txt + dcmsr/libsrc/Makefile.dep + dcmsr/libsrc/Makefile.in + dcmsr/libsrc/dsrtypes.cc + +**** Changes from 2024.09.04 (riesmeier) + +- Made URL prefix for hyperlinks configurable: + Made URL prefix for hyperlinks to composite objects configurable. The + default behavior is to use the URL prefix http://localhost/dicom.cgi, + which is e.g. needed for DICOMscope. + Thanks to GitHub user "thewtex" (Matt McCormick) for the proposal and + the original patch. See GitHub pull request #108 for details. + Affects: dcmsr/apps/dsr2html.cc + dcmsr/apps/dsr2xml.cc + dcmsr/docs/dsr2html.man + dcmsr/include/dcmtk/dcmsr/dsrcodtn.h + dcmsr/include/dcmtk/dcmsr/dsrcomtn.h + dcmsr/include/dcmtk/dcmsr/dsrcomvl.h + dcmsr/include/dcmtk/dcmsr/dsrcontn.h + dcmsr/include/dcmtk/dcmsr/dsrdattn.h + dcmsr/include/dcmtk/dcmsr/dsrdoc.h + dcmsr/include/dcmtk/dcmsr/dsrdoctn.h + dcmsr/include/dcmtk/dcmsr/dsrdoctr.h + dcmsr/include/dcmtk/dcmsr/dsrdtitn.h + dcmsr/include/dcmtk/dcmsr/dsrimgtn.h + dcmsr/include/dcmtk/dcmsr/dsrimgvl.h + dcmsr/include/dcmtk/dcmsr/dsrnumtn.h + dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h + dcmsr/include/dcmtk/dcmsr/dsrreftn.h + dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h + dcmsr/include/dcmtk/dcmsr/dsrscotn.h + dcmsr/include/dcmtk/dcmsr/dsrtcotn.h + dcmsr/include/dcmtk/dcmsr/dsrtextn.h + dcmsr/include/dcmtk/dcmsr/dsrtimtn.h + dcmsr/include/dcmtk/dcmsr/dsrtpltn.h + dcmsr/include/dcmtk/dcmsr/dsrtypes.h + dcmsr/include/dcmtk/dcmsr/dsruidtn.h + dcmsr/include/dcmtk/dcmsr/dsrwavtn.h + dcmsr/include/dcmtk/dcmsr/dsrwavvl.h + dcmsr/libsrc/dsrcomtn.cc + dcmsr/libsrc/dsrcomvl.cc + dcmsr/libsrc/dsrcontn.cc + dcmsr/libsrc/dsrdoc.cc + dcmsr/libsrc/dsrdoctn.cc + dcmsr/libsrc/dsrdoctr.cc + dcmsr/libsrc/dsrimgtn.cc + dcmsr/libsrc/dsrimgvl.cc + dcmsr/libsrc/dsrtpltn.cc + dcmsr/libsrc/dsrwavtn.cc + dcmsr/libsrc/dsrwavvl.cc + +**** Changes from 2024.09.04 (eichelberg) + +- Fixed minor warnings on MSVC: + Thanks to Mathieu Malaterre for the pull request. + This closes GitHub PR #109. + Affects: dcmjpls/libsrc/djcodece.cc + +**** Changes from 2024.08.26 (eichelberg) + +- Do not include in : + Removed #include from the ofdefine.h header file in order to + permit its use in C code. Added explicit #include statements in files that + previously relied on implicit inclusion through ofdefine.h. + Affects: dcmdata/include/dcmtk/dcmdata/dcdicent.h + dcmdata/include/dcmtk/dcmdata/dcrleenc.h + dcmdata/libsrc/dcvr.cc + dcmdata/libsrc/dcxfer.cc + dcmimgle/apps/dcod2lum.cc + dcmimgle/libsrc/diciefn.cc + dcmimgle/libsrc/digsdfn.cc + dcmnet/libsrc/dccfuidh.cc + ofstd/include/dcmtk/ofstd/ofdefine.h + +**** Changes from 2024.08.16 (eichelberg) + +- Reverted commit #65d4f8617: + Reverted commit #65d4f8617 since the special handling of character 0x7E + is actually not required in DICOM CP 2396. + Thanks to Mathieu Malaterre for the report and PR. + This closes GitHub PR #103. + Affects: dcmdata/libsrc/dcchrstr.cc + +**** Changes from 2024.08.16 (onken) + +- Exact values for DCMTK_ENABLE_CHARSET_CONVERSION: + Document the exact values that can be chosen for + DCMTK_ENABLE_CHARSET_CONVERSION / --enable-charconv. + Affects: INSTALL + +**** Changes from 2024.08.11 (eichelberg) + +- Fixed another minor warning. + Affects: dcmnet/libsrc/dulfsm.cc + +**** Changes from 2024.08.10 (eichelberg) + +- Fixed minor warnings caused by previous commit. + Affects: dcmnet/libsrc/dulfsm.cc + oficonv/libsrc/citrus_viqr.c + +**** Changes from 2024.08.09 (eichelberg) + +- Fixed definition of ssize_t on Win64: + On platforms where ssize_t is not defined, DCMTK so far defined it as long. + This is incorrect on Win64, where size_t is 64 bit, but long is 32-bit. + On Win64, we now define ssize_t as __int64. + Thanks to Helmut Steiner for the bug report and proposed fix. + This closes DCMTK issue #1131. + Affects: CMake/osconfig.h.in + +- Fixed compilation with GCC 15: + Fixed compilation with GCC 15, where the checking of dependent names + in templates is stricter than before. + Thanks to David Seifert for the bug report and fix. + This fixes Gentoo Linux bug #936681 (https://bugs.gentoo.org/936681). + Affects: ofstd/include/dcmtk/ofstd/ofutil.h + +**** Changes from 2024.08.07 (eichelberg) + +- Fix reading partial objects: + Fixed bug in DcmMetaInfo::read() when reading blocks in a stream object + (i.e. when using DCMTK's buffer stream). + Thanks to GitHub user akaraivanov for the bug report and pull request. + This closes GitHub pull request #27. + Affects: dcmdata/libsrc/dcmetinf.cc + +- Implemented support for DICOM CP 2311: + DICOM CP 2311 has made optional the support of the TLS 1.2 CAMELLIA + ciphersuites in GCM mode, which are not supported by OpenSSL, in the + Modified BCP 195 RFC 8996 TLS Profile. Accordingly, this TLS profile is + now enabled in DCMTK and support for Camellia is included if available in + OpenSSL, which is checked by a feature test. + Affects: config/docs/macros.txt + dcmtls/docs/certstor.dox + dcmtls/docs/ciphers.txt + dcmtls/libsrc/tlsciphr.cc + dcmtls/libsrc/tlsfmacr.h + dcmtls/libsrc/tlsopt.cc + +**** Changes from 2024.08.06 (riesmeier) + +- Fixed source code formatting. + Affects: dcmimgle/include/dcmtk/dcmimgle/diplugin.h + +- Fixed line breaks and typos. + Affects: dcmapps/docs/dcm2img.man + +- Removed trailing spaces. + Affects: dcmapps/CMakeLists.txt + +**** Changes from 2024.08.05 (eichelberg) + +- dcm2img now determines output format automatically: + The output image format is now by default determined from the + file name extension of the given output filename. + Furthermore, refactored the code that handles the (many) + image processing options into functions in order to decrease + the size of the main() routine. + Affects: dcmapps/docs/dcm2img.man + dcmapps/include/dcmtk/dcmapps/dcm2img.h + +- Initial commit of the dcm2img command line tool: + Initial commit of dcm2img, a command line tool designed to replace the older + tools dcm2pnm, dcmj2pnm and dcml2pnm. The command line options are + identical to the older tools, so that dcm2img can serve as a drop-in replacement. + The tool now supports JPEG-LS as a new export format for image files to be written. + Added: dcmapps/CMakeLists.txt + dcmapps/apps/CMakeLists.txt + dcmapps/apps/dcm2img.cc + dcmapps/docs/dcm2img.man + dcmapps/include/dcmtk/dcmapps/dcm2img.h + dcmjpls/include/dcmtk/dcmjpls/dipijpls.h + dcmjpls/libsrc/dipijpls.cc + Affects: CMakeLists.txt + dcmimgle/include/dcmtk/dcmimgle/diplugin.h + dcmjpls/libsrc/CMakeLists.txt + dcmjpls/libsrc/Makefile.in + +**** Changes from 2024.08.05 (riesmeier) + +- Documented support of STD-GEN-BD profile: + Added explicit documentation on the support for the General Purpose + Interchange on BD Media (STD-GEN-BD) Media Storage Application Profile. + The implementation did not change since the requirements for this + profile are identical to those of STD-GEN-CD and STD-GEN-DVD-RAM, apart + from the storage medium. + Affects: dcmdata/apps/dcmgpdir.cc + dcmdata/docs/dcmgpdir.man + dcmdata/include/dcmtk/dcmdata/dcddirif.h + dcmdata/libsrc/dcddirif.cc + dcmjpeg/docs/dcmmkdir.man + +**** Changes from 2024.08.02 (riesmeier) + +- Minor fixes after previous commit. + Affects: dcmnet/apps/movescu.cc + +**** Changes from 2024.08.02 (onken) + +- Remove jaricom.c completely: + Completely remove jaricom.c from jpeg library trees instead of fooling + compiler to believe its the same declararation as done in 20f1cf. + Regenerated Makefile dependencies. + Affects: dcmdata/apps/Makefile.dep + dcmdata/libi2d/Makefile.dep + dcmdata/libsrc/Makefile.dep + dcmdata/tests/Makefile.dep + dcmect/libsrc/Makefile.dep + dcmect/tests/Makefile.dep + dcmfg/libsrc/Makefile.dep + dcmfg/tests/Makefile.dep + dcmimage/apps/Makefile.dep + dcmimage/libsrc/Makefile.dep + dcmimgle/apps/Makefile.dep + dcmimgle/libsrc/Makefile.dep + dcmiod/libsrc/Makefile.dep + dcmiod/tests/Makefile.dep + dcmjpeg/apps/Makefile.dep + dcmjpeg/libijg12/CMakeLists.txt + dcmjpeg/libijg12/Makefile.dep + dcmjpeg/libijg12/Makefile.in + dcmjpeg/libijg16/CMakeLists.txt + dcmjpeg/libijg16/Makefile.dep + dcmjpeg/libijg16/Makefile.in + dcmjpeg/libijg8/CMakeLists.txt + dcmjpeg/libijg8/Makefile.dep + dcmjpeg/libijg8/Makefile.in + dcmjpeg/libsrc/Makefile.dep + dcmjpls/apps/Makefile.dep + dcmjpls/libsrc/Makefile.dep + dcmnet/apps/Makefile.dep + dcmnet/libsrc/Makefile.dep + dcmnet/tests/Makefile.dep + dcmpmap/libsrc/Makefile.dep + dcmpstat/apps/Makefile.dep + dcmpstat/libsrc/Makefile.dep + dcmqrdb/libsrc/Makefile.dep + dcmrt/apps/Makefile.dep + dcmrt/libsrc/Makefile.dep + dcmrt/tests/Makefile.dep + dcmseg/libsrc/Makefile.dep + dcmseg/tests/Makefile.dep + dcmsign/apps/Makefile.dep + dcmsign/libsrc/Makefile.dep + dcmsr/apps/Makefile.dep + dcmsr/libcmr/Makefile.dep + dcmsr/libsrc/Makefile.dep + dcmsr/tests/Makefile.dep + dcmtls/libsrc/Makefile.dep + dcmtract/libsrc/Makefile.dep + ofstd/libsrc/Makefile.dep + ofstd/tests/Makefile.dep + Removed: dcmjpeg/libijg12/jaricom.c + dcmjpeg/libijg16/jaricom.c + dcmjpeg/libijg8/jaricom.c + +- Make movescu respect output dir with +B: + Make mvoescu respect output dir provided with --output-directory if + bit preserving mode (--bit-preserving) is enabled at the same time. + Added extra brackets around if branch for more clarity and use OFString + in callback data instead of char* to be more self sufficient. + Thanks to GitHub user "luissantosHCIT" for the report and suggested fix. + Affects: dcmnet/apps/movescu.cc + dcmnet/apps/storescp.cc + +- Fix single shared lib on Ubuntu 24: + Fix single shared lib build (libdcmtk.so) if compiled with a current + compiler on Linux (tested on Ubuntu 24.04 with 13.2.0-23ubuntu4). + The declarations of a dummy table in jaricom.c in all three jpeg + bit depth branches clash if compiled into a single shared library. + Since those declarations are only dummies and identical anyway, + declaring them as "external" fixes the build. + Thanks to GitHub user "khangthk" for the report and suggested fix. + Affects: dcmjpeg/libijg12/jaricom.c + dcmjpeg/libijg16/jaricom.c + dcmjpeg/libijg8/jaricom.c + +**** Changes from 2024.08.01 (riesmeier) + +- Fixed invalid array access on EXS_Unknown: + Fixed invalid access to XferNames array for transfer syntax enum + EXS_Unknown (-1). This issue was introduced only recently with commit + 98727144c6. + Thanks to GitHub user "percontation" for the report and suggested fix. + This closes GitHub pull request #107. + Affects: dcmdata/libsrc/dcxfer.cc + +**** Changes from 2024.07.30 (eichelberg) + +- Set compiler flags for iOS appropriately: + CMake now sets the compiler flags for iOS appropriately, enabling compilation + with the ios-cmake toolchain. + Thanks to Mario Galijot for the contribution. + Affects: CMake/dcmtkPrepare.cmake + +- Changed IP protocol version parameter to enum: + Changed the parameter for selecting the IP protocol version into an enum + in order to improve encapsulation from platform specific system header files. + Affects: dcmnet/apps/dcmsend.cc + dcmnet/apps/echoscu.cc + dcmnet/apps/findscu.cc + dcmnet/apps/getscu.cc + dcmnet/apps/storescu.cc + dcmnet/apps/termscu.cc + dcmnet/include/dcmtk/dcmnet/assoc.h + dcmnet/include/dcmtk/dcmnet/dfindscu.h + dcmnet/include/dcmtk/dcmnet/dul.h + dcmnet/include/dcmtk/dcmnet/scu.h + dcmnet/libsrc/assoc.cc + dcmnet/libsrc/dfindscu.cc + dcmnet/libsrc/dulfsm.cc + dcmnet/libsrc/scu.cc + dcmpstat/apps/dcmprscu.cc + dcmpstat/apps/dcmpssnd.cc + dcmpstat/include/dcmtk/dcmpstat/dvpscf.h + dcmpstat/include/dcmtk/dcmpstat/dvpspr.h + dcmpstat/libsrc/dvpscf.cc + dcmpstat/libsrc/dvpspr.cc + +**** Changes from 2024.07.29 (eichelberg) + +- Added IPv6 support to DCMTK's association requestors: + Added support for explicitly selecting the IP protocol version (including IPv6) + to all DCMTK "client" applications that only request outgoing DICOM associations + and do not accept incoming association requests. For the latter, IPv6 support + is not yet implemented. + Affects: dcmnet/apps/dcmsend.cc + dcmnet/apps/echoscu.cc + dcmnet/apps/findscu.cc + dcmnet/apps/getscu.cc + dcmnet/apps/storescu.cc + dcmnet/apps/termscu.cc + dcmnet/docs/dcmsend.man + dcmnet/docs/echoscu.man + dcmnet/docs/findscu.man + dcmnet/docs/getscu.man + dcmnet/docs/storescu.man + dcmnet/docs/termscu.man + dcmnet/include/dcmtk/dcmnet/dfindscu.h + dcmnet/include/dcmtk/dcmnet/scu.h + dcmnet/libsrc/dfindscu.cc + dcmnet/libsrc/scu.cc + dcmpstat/apps/dcmprscu.cc + dcmpstat/apps/dcmpssnd.cc + dcmpstat/etc/dcmpstat.cfg + dcmpstat/include/dcmtk/dcmpstat/dvpscf.h + dcmpstat/include/dcmtk/dcmpstat/dvpspr.h + dcmpstat/libsrc/dvpscf.cc + dcmpstat/libsrc/dvpspr.cc + +- Allow explicit protocol selection in assoc params: + The new function ASC_setProtocolFamily() allows the IP protocol version to + be specified explicitly before an outgoing connection is requested. + By default, AF_INET (i.e. IPv4) is used in order to preserve backwards + compatibility. OFStandard::getAddressByHostname() now required the protocol + family to be passed as an explicit parameter. + Affects: dcmdata/libsrc/dcuid.cc + dcmnet/include/dcmtk/dcmnet/assoc.h + dcmnet/include/dcmtk/dcmnet/dul.h + dcmnet/libsrc/assoc.cc + dcmnet/libsrc/dulfsm.cc + dcmpstat/libsrc/dvpsmsg.cc + ofstd/include/dcmtk/ofstd/ofstd.h + ofstd/libsrc/ofstd.cc + +**** Changes from 2024.07.28 (eichelberg) + +- Fixed OFStandard::ftoa() implementation using MSVCRT: + The old Microsoft Visual C Runtime (MSVCRT) used in VS 2013 and older + prints 3 exponent digits by default, but offers a function to change + the behavior, which is called now. This issue does not exist anymore + in the Universal C Runtime used by VS 2015 or newer, but is still + present in the MinGW64 toolchain. + Affects: CMake/GenerateDCMTKConfigure.cmake + CMake/osconfig.h.in + ofstd/libsrc/ofstd.cc + ofstd/tests/tftoa.cc + +- Added client-side support for IPv6: + Minor change to OFStandard::getAddressByHostname() and requestAssociationTCP() + that allow DCMTK based clients to connect to IPv6 based servers. + Thanks to Sobhita Mercy for this contribution. + This closes GitHub pull request #99. + Affects: dcmnet/libsrc/dulfsm.cc + ofstd/libsrc/ofstd.cc + +- Removed use of std::defaultfloat, which is C++11. + Affects: ofstd/libsrc/ofstd.cc + +**** Changes from 2024.07.27 (eichelberg) + +- Added cstdio based atof and ftoa implementations: + Added implementations of OFStandard::atof() and OFStandard::ftoa() that use + cstdio functions (sscanf and snprintf, or the proprietary Win32 versions + thereof that allow a locale object to be passed) instead of iostreams + since on Windows, the iostream based implementation is about 10 times + slower than the cstdio based implementation. On other platforms, the + iostream based implementation, being the cleaner one, is used by default + since the difference in performance is relatively small there. + Furthermore added a new precision value -2 to OFStandard::ftoa() + that, when used with the default "%g" format, causes the shortest string + to be created that can be converted back to a double without loss of precision. + This is now the mode used by print routines such as + DcmFloatingPointDouble::print() and DSRReferencedTimeOffsetList::print(). + Affects: config/docs/macros.txt + dcmdata/libsrc/dcvrfd.cc + dcmsr/libsrc/dsrtcoto.cc + ofstd/include/dcmtk/ofstd/ofstd.h + ofstd/libsrc/ofstd.cc + ofstd/tests/tatof.cc + ofstd/tests/tftoa.cc + +- Fixed some ftoa unit tests. + Affects: ofstd/tests/tftoa.cc + +- New implementation of OFStandard::ftoa(): + Wrote a new implementation of OFStandard::ftoa() that internally uses + C++ iostreams for the conversion of double to text and should thus be + standard conformant on all platforms. The previous implementation, which + was in use since DCMTK 3.5.2, was found to cause rounding errors in + certain use cases. The old implementation can be re-enabled by defining + the macro ENABLE_OLD_OFSTD_FTOA_IMPLEMENTATION. + This closes DCMTK issue #860. + Affects: config/docs/macros.txt + ofstd/include/dcmtk/ofstd/ofstd.h + ofstd/libsrc/ofstd.cc + ofstd/tests/tftoa.cc + +**** Changes from 2024.07.11 (onken) + +- Don't use old-style C casts: + This enhances commit fcc015. A ticket how to further enhance the + handling of debug printout is provided has been added to the issue + tracker as item #1130. + Affects: ofstd/libsrc/ofcmdln.cc + +**** Changes from 2024.07.10 (riesmeier) + +- Added "Waveform Annotation SR" to list: + Added the Waveform Annotation SR IOD / SOP Class, which was introduced + only recently with Supplement 239, to the list of known (but not yet + supported) document types. Full support for this IOD / SOP Class will + follow in a future commit. + Affects: dcmsr/data/dsr2xml.xsd + dcmsr/include/dcmtk/dcmsr/dsrtypes.h + dcmsr/libsrc/dsrtypes.cc + +- Added support for new SR Storage SOP Class: + Added definition of new Storage SOP Class UID introduced with Supplement + 239 (Waveform Annotation SR). Also added support for this Storage SOP + Class to the various networking tools and the DICOMDIR generation code. + Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h + dcmdata/libsrc/dcddirif.cc + dcmdata/libsrc/dcuid.cc + dcmnet/docs/movescu.man + dcmnet/docs/storescp.man + dcmnet/etc/storescp.cfg + dcmnet/etc/storescu.cfg + dcmqrdb/docs/dcmqrscp.man + dcmqrdb/etc/dcmqrprf.cfg + +- Use dcmGetPropertiesOfUID() for SR documents: + Made use of new dcmGetPropertiesOfUID() function to determine the type of + a UID, in this case a Structured Reporting Storage SOP Class. It is much + easier to maintain the necessary information at a single place (dcuid.cc). + Affects: dcmqrdb/libsrc/dcmqrdbi.cc + +**** Changes from 2024.07.10 (onken) + +- Fix C++20 debug build error if wchar_t is used: + Fix C++20 compiler error if compiled with DEBUG and DCMTK_USE_WCHAR_T + enabled. + Thanks to GitHub user khangthk for the report and suggested patch. + Affects: ofstd/libsrc/ofcmdln.cc + +**** Changes from 2024.07.04 (riesmeier) + +- Updated Context Group classes for DICOM 2024c: + Updated automatically generated Context Group classes for the latest + edition of the DICOM standard. All supported classes were updated, + even though there were no changes to most of them. + Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h + dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h + dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h + dcmsr/include/dcmtk/dcmsr/cmr/cid11.h + dcmsr/include/dcmtk/dcmsr/cmr/cid218.h + dcmsr/include/dcmtk/dcmsr/cmr/cid244.h + dcmsr/include/dcmtk/dcmsr/cmr/cid247.h + dcmsr/include/dcmtk/dcmsr/cmr/cid29.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h + dcmsr/include/dcmtk/dcmsr/cmr/cid42.h + dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7551.h + dcmsr/libcmr/cid100.cc + dcmsr/libcmr/cid10013.cc + dcmsr/libcmr/cid10033.cc + dcmsr/libcmr/cid11.cc + dcmsr/libcmr/cid218.cc + dcmsr/libcmr/cid244.cc + dcmsr/libcmr/cid247.cc + dcmsr/libcmr/cid29.cc + dcmsr/libcmr/cid4020.cc + dcmsr/libcmr/cid4021.cc + dcmsr/libcmr/cid4031.cc + dcmsr/libcmr/cid42.cc + dcmsr/libcmr/cid6147.cc + dcmsr/libcmr/cid7021.cc + dcmsr/libcmr/cid7181.cc + dcmsr/libcmr/cid7445.cc + dcmsr/libcmr/cid7452.cc + dcmsr/libcmr/cid7453.cc + dcmsr/libcmr/cid7464.cc + dcmsr/libcmr/cid7469.cc + dcmsr/libcmr/cid7551.cc + +- Updated code definitions for DICOM 2024c: + Updated automatically generated code definitions for coding schemes "DCM" + and "UMLS". For the coding scheme "NCIt", there were no changes. + Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h + dcmsr/include/dcmtk/dcmsr/codes/ncit.h + dcmsr/include/dcmtk/dcmsr/codes/umls.h + +- Updated data dictionary for DICOM 2024c: + Updated data dictionary for the latest edition of the DICOM standard. + Affects: dcmdata/data/dicom.dic + dcmdata/include/dcmtk/dcmdata/dcdeftag.h + dcmdata/libsrc/dcdictbi.cc + +**** Changes from 2024.07.01 (riesmeier) + +- Revised implementation of comparison operators: + Extensively revised implementation of comparison operators in order to + avoid warnings about ambiguities reported when compiled in C++20 mode, + e.g. with newer gcc versions or clang. + Added: dcmsr/libsrc/dsrtnant.cc + Affects: dcmsr/include/dcmtk/dcmsr/dsrcitem.h + dcmsr/include/dcmtk/dcmsr/dsrcodtn.h + dcmsr/include/dcmtk/dcmsr/dsrcodvl.h + dcmsr/include/dcmtk/dcmsr/dsrcomtn.h + dcmsr/include/dcmtk/dcmsr/dsrcomvl.h + dcmsr/include/dcmtk/dcmsr/dsrcontn.h + dcmsr/include/dcmtk/dcmsr/dsrdattn.h + dcmsr/include/dcmtk/dcmsr/dsrdoctn.h + dcmsr/include/dcmtk/dcmsr/dsrdtitn.h + dcmsr/include/dcmtk/dcmsr/dsrimgtn.h + dcmsr/include/dcmtk/dcmsr/dsrimgvl.h + dcmsr/include/dcmtk/dcmsr/dsrnumtn.h + dcmsr/include/dcmtk/dcmsr/dsrnumvl.h + dcmsr/include/dcmtk/dcmsr/dsrpnmtn.h + dcmsr/include/dcmtk/dcmsr/dsrreftn.h + dcmsr/include/dcmtk/dcmsr/dsrsc3gr.h + dcmsr/include/dcmtk/dcmsr/dsrsc3tn.h + dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h + dcmsr/include/dcmtk/dcmsr/dsrscogr.h + dcmsr/include/dcmtk/dcmsr/dsrscotn.h + dcmsr/include/dcmtk/dcmsr/dsrscovl.h + dcmsr/include/dcmtk/dcmsr/dsrstrvl.h + dcmsr/include/dcmtk/dcmsr/dsrtcotn.h + dcmsr/include/dcmtk/dcmsr/dsrtcovl.h + dcmsr/include/dcmtk/dcmsr/dsrtextn.h + dcmsr/include/dcmtk/dcmsr/dsrtimtn.h + dcmsr/include/dcmtk/dcmsr/dsrtnant.h + dcmsr/include/dcmtk/dcmsr/dsrtpltn.h + dcmsr/include/dcmtk/dcmsr/dsruidtn.h + dcmsr/include/dcmtk/dcmsr/dsrwavch.h + dcmsr/include/dcmtk/dcmsr/dsrwavtn.h + dcmsr/include/dcmtk/dcmsr/dsrwavvl.h + dcmsr/libsrc/CMakeLists.txt + dcmsr/libsrc/Makefile.in + dcmsr/libsrc/dsrcitem.cc + dcmsr/libsrc/dsrcodtn.cc + dcmsr/libsrc/dsrcodvl.cc + dcmsr/libsrc/dsrcomtn.cc + dcmsr/libsrc/dsrcomvl.cc + dcmsr/libsrc/dsrcontn.cc + dcmsr/libsrc/dsrdattn.cc + dcmsr/libsrc/dsrdocst.cc + dcmsr/libsrc/dsrdoctn.cc + dcmsr/libsrc/dsrdtitn.cc + dcmsr/libsrc/dsrimgtn.cc + dcmsr/libsrc/dsrimgvl.cc + dcmsr/libsrc/dsrnumtn.cc + dcmsr/libsrc/dsrnumvl.cc + dcmsr/libsrc/dsrpnmtn.cc + dcmsr/libsrc/dsrreftn.cc + dcmsr/libsrc/dsrsc3gr.cc + dcmsr/libsrc/dsrsc3tn.cc + dcmsr/libsrc/dsrsc3vl.cc + dcmsr/libsrc/dsrscogr.cc + dcmsr/libsrc/dsrscotn.cc + dcmsr/libsrc/dsrscovl.cc + dcmsr/libsrc/dsrstrvl.cc + dcmsr/libsrc/dsrtcotn.cc + dcmsr/libsrc/dsrtcovl.cc + dcmsr/libsrc/dsrtextn.cc + dcmsr/libsrc/dsrtimtn.cc + dcmsr/libsrc/dsrtpltn.cc + dcmsr/libsrc/dsruidtn.cc + dcmsr/libsrc/dsrwavch.cc + dcmsr/libsrc/dsrwavtn.cc + dcmsr/libsrc/dsrwavvl.cc + dcmsr/tests/tsrdoctr.cc + +**** Changes from 2024.06.30 (eichelberg) + +- Simplified code of previous commit. + Affects: dcmdata/libsrc/dcchrstr.cc + +- Added special handling for ISO_IR 13: + When converting a dataset encoded in ISO_IR 13, character 0x7E must be + interpreted an overstrike character in all character strings except + in private creator elements, where it must be interpreted as '~'. + Added code for this special case. + This closes DCMTK issue #1123. + Affects: dcmdata/libsrc/dcchrstr.cc + +**** Changes from 2024.06.29 (eichelberg) + +- Fixed delimiter handling in non-ISO 2022 charsets: + Added the special handling required for delimiter characters such as the + backslash during character set conversion that was introduced with + commit #da5370947 for ISO 2022 character sets now also for non-ISO 2022 + character sets. Needed for datasets in ISO_IR 13 encoding. + Affects: dcmdata/libsrc/dcspchrs.cc + +**** Changes from 2024.06.26 (riesmeier) + +- Added support for encapsulated uncompressed xfer: + Added preliminary support for the Encapsulated Uncompressed Explicit VR + Little Endian Transfer Syntax (introduced with CP-2083) to the class + DcmStorageSCU and the command line tool dcmsend, which is based on this + class. See comments in source file and documentation for details. + Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h + dcmnet/libsrc/dstorscu.cc + +- Added encapsulated uncompressed transfer syntax: + Added initial support for the Encapsulated Uncompressed Explicit VR + Little Endian Transfer Syntax that was introduced with CP-2083. + This initial support includes reading and writing of DICOM files and + data sets that are encoded with this new transfer syntax as well as + basic network support (including some of the command line tools). + What is still missing is the transcoding to and from the three other + uncompressed transfer syntaxes that use the native format for encoding + pixel data. + This partly closes DCMTK Conformance #1000. + Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h + dcmdata/include/dcmtk/dcmdata/dcxfer.h + dcmdata/libsrc/dcuid.cc + dcmdata/libsrc/dcxfer.cc + dcmnet/apps/echoscu.cc + dcmnet/apps/movescu.cc + dcmnet/apps/storescp.cc + dcmnet/docs/echoscu.man + dcmnet/docs/movescu.man + dcmnet/docs/storescp.man + dcmnet/docs/storescu.man + dcmnet/etc/storescp.cfg + dcmnet/etc/storescu.cfg + dcmnet/libsrc/dimse.cc + dcmqrdb/docs/dcmqrscp.man + dcmqrdb/etc/dcmqrprf.cfg + +- Added missing Transfer Syntaxes to --accept-all: + Added missing fragmentable MPEG2/MPEG-4 and HTJ2K Transfer Syntaxes + to the --accept-all option. + Affects: dcmnet/apps/movescu.cc + dcmnet/docs/movescu.man + +**** Changes from 2024.06.21 (onken) + +- Fixed compare() method for text-based VRs: + The polymorphic compare() method can be used to compare DICOM elements, + items, sequences, i.e. the full DcmObject hierarchy. There was a bug in + VRs LT, ST, UR and UT that returned "equal" even if two elements are not + not equal (in case both elements have the same number of values, + same string length but not the same value). + Thanks to Marcel Pham for the report and + analysis. + Affects: dcmdata/libsrc/dcvrlt.cc + dcmdata/libsrc/dcvrst.cc + dcmdata/libsrc/dcvrur.cc + dcmdata/libsrc/dcvrut.cc + dcmdata/tests/tvrcomp.cc + +**** Changes from 2024.06.18 (riesmeier) + +- Enhanced documentation of getReferencedInstances: + Enhanced API documentation of the getReferencedInstances() method based + on the recently approved CP-2357. + Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h + +**** Changes from 2024.06.14 (riesmeier) + +- Fixed wrong internal VR in checkAndUpdateVR(): + Fixed wrong internal VR for Pixel Data (7fe0,0010) in checkAndUpdateVR(). + Should be "px" instead of "ox", as introduced with commit 2acbe096ef. + Affects: dcmdata/libsrc/dcitem.cc + +- Made sure that ambiguous VRs are mapped correctly: + Made sure that ambiguous VRs, such as "ox" used internally for "OB" or + "OW", are mapped to an appropriate standard VR when reading a dataset + with the global parser option dcmPreferVRFromDataDictionary being enabled. + Thanks to forum user "andreasb" for the original report and GitHub user + "mrbean-bremen" for the pull request and proposed patch. + Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h + dcmdata/libsrc/dcitem.cc + dcmdata/tests/tests.cc + dcmdata/tests/tparser.cc + +**** Changes from 2024.06.12 (onken) + +- Fixed string trimming in verify() method: + Fixed crash in DcmByteString triggered when trimming the last + string value to 16 (the maximum allowed number of bytes for a single + value). + Thanks to Mathieu Malaterre for the report. + Affects: dcmdata/libsrc/dcbytstr.cc + +**** Changes from 2024.05.31 (eichelberg) + +- Use snprintf() instead of sprintf() if available: + Use snprintf() instead of sprintf() in C code if available on the platform. + Affects: dcmjpeg/libijg12/jerror.c + dcmjpeg/libijg16/jerror.c + dcmjpeg/libijg8/jerror.c + +**** Changes from 2024.05.28 (riesmeier) + +- Use xmlReadFile() instead of xmlParseFile(): + Replaced call of xmlParseFile() with xmlReadFile() when compiling with + newer versions of libxml2, because xmlParseFile() is deprecated according + to the API documentation. Also set read flag XML_PARSE_NONET to prevent + any network access. + Affects: dcmsr/libsrc/dsrxmld.cc + +- Added XML_PARSE_NONET flag to xmlReadFile(): + Made sure that xmlReadFile() does not access the network, e.g. for + loading an external DTD. Also before, this was most probably never the + case, but now it should be absolutely sure. + Affects: dcmdata/libdcxml/xml2dcm.cc + +**** Changes from 2024.05.27 (riesmeier) + +- Avoid using deprecated libxml2 API: + Avoid using libxml2 functions and global variables for configuring the + XML parser, because they have been deprecated in newer versions of + libxml2. Before this commit, warnings were reported when compiling DCMTK + with libxml2 version 2.12.x (and above). + This (hopefully) closes DCMTK Bug #1094. + Affects: dcmdata/libdcxml/xml2dcm.cc + dcmsr/libsrc/dsrxmld.cc + +- Deprecated DcmXfer::isEncapsulated(): + Deprecated DcmXfer::isEncapsulated() and DcmXfer::isNotEncapsulated() + using OFdeprecated, i.e. now the compiler reports a warning when one of + these methods is used. + Affects: dcmdata/include/dcmtk/dcmdata/dcxfer.h + +**** Changes from 2024.05.27 (onken) + +- Remove pixel data compression check: + Remove check regarding pixel data compression since tractography results + never contain pixel data at all. + Affects: dcmtract/libsrc/trctractographyresults.cc + +**** Changes from 2024.05.25 (riesmeier) + +- Replaced calls of DcmXfer::isEncapsulated(): + Replaced calls of DcmXfer::isEncapsulated() and isNotEncapsulated() + by the new methods such as hasEncapsulatedFormat(), hasNativeFormat() + and isPixelDataCompressed(), because they are deprecated. + This is another step towards supporting the Encapsulated Uncompressed + Explicit VR Little Endian Transfer Syntax (see DCMTK Conformance #1000). + Affects: dcmdata/apps/dcmcrle.cc + dcmdata/apps/dump2dcm.cc + dcmdata/apps/mdfdsman.cc + dcmdata/apps/xml2dcm.cc + dcmdata/libi2d/i2d.cc + dcmdata/libsrc/dcdatset.cc + dcmdata/libsrc/dcpixel.cc + dcmdata/libsrc/dcpixseq.cc + dcmdata/libsrc/dcrleccd.cc + dcmdata/libsrc/dcrlecce.cc + dcmdata/libsrc/dcvrobow.cc + dcmect/libsrc/enhanced_ct.cc + dcmimgle/include/dcmtk/dcmimgle/didocu.h + dcmimgle/libsrc/didocu.cc + dcmiod/libsrc/iodutil.cc + dcmjpeg/apps/dcmcjpeg.cc + dcmjpeg/libsrc/djcodecd.cc + dcmjpeg/libsrc/djcodece.cc + dcmjpls/apps/dcmcjpls.cc + dcmjpls/libsrc/djcodecd.cc + dcmjpls/libsrc/djcodece.cc + dcmnet/apps/getscu.cc + dcmnet/apps/storescu.cc + dcmpmap/libsrc/dpmparametricmapiod.cc + dcmseg/libsrc/segdoc.cc + dcmtract/libsrc/trctractographyresults.cc + +- Removed defines that were only needed for ICU. + Affects: dcmdata/include/dcmtk/dcmdata/dcmxml/xml2dcm.h + dcmsr/apps/xml2dsr.cc + dcmsr/include/dcmtk/dcmsr/dsrxmlc.h + +- Removed references to ICU from documentation. + Affects: COPYRIGHT + INSTALL + dcmdata/docs/dcm2json.man + +**** Changes from 2024.05.25 (eichelberg) + +- Doxygen @copydoc now always refers to parent class: + Where the DCMTK API doxygen documentation uses @copydoc, it now always directly + references the immediate parent class. + This closes DCMTK issue #1057. + Affects: dcmdata/include/dcmtk/dcmdata/dcchrstr.h + dcmdata/include/dcmtk/dcmdata/dcdatset.h + dcmdata/include/dcmtk/dcmdata/dcfilefo.h + dcmdata/include/dcmtk/dcmdata/dcmetinf.h + dcmdata/include/dcmtk/dcmdata/dcpixel.h + dcmdata/include/dcmtk/dcmdata/dcpixseq.h + dcmdata/include/dcmtk/dcmdata/dcpxitem.h + dcmdata/include/dcmtk/dcmdata/dcsequen.h + dcmdata/include/dcmtk/dcmdata/dcvrae.h + dcmdata/include/dcmtk/dcmdata/dcvrcs.h + dcmdata/include/dcmtk/dcmdata/dcvrda.h + dcmdata/include/dcmtk/dcmdata/dcvrur.h + +- Fixed symbol conflict with libjpeg-turbo: + Starting with version 3.0, libjpeg-turbo has added support for lossless + compression. Some of this new code uses the same function names as dcmjpeg, + leading to symbol conflicts if both libraries are used in parallel. + This has now been fixed by renaming the functions in DCMTK. + Thanks to Kevin Leonardic for the report and pull request. + This closes DCMTK issue #1103. + Affects: dcmjpeg/include/dcmtk/dcmjpeg/djdijg12.h + dcmjpeg/include/dcmtk/dcmjpeg/djdijg16.h + dcmjpeg/include/dcmtk/dcmjpeg/djdijg8.h + dcmjpeg/include/dcmtk/dcmjpeg/djeijg12.h + dcmjpeg/include/dcmtk/dcmjpeg/djeijg16.h + dcmjpeg/include/dcmtk/dcmjpeg/djeijg8.h + dcmjpeg/libijg12/jchuff12.h + dcmjpeg/libijg12/jdct12.h + dcmjpeg/libijg12/jdhuff12.h + dcmjpeg/libijg12/jmemsys12.h + dcmjpeg/libijg12/jpegint12.h + dcmjpeg/libijg12/jpeglib12.h + dcmjpeg/libijg16/jchuff16.h + dcmjpeg/libijg16/jdct16.h + dcmjpeg/libijg16/jdhuff16.h + dcmjpeg/libijg16/jmemsys16.h + dcmjpeg/libijg16/jpegint16.h + dcmjpeg/libijg16/jpeglib16.h + dcmjpeg/libijg8/jchuff8.h + dcmjpeg/libijg8/jdct8.h + dcmjpeg/libijg8/jdhuff8.h + dcmjpeg/libijg8/jmemsys8.h + dcmjpeg/libijg8/jpegint8.h + dcmjpeg/libijg8/jpeglib8.h + dcmjpeg/libsrc/djdijg12.cc + dcmjpeg/libsrc/djdijg16.cc + dcmjpeg/libsrc/djdijg8.cc + dcmjpeg/libsrc/djeijg12.cc + dcmjpeg/libsrc/djeijg16.cc + dcmjpeg/libsrc/djeijg8.cc + +- Removed support for ICU-based charset conversion: + Since the oficonv module in DCMTK is available now and supports all + DICOM Specific Character Sets, the ICU support, which was never + complete, has been removed. + This closes DCMTK issue #1110. + Affects: CMake/3rdparty.cmake + CMake/DCMTKConfig.cmake.in + CMake/DCMTKConfig.old_cmake.in + CMake/GenerateDCMTKConfigure.cmake + CMake/dcmtkPrepare.cmake + CMake/osconfig.h.in + config/configure + config/configure.in + config/include/dcmtk/config/osconfig.h.in + dcmdata/libsrc/dcspchrs.cc + ofstd/libsrc/ofchrenc.cc + Removed: CMake/FindICU.cmake + +- Fixed handling of ISO_IR 13 in charset conversion: + Previously, the oficonv implementation of character set conversion silently + accepted two-byte Shift-JIS characters when ISO_IR 13 (JIS X0201) was active + as the input character set. DICOM does not support Shift-JIS. The behavior + of the oficonv implementation is now consistent with GNU libiconv. + Thanks to David Gobbi and Mathieu Malaterre + for the bug report and sample file. + This closes DCMTK issue #1112. + Affects: dcmdata/libsrc/dcspchrs.cc + oficonv/data/esdb/MISC/JISX0201-KANA.esdb + oficonv/datasrc/esdb/MISC/JISX0201-KANA.src + oficonv/libsrc/esdb_misc_jisx0201_kana_esdb.h + oficonv/tests/ticonv_japanese.cc + +**** Changes from 2024.05.17 (eichelberg) + +- Avoid dereferencing zeroth element of empty vector: + class DcmTLSCiphersuiteHandler contains two methods that sort a + list of ciphersuites. This caused an access violation of the list + to be sorted was empty (which could never happen with the command + line tools, but was possible in user code if no security profile + was activated). This is now fixed. + Thanks to Piotr Batko for the bug report. + This closes GitHub pull request #97. + Affects: dcmtls/libsrc/tlsciphr.cc + +**** Changes from 2024.05.15 (eichelberg) + +- Fixed minor warning in C++20 build. + Affects: oflog/include/dcmtk/oflog/thread/impl/syncpthr.h + +**** Changes from 2024.05.11 (eichelberg) + +- Replaced sprintf() by snprintf(): + Replaced all occurences of sprintf() in modules dcmiod, dcmjpls, dcmqrdb, + dcmseg, dcmsign, dcmtract, and dcmwlm by the safer OFStandard::snprintf(). + Affects: dcmiod/libsrc/iodmacro.cc + dcmiod/libsrc/iodreferences.cc + dcmjpls/libsrc/djcodecd.cc + dcmjpls/libsrc/djcodece.cc + dcmqrdb/apps/dcmqrscp.cc + dcmqrdb/apps/dcmqrti.cc + dcmqrdb/libsrc/dcmqrdbi.cc + dcmqrdb/libsrc/dcmqrtis.cc + dcmseg/tests/tbigdim.cc + dcmsign/libsrc/dcsighlp.cc + dcmsign/libsrc/dcsignat.cc + dcmtract/libsrc/trcmeasurement.cc + dcmwlm/apps/wlcefs.cc + dcmwlm/libsrc/wlfsim.cc + +- Replaced sprintf() by snprintf(): + Replaced all occurences of sprintf() in modules dcmimgle and dcmimage + by the safer OFStandard::snprintf(). + Affects: dcmimage/libsrc/dicoimg.cc + dcmimage/libsrc/dipipng.cc + dcmimage/libsrc/diqtctab.cc + dcmimage/libsrc/diquant.cc + dcmimgle/include/dcmtk/dcmimgle/diplugin.h + dcmimgle/libsrc/dcmimage.cc + dcmimgle/libsrc/diimage.cc + dcmimgle/libsrc/dimoimg.cc + +- Replaced sprintf() by snprintf(): + Replaced all occurences of sprintf() in module dcmsr by the safer + OFStandard::snprintf(). + Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h + dcmsr/libsrc/dsrdoctn.cc + dcmsr/libsrc/dsrimgfr.cc + dcmsr/libsrc/dsrposcn.cc + dcmsr/libsrc/dsrreftn.cc + dcmsr/libsrc/dsrtypes.cc + +**** Changes from 2024.05.10 (eichelberg) + +- Replaced sprintf() by snprintf(): + Replaced all occurences of sprintf() in module dcmpstat by the safer + OFStandard::snprintf(). + Affects: dcmpstat/apps/dcmmklut.cc + dcmpstat/apps/dcmp2pgm.cc + dcmpstat/apps/dcmprscp.cc + dcmpstat/apps/dcmpschk.cc + dcmpstat/apps/dcmpssnd.cc + dcmpstat/libsrc/dcmpstat.cc + dcmpstat/libsrc/dviface.cc + dcmpstat/libsrc/dvpsall.cc + dcmpstat/libsrc/dvpscf.cc + dcmpstat/libsrc/dvpsda.cc + dcmpstat/libsrc/dvpsga.cc + dcmpstat/libsrc/dvpsgl.cc + dcmpstat/libsrc/dvpspr.cc + dcmpstat/libsrc/dvpsri.cc + dcmpstat/libsrc/dvpsril.cc + dcmpstat/libsrc/dvpssp.cc + dcmpstat/libsrc/dvpstat.cc + dcmpstat/libsrc/dvpsvl.cc + dcmpstat/libsrc/dvsighdl.cc + +**** Changes from 2024.05.09 (eichelberg) + +- Replaced sprintf() by snprintf(): + Replaced all occurences of sprintf() in module dcmnet by the safer + OFStandard::snprintf(). + Affects: dcmnet/apps/echoscu.cc + dcmnet/apps/getscu.cc + dcmnet/apps/movescu.cc + dcmnet/apps/storescp.cc + dcmnet/apps/storescu.cc + dcmnet/apps/termscu.cc + dcmnet/libsrc/assoc.cc + dcmnet/libsrc/cond.cc + dcmnet/libsrc/dcasccff.cc + dcmnet/libsrc/dcuserid.cc + dcmnet/libsrc/dfindscu.cc + dcmnet/libsrc/dimcancl.cc + dcmnet/libsrc/dimcmd.cc + dcmnet/libsrc/dimecho.cc + dcmnet/libsrc/dimfind.cc + dcmnet/libsrc/dimget.cc + dcmnet/libsrc/dimmove.cc + dcmnet/libsrc/dimse.cc + dcmnet/libsrc/dimstore.cc + dcmnet/libsrc/diutil.cc + dcmnet/libsrc/dul.cc + dcmnet/libsrc/dulconst.cc + dcmnet/libsrc/dulfsm.cc + dcmnet/libsrc/dulparse.cc + dcmnet/libsrc/scu.cc + +- Replaced sprintf() by snprintf(): + Replaced all occurences of sprintf() in C++ code in + module dcmjpeg by the safer OFStandard::snprintf(). + Affects: dcmjpeg/libsrc/djcodecd.cc + dcmjpeg/libsrc/djencbas.cc + dcmjpeg/libsrc/djencext.cc + dcmjpeg/libsrc/djenclol.cc + dcmjpeg/libsrc/djencpro.cc + dcmjpeg/libsrc/djencsps.cc + dcmjpeg/libsrc/djencsv1.cc + +- Replaced sprintf() by snprintf(): + Replaced all occurences of sprintf() in module dcmdata by the safer + OFStandard::snprintf(). + Affects: dcmdata/apps/mdfconen.cc + dcmdata/libi2d/i2d.cc + dcmdata/libi2d/i2djpgs.cc + dcmdata/libsrc/dcddirif.cc + dcmdata/libsrc/dcdicent.cc + dcmdata/libsrc/dcencdoc.cc + dcmdata/libsrc/dcpath.cc + dcmdata/libsrc/dcrleccd.cc + dcmdata/libsrc/dctagkey.cc + dcmdata/libsrc/dcuid.cc + dcmdata/libsrc/dcvrat.cc + dcmdata/libsrc/dcvrobow.cc + dcmdata/libsrc/dcvrsl.cc + dcmdata/libsrc/dcvrss.cc + dcmdata/libsrc/dcvrsv.cc + dcmdata/libsrc/dcvrul.cc + dcmdata/libsrc/dcvrus.cc + dcmdata/libsrc/dcvruv.cc + +- Replaced sprintf() by snprintf(): + Replaced all occurences of sprintf() in module ofstd by the safer + OFStandard::snprintf(). + Affects: ofstd/libsrc/ofchrenc.cc + ofstd/libsrc/ofdate.cc + ofstd/libsrc/ofstd.cc + ofstd/libsrc/oftime.cc + +**** Changes from 2024.04.29 (riesmeier) + +- Fixed crash shutting down via private SOP class: + Fixed crash (segmentation fault) when shutting down the application via + the private SOP Class. This issue was introduced with commit c34f4e46e6, + which fixed a memory leak. + Thanks to DCMTK forum user "nbeck" for the original report. + Affects: dcmqrdb/libsrc/dcmqrsrv.cc + +- Fixed issue with error handling (TLS support): + Fixed issue with error handling that was introduced with commit + 96955b1573, i.e. when adding support for TLS. + Affects: dcmqrdb/apps/dcmqrscp.cc + +**** Changes from 2024.04.22 (riesmeier) + +- Fixed wrong error handling (previous commit): + Fixed wrong error handling introduced with the previous commit. + Affects: dcmrt/libsrc/drttypes.cc + dcmsr/libsrc/dsrtypes.cc + +**** Changes from 2024.04.22 (eichelberg) + +- Fixed unchecked typecasts and fixed LUT handling: + This commit adds further fixes for unchecked typecasts of DcmItem::search() + results (see description of previous commit). Furthermore, this commit + specifically addresses the handling of look-up tables (LUTs) in module + dcmpstat, where attribute (0028,3006) LUTData may use either US or OW + value representation, and (0028,3002) LUTDescriptor may be either US or SS. + The code should now properly handle all permitted value representations. + LUTData is now always written as OW in order to avoid the 64k size limit + for US in explicit VR encoding. + Thanks to Martin Zeiser from the Cisco Talos team + for the bug report (TALOS-2024-1957). + Together with the previous commit, this closes DCMTK issue #1120. + Affects: dcmpstat/libsrc/dcmpstat.cc + dcmpstat/libsrc/dvpspl.cc + dcmpstat/libsrc/dvpssv.cc + dcmpstat/libsrc/dvpssvl.cc + dcmpstat/libsrc/dvpstat.cc + dcmpstat/libsrc/dvpsvl.cc + +- Fixed unchecked typecasts of DcmItem::search results: + DcmItem::search() returns a stack of DcmObject pointers as search results. + These pointers in most instances need to be casted to DcmItem, DcmElement + or a subclass of these. In many cases, the type of the object was not + properly checked before the typecast. This could lead to segmentation faults + when invalid DICOM datasets were processed where elements had the wrong + value representation. + Affects: dcmdata/apps/cda2dcm.cc + dcmdata/apps/stl2dcm.cc + dcmdata/include/dcmtk/dcmdata/dcelem.h + dcmdata/include/dcmtk/dcmdata/dcencdoc.h + dcmdata/include/dcmtk/dcmdata/dcobject.h + dcmdata/libsrc/dcddirif.cc + dcmdata/libsrc/dcdirrec.cc + dcmdata/libsrc/dcfilefo.cc + dcmdata/libsrc/dcitem.cc + dcmimgle/libsrc/didocu.cc + dcmiod/libsrc/iodutil.cc + dcmjpeg/libsrc/djcodece.cc + dcmnet/apps/storescu.cc + dcmnet/libsrc/dimcmd.cc + dcmnet/libsrc/diutil.cc + dcmnet/libsrc/dstorscu.cc + dcmpstat/apps/dcmmklut.cc + dcmpstat/apps/dcmpschk.cc + dcmpstat/libsrc/dviface.cc + dcmpstat/libsrc/dvpsabl.cc + dcmpstat/libsrc/dvpscu.cc + dcmpstat/libsrc/dvpsdal.cc + dcmpstat/libsrc/dvpsfs.cc + dcmpstat/libsrc/dvpsgal.cc + dcmpstat/libsrc/dvpsgll.cc + dcmpstat/libsrc/dvpsgrl.cc + dcmpstat/libsrc/dvpshlp.cc + dcmpstat/libsrc/dvpsib.cc + dcmpstat/libsrc/dvpsibl.cc + dcmpstat/libsrc/dvpspll.cc + dcmpstat/libsrc/dvpsril.cc + dcmpstat/libsrc/dvpsrsl.cc + dcmpstat/libsrc/dvpssp.cc + dcmpstat/libsrc/dvpstxl.cc + dcmpstat/libsrc/dvpsvll.cc + dcmrt/libsrc/drttypes.cc + dcmsign/libsrc/dcsignat.cc + dcmsign/libsrc/sicert.cc + dcmsr/libsrc/dsrtypes.cc + +**** Changes from 2024.04.19 (onken) + +- Removed unused header. + Affects: dcmnet/libsrc/dulfsm.cc + +- Guard malloced buffer to ensure they are freed: + Use a small wrapper class for managing a buffer + malloced outside in order to ensure it is always + freed when the buffer allocating method returns. + Affects: dcmnet/libsrc/dulfsm.cc + +**** Changes from 2024.04.17 (eichelberg) + +- Fixed Visual Studio warning. + Affects: ofstd/tests/tstl.cc + +- Declared another variable volatile. + Affects: ofstd/tests/tlimits.cc + +- Fixed previous commit. + Affects: ofstd/tests/tlimits.cc + +**** Changes from 2024.04.16 (eichelberg) + +- Fixed C++20 warnings. + Affects: dcmjpls/libcharls/config.h + ofstd/tests/tlimits.cc + +- Fixed minor warnings. + Affects: ofstd/include/dcmtk/ofstd/ofvriant.h + +**** Changes from 2024.04.15 (riesmeier) + +- Marked some CMake variables as "advanced". + Affects: CMake/dcmtkPrepare.cmake + oficonv/datasrc/CMakeLists.txt + +- Updated information on latest CMake version. + Affects: CMakeLists.txt + INSTALL + +**** Changes from 2024.04.11 (onken) + +- Fix C++11 OFVariant build on VS 2017: + This fixes C++11-enabled build of OFVariant on Visual Studio 2017. The + class failed to compile due to the compiler's incomplete or buggy C++11 + support. The commited workaround works right now, though OFVariant's + assignment operator may be updated later as well. + Thanks to Jan Schlamelcher for the analysis and suggested patch. + Affects: ofstd/include/dcmtk/ofstd/ofvriant.h + +**** Changes from 2024.04.07 (eichelberg) + +- Fixed unit tests for previous commit. + Affects: oficonv/tests/tables_iso8859.h + +- Removed garbage from oficonv mapping tables: + The iconv mapping tables from Unicode to ISO-8859-2 and ISO-8859-3 contained + many incorrect mappings where characters not available in the ISO character set + were mapped to four character sequences essentially containing garbage. + This has been fixed now. Furthermore, duplicate lines in the ISO-8859-5 table + were removed. These issues are also present in the original FreeBSD source + from which oficonv has been ported. They have been reported to FreeBSD + as FreeBSD Bug 278229. + Thanks to DCMTK forum user Fabian Günther for the bug report. + This closes DCMTK issue #1113. + Affects: oficonv/data/csmapper/ISO-8859/UCS%ISO-8859-2.mps + oficonv/data/csmapper/ISO-8859/UCS%ISO-8859-3.mps + oficonv/datasrc/csmapper/ISO-8859/UCS%ISO-8859-2.src + oficonv/datasrc/csmapper/ISO-8859/UCS%ISO-8859-3.src + oficonv/datasrc/csmapper/ISO-8859/UCS%ISO-8859-5.src + oficonv/libsrc/csmapper_iso_8859_ucs_iso_8859_2_mps.h + oficonv/libsrc/csmapper_iso_8859_ucs_iso_8859_3_mps.h + +**** Changes from 2024.04.04 (riesmeier) + +- Added warning on "FIXME" comments: + Added a warning to the documentation that the implementation of the OFUUID + class still contains a few "FIXME" comments and should, therefore, not be + used in productive environments as long as these corrections have not yet + been implemented. + Affects: ofstd/include/dcmtk/ofstd/ofuuid.h + +**** Changes from 2024.04.03 (riesmeier) + +- Updated Context Group classes for DICOM 2024b: + Updated automatically generated Context Group classes for the latest + edition of the DICOM standard. All supported classes were updated, + even though there were no changes to most of them. + Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h + dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h + dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h + dcmsr/include/dcmtk/dcmsr/cmr/cid11.h + dcmsr/include/dcmtk/dcmsr/cmr/cid218.h + dcmsr/include/dcmtk/dcmsr/cmr/cid244.h + dcmsr/include/dcmtk/dcmsr/cmr/cid247.h + dcmsr/include/dcmtk/dcmsr/cmr/cid29.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h + dcmsr/include/dcmtk/dcmsr/cmr/cid42.h + dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7551.h + dcmsr/libcmr/cid100.cc + dcmsr/libcmr/cid10013.cc + dcmsr/libcmr/cid10033.cc + dcmsr/libcmr/cid11.cc + dcmsr/libcmr/cid218.cc + dcmsr/libcmr/cid244.cc + dcmsr/libcmr/cid247.cc + dcmsr/libcmr/cid29.cc + dcmsr/libcmr/cid4020.cc + dcmsr/libcmr/cid4021.cc + dcmsr/libcmr/cid4031.cc + dcmsr/libcmr/cid42.cc + dcmsr/libcmr/cid6147.cc + dcmsr/libcmr/cid7021.cc + dcmsr/libcmr/cid7181.cc + dcmsr/libcmr/cid7445.cc + dcmsr/libcmr/cid7452.cc + dcmsr/libcmr/cid7453.cc + dcmsr/libcmr/cid7464.cc + dcmsr/libcmr/cid7469.cc + dcmsr/libcmr/cid7551.cc + +- Updated code definitions for DICOM 2024b: + Updated automatically generated code definitions for coding schemes "DCM" + and "NCIt". For the coding scheme "UMLS", there were no changes. + Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h + dcmsr/include/dcmtk/dcmsr/codes/ncit.h + dcmsr/include/dcmtk/dcmsr/codes/umls.h + +- Updated data dictionary for DICOM 2024b: + Updated data dictionary for the latest edition of the DICOM standard. + Affects: dcmdata/data/dicom.dic + dcmdata/include/dcmtk/dcmdata/dcdeftag.h + dcmdata/libsrc/dcdictbi.cc + +**** Changes from 2024.03.29 (riesmeier) + +- Report on missing support for color images: + Output a message to the debug logger if support for color images has not + been registered to the respective program/application. + Thanks to GitHub user "malaterre" for the original pull request. + Affects: dcmimgle/libsrc/dcmimage.cc + +**** Changes from 2024.03.22 (onken) + +- Removed developer debug output: + Removed developer debug output accidentially checked in with last commit. + Affects: dcmdata/apps/mdfdsman.cc + +- Updated Makefile dependencies. + Affects: dcmdata/apps/Makefile.dep + dcmdata/libdcxml/Makefile.dep + dcmdata/tests/Makefile.dep + dcmsr/libsrc/Makefile.dep + oficonv/apps/Makefile.dep + oficonv/libsrc/Makefile.dep + ofstd/tests/Makefile.dep + +- Use more specific header files instead of dctk.h. + Affects: dcmdata/apps/mdfdsman.cc + +- Refactored code for reusabiltity and consistence. + Affects: dcmdata/apps/mdfdsman.cc + dcmdata/apps/mdfdsman.h + +- Fix comment on new method implementation. + Affects: dcmdata/libsrc/dcpath.cc + +- Make sure __cplusplus macro is not set too early: + The __cplusplus macro is used in DCMTK code to check whether the compiler + can handle C++11 and above features (if enabled). VS only sets this macro + if explicitly requested. The CMake code commited in 79bb19 evaluates + too early, whether the macro should be checked (before detecting whether + we want to enable C++11 or above at all), leading to the situtation that + the macro is only set when running CMake at least twice. + Now the necessity for the macro is checked at the right position. + Affects: CMake/GenerateDCMTKConfigure.cmake + +- Use existing method to check for illegal groups. + Affects: dcmdata/apps/mdfdsman.cc + dcmdata/include/dcmtk/dcmdata/dcpath.h + dcmdata/libsrc/dcpath.cc + +- Export CMAKE_CXX_STANDARD into DCMTKConfig.cmake: + Export CMAKE_CXX_STANDARD as DCMTK_CMAKE_CXX_STANDARD to + DCMTKConfig.cmake in order to allow projects to configure themselves + accordingly when integrating with DCMTK. + Affects: CMake/DCMTKConfig.cmake.in + +- Put CMAKE_CXX_STANDARD into CMake Cache: + This allows easier editing and transparency for users. The variable is + marked as advanced. + Affects: CMakeLists.txt + +**** Changes from 2024.03.22 (riesmeier) + +- Various minor fixes to documentation: + Fixed typos and line breaks, and consistently capitalized "Autoconf". + Affects: HISTORY + INSTALL + config/aclocal.m4 + config/docs/config.dox + config/docs/config.txt + +**** Changes from 2024.03.21 (onken) + +- Enable C++ standard version 11 (CXX11) per default: + C++ standard version support is implemented using CMake's + CMAKE_CXX_STANDARD mechanism which is supported by the minimum version + DCMTK requires at this time. The workaround for older CMake versions + (DCMTK_CXX11_FLAGS) has been removed. + The documentation (mainly cxx11.dox) has been adapted to reflect this new + build setup. + Unused CMake code has been removed and the remaining C++ standard version + mechanisms documented. + Autoconf support for enabling STL (and STL features) as well as C++11 in + general is still in place and working but still lacks support for enabling + standard versions beyond C++11. + Affects: CMake/DCMTKConfig.cmake.in + CMake/DCMTKConfig.old_cmake.in + CMake/GenerateDCMTKConfigure.cmake + CMake/dcmtkPrepare.cmake + CMakeLists.txt + INSTALL + config/docs/config.dox + config/docs/cxx11.dox + oflog/include/dcmtk/oflog/config.h + +**** Changes from 2024.03.20 (riesmeier) + +- Renamed parameter to avoid compiler warnings: + Renamed parameter to avoid compiler warning on hidden class member (MSVC). + Affects: dcmdata/include/dcmtk/dcmdata/dctag.h + dcmdata/libsrc/dctag.cc + +**** Changes from 2024.03.19 (riesmeier) + +- Enhanced implementaton of findTagFromName(): + Enhanced implementation and documentation of the findTagFromName() + method. Now, also the tag name and the private creator identifier are + copied from the data dictionary if an attribute was found by its name. + Made clear that private Attributes are also supported to some extent. + Enhanced and fixed formatting of documentation of related classes. + Affects: dcmdata/include/dcmtk/dcmdata/dcdicent.h + dcmdata/include/dcmtk/dcmdata/dcdict.h + dcmdata/include/dcmtk/dcmdata/dctag.h + dcmdata/libsrc/dcdict.cc + dcmdata/libsrc/dctag.cc + +**** Changes from 2024.03.19 (eichelberg) + +- Fixed warning in STL unit tests. + Affects: ofstd/tests/tstl.cc + +**** Changes from 2024.03.18 (eichelberg) + +- Fixed STL unit tests. + Affects: ofstd/tests/tstl.cc + +**** Changes from 2024.03.18 (riesmeier) + +- Updated minimum required CMake version: + Updated minimum required CMake version in documentation. See commit + 5fbaeeafc for the corresponding change to the CMake files. + Affects: INSTALL + +**** Changes from 2024.03.17 (riesmeier) + +- Removed further outdated Autoconf tests: + See commit 0623e920f for details and the corresponding CMake changes. + Affects: config/configure + config/configure.in + config/include/dcmtk/config/osconfig.h.in + +**** Changes from 2024.03.17 (eichelberg) + +- Revised handling of STL features at configure time: + Revised the handling of DCMTK_ENABLE_STL and the related configure flags such + as DCMTK_ENABLE_STL_LIST, DCMTK_ENABLE_STL_STRING etc. Previously, enabling + STL features caused a test program to be compiled an run, which makes it + difficult to cross-compile DCMTK. Since the STL implementations can be + considered stable now, the STL features of C++98 will simply be enabled + when requested by DCMTK_ENABLE_STL or a related option, and the STL features + of C++11 will be enabled when requested and the C++11 header files related + to these features are present. The test cases have been moved to a set of + unit tests in commit #e68e43878. + Affects: CMake/GenerateDCMTKConfigure.cmake + CMake/osconfig.h.in + INSTALL + ofstd/tests/tstl.cc + +- Bumped minimum CMake version required to 3.1.3. + Affects: CMakeLists.txt + +- Added unit tests for STL features: + Added unit tests for STL features derived from the tests that have so far + been executed at configure time, but caused difficulties there in + cross-compilation settings. + Added: ofstd/tests/tstl.cc + Affects: ofstd/tests/CMakeLists.txt + ofstd/tests/Makefile.in + ofstd/tests/tests.cc + +- Fixed bug in OF_AdjacentFind(): + Fixed return type in OF_AdjacentFind(). Apparently this function has never + been used, because it never worked. + Affects: ofstd/include/dcmtk/ofstd/ofalgo.h + +**** Changes from 2024.03.16 (eichelberg) + +- Removed configure tests for socket functions: + Removed configure tests for the BSD socket functions. These are present + on all supported platforms, and DCMTK can in any case not be compiled + without them. + Affects: CMake/GenerateDCMTKConfigure.cmake + CMake/osconfig.h.in + dcmdata/libsrc/dcuid.cc + dcmnet/include/dcmtk/dcmnet/dcompat.h + dcmnet/libsrc/dcompat.cc + dcmnet/libsrc/dul.cc + dcmnet/libsrc/dulfsm.cc + dcmpstat/tests/msgserv.cc + oflog/include/dcmtk/oflog/config/defines.h + ofstd/libsrc/ofstd.cc + +**** Changes from 2024.03.15 (riesmeier) + +- Fixed compilation error when zlib is disabled. + Affects: dcmdata/include/dcmtk/dcmdata/dcxfer.h + +- Largely revised base class for Transfer Syntaxes: + Distinguish more clearly between encapsulation and compression of pixel + data. This will be needed for the upcoming support of the still rather + new uncompressed encapsulated Transfer Syntax (introduced with CP-2083). + Also enhanced "support" for Transfer Syntaxes that make use of referenced + pixel data, e.g. using a URL. + Improved API of DcmXfer class to better distinguish the encoding and + compression of pixel data. Some old methods have been deprecated and its + use at various places of the DCMTK will disappear with subsequent commits. + Internally, various boolean struct members have been replaced by more + specific enums, which are also easier to extend. + The changes made should be a good basis for future Transfer Syntaxes that + are expected to be added to the DICOM standard and to the DCMTK over time. + Enhanced performance of one often used DcmXfer constructor and assignment + operator by relying on the explicit order of items in an array. It was + always intended to work like this, but not used so far. + Also added missing API documentation and introduced regression tests for + the main methods and constructors of the DcmXfer class. + Added: dcmdata/tests/txfer.cc + Affects: dcmdata/include/dcmtk/dcmdata/dcxfer.h + dcmdata/libsrc/dcdatset.cc + dcmdata/libsrc/dcxfer.cc + dcmdata/tests/CMakeLists.txt + dcmdata/tests/Makefile.in + dcmdata/tests/tests.cc + dcmnet/libsrc/dstorscu.cc + +**** Changes from 2024.03.13 (eichelberg) + +- Fixed DcmDecimalString unit tests. + Affects: dcmdata/tests/tvrds.cc + +- Removed the now unused file arith.cc: + Removed the now unused file arith.cc and references to it in the + documentation. + Affects: config/docs/macros.txt + Removed: config/tests/arith.cc + +- Fixed two segmentation faults: + Fixed two segmentations faults that could occur while processing an + invalid incoming DIMSE message due to insufficient error handling + causing a de-referenced NULL pointer. + Thanks to Nils Bars for the bug report and sample files. + This closes DCMTK issue #1114. + Affects: dcmdata/libsrc/dcelem.cc + dcmnet/libsrc/dimcmd.cc + +- Removed some dead code. + Affects: dcmjpeg/include/dcmtk/dcmjpeg/djeijg16.h + +- Fixed violations of one-definition rule (ODR): + Fixed violations of one-definition rule (ODR). This is necessary to + enable compilation of DCMTK with GCC's link-time optimization (-flto). + Thanks to Sam James for the bug report. + Affects: dcmjpeg/include/dcmtk/dcmjpeg/djdijg12.h + dcmjpeg/include/dcmtk/dcmjpeg/djdijg16.h + dcmjpeg/include/dcmtk/dcmjpeg/djdijg8.h + dcmjpeg/include/dcmtk/dcmjpeg/djeijg12.h + dcmjpeg/include/dcmtk/dcmjpeg/djeijg16.h + dcmjpeg/include/dcmtk/dcmjpeg/djeijg8.h + dcmjpeg/libijg12/jpeglib12.h + dcmjpeg/libijg16/jpeglib16.h + dcmjpeg/libijg8/jpeglib8.h + dcmjpeg/libsrc/djdijg12.cc + dcmjpeg/libsrc/djdijg16.cc + dcmjpeg/libsrc/djdijg8.cc + dcmjpeg/libsrc/djeijg12.cc + dcmjpeg/libsrc/djeijg16.cc + dcmjpeg/libsrc/djeijg8.cc + +**** Changes from 2024.03.13 (onken) + +- Don't install tests. + Affects: CMake/dcmtkMacros.cmake + dcmdata/tests/CMakeLists.txt + dcmect/tests/CMakeLists.txt + dcmfg/tests/CMakeLists.txt + dcmiod/tests/CMakeLists.txt + dcmnet/tests/CMakeLists.txt + dcmpstat/tests/CMakeLists.txt + dcmrt/tests/CMakeLists.txt + dcmseg/tests/CMakeLists.txt + dcmsr/tests/CMakeLists.txt + dcmtls/tests/CMakeLists.txt + dcmwlm/tests/CMakeLists.txt + oficonv/tests/CMakeLists.txt + ofstd/tests/CMakeLists.txt + +**** Changes from 2024.03.12 (riesmeier) + +- Fixed comment generated by stdcxx.m4 script: + Now, also make use of the new stdcxx.m4 script, i.e. regenerated the + Autoconf "configure" script. + Affects: config/configure + config/stdcxx.m4 + +**** Changes from 2024.03.11 (riesmeier) + +- Updated stdcxx.m4 script to the latest version: + The Autoconf macros in the m4 script now also support C++20. However, + the DCMTK Autoconf build system currently only makes use of the C++11 + standard. This might change in the future. + Affects: config/stdcxx.m4 + +- Removed further outdated Autoconf tests: + See commit b1102a75f for the corresponding CMake changes. + Affects: config/aclocal.m4 + config/configure + config/configure.in + config/include/dcmtk/config/osconfig.h.in + +- Added new helpers checking the type of a VR: + Added new helper methods that check whether a VR represents a number + and, if so, whether this number is unsigned and/or an integer. + Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h + dcmdata/libsrc/dcvr.cc + +- Added note on current development version: + Added general note on current development version and also updated + the minimum supported CMake version. + Affects: INSTALL + +**** Changes from 2024.03.11 (eichelberg) + +- Added initial support for compilation with C++20: + Compilation with C++20 can now be enabled by compiling with + CMAKE_CXX_STANDARD=20. This requires CMake 3.12 or newer. + Added: config/tests/cxx20.cc + Affects: CMake/CTest/CTestCustomAndroid.cmake.in + CMake/dcmtkPrepare.cmake + CMake/osconfig.h.in + CMakeLists.txt + dcmsr/tests/tsrdoctr.cc + ofstd/tests/toption.cc + +**** Changes from 2024.03.10 (eichelberg) + +- Further clean-up of outdated configure tests: + Cleaned up configure tests that checked for features that are not used + in DCMTK anymore or that are not in use anymore on any of the supported + operating systems (e.g. pre-POSIX APIs and header files). + Affects: CMake/GenerateDCMTKConfigure.cmake + CMake/osconfig.h.in + dcmdata/libsrc/cmdlnarg.cc + dcmdata/libsrc/dcdicdir.cc + dcmdata/libsrc/dcdirrec.cc + dcmjpeg/libijg12/jconfig12.h + dcmjpeg/libijg16/jccolor.c + dcmjpeg/libijg16/jconfig16.h + dcmjpeg/libijg16/jdmerge.c + dcmjpeg/libijg8/jconfig8.h + dcmnet/apps/storescp.cc + dcmnet/include/dcmtk/dcmnet/dcompat.h + dcmnet/libsrc/assoc.cc + dcmnet/libsrc/dcmtrans.cc + dcmnet/libsrc/dcompat.cc + dcmnet/libsrc/dimse.cc + dcmnet/libsrc/diutil.cc + dcmnet/libsrc/dul.cc + dcmnet/libsrc/dulextra.cc + dcmpstat/apps/dcmprscp.cc + dcmpstat/apps/dcmprscu.cc + dcmpstat/apps/dcmpsrcv.cc + dcmpstat/libsrc/dvpshlp.cc + dcmpstat/tests/msgserv.cc + dcmqrdb/apps/dcmqrti.cc + dcmqrdb/libsrc/dcmqrptb.cc + dcmtls/libsrc/tlstrans.cc + dcmwlm/libsrc/wlmactmg.cc + ofstd/include/dcmtk/ofstd/offile.h + ofstd/include/dcmtk/ofstd/ofstream.h + ofstd/include/dcmtk/ofstd/oftypes.h + ofstd/libsrc/offile.cc + ofstd/libsrc/offilsys.cc + ofstd/libsrc/ofipc.cc + ofstd/libsrc/ofstd.cc + +**** Changes from 2024.03.09 (riesmeier) + +- Removed remaining references to "lzwtest.tif". + Affects: .gitignore + config/Makefile.in + +- Removed all references to "arith" from .gitignore. + Affects: .gitignore + +- Removed unnecessary file "gmon.out". + Removed: dcmsr/tests/gmon.out + +**** Changes from 2024.03.08 (eichelberg) + +- Fixed compilation on Windows with _UNICODE defined: + Thanks to Peter Klotz for the bug report. + Affects: ofstd/libsrc/ofipc.cc + +**** Changes from 2024.03.08 (riesmeier) + +- Added simple logger configuration file: + Added simple logger configuration file that shows how to configure the + logger for printing nicely formatted messages to the console. + Added: oflog/etc/consolog.cfg + Affects: oflog/docs/oflog.dox + oflog/etc/CMakeLists.txt + oflog/etc/Makefile.in + +- Updated main .gitignore file: + Added recently introduced command line tools to the .gitignore file. + Also made a few other modifications, e.g. for Autoconf, backup files + and temporary directories. + Affects: .gitignore + +**** Changes from 2024.03.08 (onken) + +- Don't try to install arith.h: + Fix commit eeb7f7 which removed arith.h from DCMTK. + Affects: CMakeLists.txt + +- Also bump setup-python to v5. + Affects: .github/workflows/cmake-win.yml + +- Use checkout@v4 instead of checkout@v5 (typo). + Affects: .github/workflows/cmake-win.yml + +- Bumped two further action script versions: + Bumbed two further action script versions in order to fix deprecation + error for Windows CI build on GitHub. + Affects: .github/workflows/cmake-win.yml + +- Bump action scripts used to version 4: + This tries to fix the build error showing up at the GitHub CI Windows + build. + The build reports an unsupported node version that is used in one of the + "official" action scripts (in that case checkout@v3). Therefore the + build now uses version 4 on all scripts. + Affects: .github/workflows/cmake-win.yml + +**** Changes from 2024.03.06 (eichelberg) + +- Suppress MSVC warning in unit test. + Added: ofstd/include/dcmtk/ofstd/diag/unarymin.def + Affects: ofstd/include/dcmtk/ofstd/ofdiag.h + ofstd/tests/tlimits.cc + +**** Changes from 2024.03.05 (eichelberg) + +- Fixed OFnumeric_limits unit tests: + Replaced use of C++11 member function by code that also works with C++98. + Affects: ofstd/tests/tlimits.cc + +**** Changes from 2024.03.04 (riesmeier) + +- Removed "arith.h" depencency also from Autoconf: + Removed the dependency of the generated "arith.h" file also from the + Autoconf build system. See commit eeb7f7e4b9 for details. + Updated Makefile dependencies. + Affects: config/Makefile.in + config/configure + config/configure.in + config/include/dcmtk/config/osconfig.h.in + dcmdata/apps/Makefile.dep + dcmdata/libdcxml/Makefile.dep + dcmdata/libi2d/Makefile.dep + dcmdata/libsrc/Makefile.dep + dcmdata/tests/Makefile.dep + dcmect/libsrc/Makefile.dep + dcmect/tests/Makefile.dep + dcmfg/libsrc/Makefile.dep + dcmfg/tests/Makefile.dep + dcmimage/apps/Makefile.dep + dcmimage/libsrc/Makefile.dep + dcmimgle/apps/Makefile.dep + dcmimgle/libsrc/Makefile.dep + dcmiod/libsrc/Makefile.dep + dcmiod/tests/Makefile.dep + dcmjpeg/apps/Makefile.dep + dcmjpeg/libsrc/Makefile.dep + dcmjpls/apps/Makefile.dep + dcmjpls/libcharls/Makefile.dep + dcmjpls/libsrc/Makefile.dep + dcmnet/apps/Makefile.dep + dcmnet/libsrc/Makefile.dep + dcmnet/tests/Makefile.dep + dcmpmap/libsrc/Makefile.dep + dcmpstat/apps/Makefile.dep + dcmpstat/libsrc/Makefile.dep + dcmpstat/tests/Makefile.dep + dcmqrdb/apps/Makefile.dep + dcmqrdb/libsrc/Makefile.dep + dcmrt/apps/Makefile.dep + dcmrt/libsrc/Makefile.dep + dcmrt/tests/Makefile.dep + dcmseg/libsrc/Makefile.dep + dcmseg/tests/Makefile.dep + dcmsign/apps/Makefile.dep + dcmsign/libsrc/Makefile.dep + dcmsr/apps/Makefile.dep + dcmsr/libcmr/Makefile.dep + dcmsr/libsrc/Makefile.dep + dcmsr/tests/Makefile.dep + dcmtls/libsrc/Makefile.dep + dcmtract/libsrc/Makefile.dep + dcmwlm/apps/Makefile.dep + dcmwlm/libsrc/Makefile.dep + dcmwlm/tests/Makefile.dep + oficonv/apps/Makefile.dep + oficonv/libsrc/Makefile.dep + oficonv/tests/Makefile.dep + oflog/libsrc/Makefile.dep + ofstd/libsrc/Makefile.dep + ofstd/tests/Makefile.dep + +**** Changes from 2024.03.04 (eichelberg) + +- Do not try to emulate CXX11 max_digits10 limit. + Affects: ofstd/include/dcmtk/ofstd/oflimits.h + +- Fixed commit #eeb7f7e4b. + Affects: ofstd/include/dcmtk/ofstd/oflimits.h + +- Fixed bug introduced with commit #acdc98cba. + Affects: config/tests/arith.cc + +- Radically simplified oflimits.h: + Radically simplified oflimits.h by unconditionally including , + which is guaranteed to exist in C++98, and reducing OFnumeric_limits + to a typedef. This eliminates the need for the generation of arith.h, + which required a program (arith.cc) to be compiled and run at + configure time, thus causing problems in cross-compilation setups. + Affects: CMake/DCMTKConfig.cmake.in + CMake/GenerateDCMTKConfigure.cmake + CMake/dcmtkPrepare.cmake + CMake/osconfig.h.in + CMakeLists.txt + INSTALL + ofstd/include/dcmtk/ofstd/oflimits.h + ofstd/libsrc/ofconapp.cc + +**** Changes from 2024.03.04 (riesmeier) + +- Removed further outdated Autoconf tests. + Affects: config/aclocal.m4 + config/configure + config/configure.in + config/include/dcmtk/config/osconfig.h.in + +**** Changes from 2024.03.03 (eichelberg) + +- Further clean-up of outdated configure tests: + Cleaned up configure tests that checked for features + guaranteed to be present in C++98 and C99, respectively. + Affects: CMake/GenerateDCMTKConfigure.cmake + CMake/osconfig.h.in + config/math.cc + config/tests/arith.cc + dcmdata/libdcxml/xml2dcm.cc + dcmdata/libsrc/dcdict.cc + dcmdata/libsrc/dcuid.cc + dcmsr/libsrc/dsrxmld.cc + oflog/include/dcmtk/oflog/config/defines.h + ofstd/include/dcmtk/ofstd/ofbmanip.h + ofstd/include/dcmtk/ofstd/ofdefine.h + ofstd/include/dcmtk/ofstd/oflist.h + ofstd/include/dcmtk/ofstd/oftypes.h + +**** Changes from 2024.02.29 (riesmeier) + +- Removed various historical Autoconf tests: + Removed various historical tests from the Autoconf build system that are + not needed anymore. This is a first step of harmonization with the CMake + build system, further commits will probably follow. + Affects: config/aclocal.m4 + config/configure + config/configure.in + config/include/dcmtk/config/osconfig.h.in + +- Removed outdated #ifdef HAVE_xxx checks. + Affects: config/tests/arith.cc + +- Fixed issue with new default of C++11 support: + Fixed issue in Autoconf build system that did not enable C++11 support + by default. Also made support for C++11 mandatory, if not disable during + configure (using option --disable-cxx11). + Affects: config/configure + config/configure.in + +**** Changes from 2024.02.28 (riesmeier) + +- Fixed typo in Makefile: + This typo deleted a recently added source file during "make clean". + Affects: dcmect/tests/Makefile.in + +**** Changes from 2024.02.28 (eichelberg) + +- Fix for previous commit. + Affects: CMake/GenerateDCMTKConfigure.cmake + CMake/osconfig.h.in + +**** Changes from 2024.02.27 (eichelberg) + +- Cleaned up outdated tests for header files: + Cleaned up configure tests that either checked for the presence of header + files guaranteed to exist by C++98, or for historical pre-C++98 headers + that are not used anymore in DCMTK. + Affects: CMake/GenerateDCMTKConfigure.cmake + CMake/osconfig.h.in + dcmjpeg/libijg12/jconfig12.h + dcmjpeg/libijg12/jinclude12.h + dcmjpeg/libijg12/jmemmgr.c + dcmjpeg/libijg12/jmemnobs.c + dcmjpeg/libijg16/jconfig16.h + dcmjpeg/libijg16/jinclude16.h + dcmjpeg/libijg16/jmemmgr.c + dcmjpeg/libijg16/jmemnobs.c + dcmjpeg/libijg8/jconfig8.h + dcmjpeg/libijg8/jinclude8.h + dcmjpeg/libijg8/jmemmgr.c + dcmjpeg/libijg8/jmemnobs.c + dcmjpeg/libsrc/djdijg12.cc + dcmjpeg/libsrc/djdijg16.cc + dcmjpeg/libsrc/djdijg8.cc + dcmjpeg/libsrc/djeijg12.cc + dcmjpeg/libsrc/djeijg16.cc + dcmjpeg/libsrc/djeijg8.cc + dcmnet/apps/storescp.cc + dcmqrdb/apps/dcmqrti.cc + oflog/include/dcmtk/oflog/config/defines.h + ofstd/include/dcmtk/ofstd/ofmap.h + ofstd/include/dcmtk/ofstd/ofstack.h + ofstd/include/dcmtk/ofstd/ofstream.h + ofstd/include/dcmtk/ofstd/ofvector.h + ofstd/libsrc/ofconapp.cc + +**** Changes from 2024.02.26 (riesmeier) + +- Cleaned up Autoconf configure tests for OpenSSL: + Cleaned up Autoconf configure tests for OpenSSL (see commit 21bbf6b81 + for CMake-related cleanup). + Affects: config/configure + config/configure.in + config/include/dcmtk/config/osconfig.h.in + +**** Changes from 2024.02.26 (eichelberg) + +- Cleaned up outdated feature macros: + Cleaned up code that used outdated feature macros for features that are + guaranteed to be present by C89 or C++98 and for which no configure tests + were executed anymore since 2010. + Affects: CMake/osconfig.h.in + dcmimgle/include/dcmtk/dcmimgle/dipxrept.h + dcmjpeg/libijg12/jconfig12.h + dcmjpeg/libijg16/jconfig16.h + dcmjpeg/libijg8/jconfig8.h + dcmpstat/libsrc/dviface.cc + dcmsr/include/dcmtk/dcmsr/dsdefine.h + ofstd/include/dcmtk/ofstd/ofalgo.h + ofstd/include/dcmtk/ofstd/ofcast.h + ofstd/include/dcmtk/ofstd/oflist.h + ofstd/include/dcmtk/ofstd/ofthread.h + +**** Changes from 2024.02.25 (eichelberg) + +- Clean-up of the OpenSSL related code in DCMTK: + Added support for OpenSSL 3.1 and 3.2 and removed all compatibility code + required for unsupported older versions of OpenSSL. Removed configure + tests that are not needed anymore. + Affects: CMake/dcmtkPrepare.cmake + CMake/osconfig.h.in + config/docs/macros.txt + dcmsign/libsrc/sicert.cc + dcmsign/libsrc/siprivat.cc + dcmsign/libsrc/sitstamp.cc + dcmtls/include/dcmtk/dcmtls/tlscond.h + dcmtls/libsrc/tlsciphr.cc + dcmtls/libsrc/tlscond.cc + dcmtls/libsrc/tlsfmacr.h + dcmtls/libsrc/tlslayer.cc + dcmtls/libsrc/tlstrans.cc + +**** Changes from 2024.02.24 (riesmeier) + +- Autoconf now uses --enable-cxx11 by default: + By default, the DCMTK is now compiled with C++11 support when using + Autoconf (and if C++11 is supported by the compiler that is used). + The default settings of the CMake build system with also change soon. + Affects: INSTALL + config/configure + config/configure.in + +**** Changes from 2024.02.23 (riesmeier) + +- Added support for new HTJ2K Transfer Syntaxes: + Added basic support for the new High-Throughput JPEG 2000 (HTJ2K) + Transfer Syntaxes introduced with Supplement 235: added definition of + UIDs and EXS_xxx enum values, added basic network suppport (including + storescp's --accept-all and echoscu's --propose-ts option as well as + the association negotiation configuration files). + Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h + dcmdata/include/dcmtk/dcmdata/dcxfer.h + dcmdata/libsrc/dcuid.cc + dcmdata/libsrc/dcxfer.cc + dcmnet/apps/echoscu.cc + dcmnet/apps/storescp.cc + dcmnet/docs/echoscu.man + dcmnet/docs/storescp.man + dcmnet/etc/storescp.cfg + dcmnet/libsrc/dimse.cc + dcmqrdb/etc/dcmqrprf.cfg + +**** Changes from 2024.02.22 (riesmeier) + +- Added missing fragmentable Transfer Syntaxes: + Added missing fragmentable Transfer Syntaxes to basic network layer. + Affects: dcmnet/libsrc/dimse.cc + +- Added support for new Storage SOP Classes: + Added definition of new Storage SOP Class UIDs introduced with Supplement + 226 (Cutaneous Confocal Microscopy). Also added support for these Storage + SOP Classes to the various networking tools. + Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h + dcmdata/libsrc/dcuid.cc + dcmnet/docs/movescu.man + dcmnet/docs/storescp.man + dcmnet/etc/storescp.cfg + dcmnet/etc/storescu.cfg + dcmqrdb/docs/dcmqrscp.man + dcmqrdb/etc/dcmqrprf.cfg + +- Updated code definitions for DICOM 2024a: + Updated automatically generated code definitions for coding scheme "DCM". + For the coding schemes "NCIt" and "UMLS", there were no changes. + Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h + dcmsr/include/dcmtk/dcmsr/codes/ncit.h + dcmsr/include/dcmtk/dcmsr/codes/umls.h + +**** Changes from 2024.02.22 (eichelberg) + +- Improvements for aetitle sanitizing modification: + When an aetitle is sanitized before being passed to one of the + --exec options, a warning is now printed. Furthermore, the + sanitizing behavior is now mentioned in the man page. + Affects: dcmnet/apps/storescp.cc + dcmnet/docs/storescp.man + +**** Changes from 2024.02.21 (onken) + +- Fix compiler warning about template parameters: + Fix compiler warning about missing space in nested template + argument list. + Affects: dcmect/tests/t_overflow.cc + +**** Changes from 2024.02.21 (riesmeier) + +- Updated data dictionary for DICOM 2024a: + Updated data dictionary for the latest edition of the DICOM standard. + Affects: dcmdata/data/dicom.dic + dcmdata/include/dcmtk/dcmdata/dcdeftag.h + dcmdata/libsrc/dcdictbi.cc + +- Minor fixes to manpage. + Affects: dcmnet/docs/storescp.man + +- Removed trailing spaces. + Affects: dcmnet/apps/storescp.cc + +**** Changes from 2024.02.21 (eichelberg) + +- Sanitize aetitles for use by exec options: + Sanitize aetitles that are passed to a command line via storescp's + --exec-on-reception or --exec-on-eostudy option by replacing all + characters that may be interpreted by the shell with underscores. + Thanks to Phileas Lebada for the bug report. + This closes DCMTK issue #1109. + Affects: dcmnet/apps/storescp.cc + +**** Changes from 2024.02.21 (onken) + +- Fixed possible overflows when allocating memory: + Thanks to GitHub user "bananabr" (Daniel Berredo) for the report and + suggested patch. + Added: dcmect/tests/t_overflow.cc + Affects: dcmect/libsrc/enhanced_ct.cc + dcmect/tests/CMakeLists.txt + dcmect/tests/Makefile.dep + dcmect/tests/Makefile.in + dcmect/tests/tests.cc + +**** Changes from 2024.02.21 (eichelberg) + +- Fixed minor memory leak in oficonv: + The oficonv module allocates a so-called mapper area buffer upon first use. + Added code that automatically frees this buffer at application exit, in + order to avoid warnings about leaked memory when using memory leak detectors. + Thanks to Mathieu Malaterre for the bug report. + This closes DCMTK issue #1088. + Affects: ofstd/libsrc/ofchrenc.cc + +- Removed support for ICONV_MAX_REUSE env variable: + Removed support for the ICONV_MAX_REUSE environment variable, which does + not offer any performance improvement in the oficonv implementation but + causes memory leak detectors to complain about memory leaks. + Furthermore, added public function OFiconv_cleanup() that can be called + at application exit to delete the csmapper area object. + Affects: config/docs/envvars.txt + oficonv/include/dcmtk/oficonv/iconv.h + oficonv/libsrc/citrus_iconv.c + oficonv/libsrc/oficonv_iconv.c + +- Added destructor for csmapper area object: + Implemented a new function _citrus_csmapper_free() that acts as a + destructor for the global csmapper area object, which is allocated + when iconv() is called for the first time, and never freed. + While this is not a problem as such, memory leak detectors will + complain about unfreed memory. Calling this function at application + exit will avoid this. + Affects: oficonv/libsrc/citrus_csmapper.c + oficonv/libsrc/citrus_csmapper.h + oficonv/libsrc/citrus_mapper.c + oficonv/libsrc/citrus_mapper.h + +**** Changes from 2024.02.20 (riesmeier) + +- Replaced the data type of parameter "filename": + Replaced the data type of the constructor parameter "filename". Instead + of "const char *", OFFilename is now used, which also allows for passing + an OFString, OFpath or "const wchar_t *" (if compiled accordingly). + Thanks to Jean Pierre Bassenge for the original + report. + Affects: dcmimgle/include/dcmtk/dcmimgle/dcmimage.h + dcmimgle/include/dcmtk/dcmimgle/didocu.h + dcmimgle/libsrc/dcmimage.cc + dcmimgle/libsrc/didocu.cc + +- Removed historical workaround for SunCC 4.x. + Affects: dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h + dcmimgle/include/dcmtk/dcmimgle/displint.h + +**** Changes from 2024.02.20 (onken) + +- Consistent logger names and remove unused loggers: + Use logger names consistent with the rest of test loggers in DCMTK. + Remove loggers that have not been in use. + Affects: dcmdata/tests/ti2dbmp.cc + dcmect/tests/t_huge_concat.cc + dcmect/tests/t_roundtrip.cc + dcmiod/tests/tchecks.cc + dcmiod/tests/tcodes.cc + dcmnet/tests/tscuscp.cc + dcmpstat/tests/msgserv.cc + +**** Changes from 2024.02.19 (riesmeier) + +- Removed trailing spaces and fixed lines breaks. + Affects: INSTALL + +**** Changes from 2024.02.19 (eichelberg) + +- Updated OpenSSL version info. + Affects: INSTALL + +- Removed support for OpenSSL 1.0.2 and 1.1.0: + Removed support for OpenSSL 1.0.2 and 1.1.0 in DCMTK. Both versions of + the OpenSSL library do not receive security updates anymore and should + thus be avoided. Support for OpenSSL 1.1.1 will be retained as long as + security updates for this version are provided in Debian Linux. + Affects: CMake/3rdparty.cmake + config/configure + config/configure.in + +- Removed obsolete code for BeOS and NeXTStep. + Affects: dcmnet/apps/storescp.cc + dcmpstat/apps/dcmprscp.cc + dcmpstat/apps/dcmpsrcv.cc + dcmpstat/libsrc/dvpshlp.cc + dcmqrdb/libsrc/dcmqrptb.cc + dcmwlm/libsrc/wlmactmg.cc + ofstd/include/dcmtk/ofstd/offile.h + +**** Changes from 2024.02.15 (riesmeier) + +- Minor, mainly stylistic fixes to documentation. + Affects: INSTALL + +**** Changes from 2024.02.14 (onken) + +- Removed new lines at end of file. + Affects: dcmiod/tests/tests.cc + +- Cleanup headers: + Remove unused headers or use more specific headers, + added forward declarations. + Affects: dcmect/include/dcmtk/dcmect/def.h + dcmect/include/dcmtk/dcmect/enhanced_ct.h + dcmect/include/dcmtk/dcmect/types.h + dcmect/libsrc/Makefile.dep + dcmect/libsrc/enhanced_ct.cc + dcmect/libsrc/types.cc + dcmect/tests/Makefile.dep + dcmect/tests/t_huge_concat.cc + dcmect/tests/t_roundtrip.cc + dcmfg/include/dcmtk/dcmfg/concatenationcreator.h + dcmfg/include/dcmtk/dcmfg/concatenationloader.h + dcmfg/include/dcmtk/dcmfg/fg.h + dcmfg/include/dcmtk/dcmfg/fgbase.h + dcmfg/include/dcmtk/dcmfg/fgctacquisitiondetails.h + dcmfg/include/dcmtk/dcmfg/fgctacquisitiontype.h + dcmfg/include/dcmtk/dcmfg/fgctadditionalxraysource.h + dcmfg/include/dcmtk/dcmfg/fgctexposure.h + dcmfg/include/dcmtk/dcmfg/fgctgeometry.h + dcmfg/include/dcmtk/dcmfg/fgctimageframetype.h + dcmfg/include/dcmtk/dcmfg/fgctposition.h + dcmfg/include/dcmtk/dcmfg/fgctreconstruction.h + dcmfg/include/dcmtk/dcmfg/fgcttabledynamics.h + dcmfg/include/dcmtk/dcmfg/fgctxraydetails.h + dcmfg/include/dcmtk/dcmfg/fgdefine.h + dcmfg/include/dcmtk/dcmfg/fgderimg.h + dcmfg/include/dcmtk/dcmfg/fgfact.h + dcmfg/include/dcmtk/dcmfg/fgfracon.h + dcmfg/include/dcmtk/dcmfg/fgframevoilut.h + dcmfg/include/dcmtk/dcmfg/fgimagedatatype.h + dcmfg/include/dcmtk/dcmfg/fginterface.h + dcmfg/include/dcmtk/dcmfg/fgirradiationeventid.h + dcmfg/include/dcmtk/dcmfg/fgplanor.h + dcmfg/include/dcmtk/dcmfg/fgplanpo.h + dcmfg/include/dcmtk/dcmfg/fgplanposvol.h + dcmfg/include/dcmtk/dcmfg/fgseg.h + dcmfg/include/dcmtk/dcmfg/fgtemporalposition.h + dcmfg/include/dcmtk/dcmfg/fgtypes.h + dcmfg/include/dcmtk/dcmfg/fgusimagedescription.h + dcmfg/include/dcmtk/dcmfg/stackinterface.h + dcmfg/libsrc/Makefile.dep + dcmfg/libsrc/concatenationcreator.cc + dcmfg/libsrc/concatenationloader.cc + dcmfg/libsrc/fgbase.cc + dcmfg/libsrc/fgctxraydetails.cc + dcmfg/libsrc/fgderimg.cc + dcmfg/libsrc/fgframevoilut.cc + dcmfg/libsrc/fginterface.cc + dcmfg/libsrc/fgplanposvol.cc + dcmfg/libsrc/fgrealworldvaluemapping.cc + dcmfg/libsrc/fgtypes.cc + dcmfg/tests/Makefile.dep + dcmfg/tests/t_concatenation_creator.cc + dcmfg/tests/t_concatenation_loader.cc + dcmfg/tests/t_ct_acquisition_details.cc + dcmfg/tests/t_ct_acquisition_type.cc + dcmfg/tests/t_ct_image_frame_type.cc + dcmfg/tests/t_ct_position.cc + dcmfg/tests/t_ct_table_dynamics.cc + dcmfg/tests/t_deriv_image.cc + dcmfg/tests/t_fg_base.cc + dcmfg/tests/t_frame_content.cc + dcmfg/tests/t_irradiation_event_identification.cc + dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h + dcmiod/include/dcmtk/dcmiod/ioddef.h + dcmiod/include/dcmtk/dcmiod/iodmacro.h + dcmiod/include/dcmtk/dcmiod/iodutil.h + dcmiod/include/dcmtk/dcmiod/modacquisitioncontext.h + dcmiod/include/dcmtk/dcmiod/modbase.h + dcmiod/include/dcmtk/dcmiod/modcommoninstanceref.h + dcmiod/include/dcmtk/dcmiod/modenhusseries.h + dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h + dcmiod/include/dcmtk/dcmiod/modhelp.h + dcmiod/include/dcmtk/dcmiod/modimagepixel.h + dcmiod/include/dcmtk/dcmiod/modmultiframefg.h + dcmiod/include/dcmtk/dcmiod/modpatient.h + dcmiod/include/dcmtk/dcmiod/modpatientstudy.h + dcmiod/include/dcmtk/dcmiod/modsegmentationseries.h + dcmiod/include/dcmtk/dcmiod/modsynchronisation.h + dcmiod/include/dcmtk/dcmiod/modusfor.h + dcmiod/libsrc/Makefile.dep + dcmiod/libsrc/cielabutil.cc + dcmiod/libsrc/iodcommn.cc + dcmiod/libsrc/iodcontentitemmacro.cc + dcmiod/libsrc/iodmacro.cc + dcmiod/libsrc/iodreferences.cc + dcmiod/libsrc/iodrules.cc + dcmiod/libsrc/iodtypes.cc + dcmiod/libsrc/iodutil.cc + dcmiod/libsrc/modacquisitioncontext.cc + dcmiod/libsrc/modbase.cc + dcmiod/libsrc/modcommoninstanceref.cc + dcmiod/libsrc/modenhequipment.cc + dcmiod/libsrc/modenhusimage.cc + dcmiod/libsrc/modenhusseries.cc + dcmiod/libsrc/modequipment.cc + dcmiod/libsrc/modfloatingpointimagepixel.cc + dcmiod/libsrc/modfor.cc + dcmiod/libsrc/modgeneralimage.cc + dcmiod/libsrc/modgeneralseries.cc + dcmiod/libsrc/modgeneralstudy.cc + dcmiod/libsrc/modhelp.cc + dcmiod/libsrc/modimagepixel.cc + dcmiod/libsrc/modimagepixelbase.cc + dcmiod/libsrc/modmultiframedimension.cc + dcmiod/libsrc/modmultiframefg.cc + dcmiod/libsrc/modpatient.cc + dcmiod/libsrc/modpatientstudy.cc + dcmiod/libsrc/modsegmentationseries.cc + dcmiod/libsrc/modsopcommon.cc + dcmiod/libsrc/modsynchronization.cc + dcmiod/libsrc/modusfor.cc + dcmiod/tests/Makefile.dep + dcmiod/tests/Makefile.in + dcmiod/tests/tchecks.cc + dcmiod/tests/tcodes.cc + dcmnet/apps/Makefile.dep + dcmpmap/include/dcmtk/dcmpmap/dpmdef.h + dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapbase.h + dcmpmap/include/dcmtk/dcmpmap/dpmparametricmapiod.h + dcmpmap/include/dcmtk/dcmpmap/dpmtypes.h + dcmpmap/libsrc/Makefile.dep + dcmpmap/libsrc/dpmparametricmapbase.cc + dcmpmap/libsrc/dpmparametricmapiod.cc + dcmqrdb/apps/Makefile.dep + dcmqrdb/libsrc/Makefile.dep + dcmseg/include/dcmtk/dcmseg/segdoc.h + dcmseg/include/dcmtk/dcmseg/segment.h + dcmseg/include/dcmtk/dcmseg/segtypes.h + dcmseg/libsrc/Makefile.dep + dcmseg/libsrc/segdoc.cc + dcmseg/libsrc/segutils.cc + dcmseg/tests/Makefile.dep + dcmseg/tests/tbigdim.cc + dcmseg/tests/tconcat_binary.cc + dcmseg/tests/troundtrip.cc + dcmseg/tests/tutils.cc + dcmtract/include/dcmtk/dcmtract/trcdef.h + dcmtract/include/dcmtk/dcmtract/trcmeasurement.h + dcmtract/include/dcmtk/dcmtract/trcstatistic.h + dcmtract/include/dcmtk/dcmtract/trctractographyresults.h + dcmtract/include/dcmtk/dcmtract/trctypes.h + dcmtract/libsrc/Makefile.dep + dcmtract/libsrc/trcmeasurement.cc + dcmtract/libsrc/trcmodtractresults.cc + dcmtract/libsrc/trcstatistic.cc + dcmtract/libsrc/trctrack.cc + dcmtract/libsrc/trctrackset.cc + +- If desired, ignore attribute value errors on write: + Ignore attribute errors in IODComponent (IODModule) if desired by the + user. If ignored, the error is just handled as a warning. + While will we want to write only correct objects, we acknowledge that + in the research field there are lots of broken DICOM objects/images + around that must be worked with. Researchers write tools that make use + of this data e.g. by importing Patient and Study data to create their + own derived objects. For those cases it should be possible to ignore + common errors. + This API has also been exposed to IODCommon (which collects the most + common modules used in nearly every IOD for convenience). + Test cases have been added. + Added: dcmiod/tests/tchecks.cc + Affects: dcmiod/include/dcmtk/dcmiod/iodcommn.h + dcmiod/include/dcmtk/dcmiod/iodutil.h + dcmiod/include/dcmtk/dcmiod/modbase.h + dcmiod/libsrc/iodcommn.cc + dcmiod/libsrc/iodutil.cc + dcmiod/libsrc/modbase.cc + dcmiod/tests/CMakeLists.txt + dcmiod/tests/tests.cc + +- Added missing clearData() implementation. + Affects: dcmiod/libsrc/iodcommn.cc + +**** Changes from 2024.02.13 (onken) + +- Fix find_package() library variables for libtiff: + The detection of libtiff and its related JPEG support now uses the + correct CMake variables set by the corresponding find_package() scripts. + Old and obsolete values were: TIFF_LIBRARY and JPEG_LIBRARY. + New values are: TIFF_LIBRARIES and JPEG_LIBRARIES. + Thanks to "sameeul" (Sameeul Bashir Samee) for the report and patch. + Affects: CMake/3rdparty.cmake + +**** Changes from 2024.02.06 (xu) + +- Added new command line tool dcm2cda: + Added new command line tool dcm2cda that extracts a CDA document from a + DICOM Encapsulated CDA Storage SOP Instance and stores it in a separate + file. Also updated the exit codes returned by dcm2pdf. + This closes DCMTK Feature #833. + Added: dcmdata/apps/dcm2cda.cc + dcmdata/docs/dcm2cda.man + Affects: dcmdata/apps/CMakeLists.txt + dcmdata/apps/Makefile.dep + dcmdata/apps/Makefile.in + dcmdata/apps/dcm2pdf.cc + dcmdata/docs/dcm2pdf.man + dcmdata/docs/dcmdata.dox + +**** Changes from 2024.01.29 (eichelberg) + +- Removed execute bit from access rights. + Affects: ANNOUNCE + +- Added TLS support to getscu: + Added TLS support to the getscu tool. + Affects: dcmnet/apps/CMakeLists.txt + dcmnet/apps/Makefile.in + dcmnet/apps/getscu.cc + dcmnet/docs/getscu.man + dcmnet/include/dcmtk/dcmnet/scu.h + dcmnet/libsrc/scu.cc + +**** Changes from 2024.01.26 (riesmeier) + +- Fixed typos and changed formatting: + Fixed typos introduced with a recent commit. Also reformatted some + paragraphs to use the maximum line length of 80 character. + Affects: config/docs/macros.txt + +**** Changes from 2024.01.26 (eichelberg) + +- Disabled oficonv pass-through mode by default: + The oficonv module offers a pass-through mode in which the libary will + simply copy input to output during a character set conversion if + input and output encoding are the same. This is more efficient, but + means that in invalid byte sequences in the source will remain + undetected and copied to the target, whereas the default behaviour + would detect this and stop the conversion. It is also incompatible + with the behaviour of the GNU iconv library. This behaviour is now + disabled by default. It can be re-enabled by compiling with the + macro DCMTK_ENABLE_ICONV_PASSTHROUGH. + Affects: config/docs/macros.txt + oficonv/libsrc/citrus_iconv.c + +**** Changes from 2024.01.26 (riesmeier) + +- Fixed issue with Doxygen command @deprecated: + Fixed issue with use of Doxgen command @deprecated. According to the + Doxygen documentation, the "command ends when a blank line or some other + sectioning command is encountered". So, an empty line has been added to + avoid wrong parsing and generation of the "Deprecated List" in the HTML + documentation. + Affects: dcmdata/include/dcmtk/dcmdata/dcpixel.h + +- Fixed source code formatting. + Affects: dcmsr/libsrc/dsrchecc.cc + dcmsr/libsrc/dsrcolcc.cc + dcmsr/libsrc/dsrmamcc.cc + dcmsr/libsrc/dsrprdcc.cc + +**** Changes from 2024.01.25 (riesmeier) + +- Removed references to specific CPs in comments. + Affects: dcmsr/libsrc/dsracqcc.cc + dcmsr/libsrc/dsrbascc.cc + dcmsr/libsrc/dsrenhcc.cc + dcmsr/libsrc/dsrimpcc.cc + dcmsr/libsrc/dsrkeycc.cc + dcmsr/libsrc/dsrmaccc.cc + dcmsr/libsrc/dsrprdcc.cc + dcmsr/libsrc/dsrrrdcc.cc + dcmsr/libsrc/dsrrsdcc.cc + dcmsr/libsrc/dsrsaecc.cc + dcmsr/libsrc/dsrxrdcc.cc + +- Fixed issue with implementation of CP-2084: + Fixed issue with the implementation of CP-2084, which apparently did not + work (as expected). The new code lines introduced with commit 24ebf482c + have never been run due to the way the if-conditions were implemented. + Thanks to Markus Sabin for the report and the + sample file with an instance of the Performed Imaging Agent Administration + SR Storage SOP Class that provoked this incorrect behavior. + Affects: dcmsr/libsrc/dsrc3dcc.cc + dcmsr/libsrc/dsrchecc.cc + dcmsr/libsrc/dsrcolcc.cc + dcmsr/libsrc/dsrcomcc.cc + dcmsr/libsrc/dsrmamcc.cc + dcmsr/libsrc/dsrpficc.cc + dcmsr/libsrc/dsrplicc.cc + dcmsr/libsrc/dsrprocc.cc + +**** Changes from 2024.01.25 (eichelberg) + +- Removed comment: + Removed comment about untested case, now that it has been tested. + Thanks to Mathieu Malaterre for the sample. + Affects: dcmdata/libsrc/dcspchrs.cc + +**** Changes from 2024.01.18 (riesmeier) + +- Minor fixes to manpage. + Affects: dcmdata/docs/img2dcm.man + +**** Changes from 2024.01.17 (eichelberg) + +- Describe multiframe support in img2dcm manpage. + Affects: dcmdata/docs/img2dcm.man + +**** Changes from 2024.01.16 (riesmeier) + +- Made use of new dcmGetPropertiesOfUID() function: + Made use of the new dcmGetPropertiesOfUID() function for creating a + DICOMDIR. This simplifies the code considerably, as the type of the + Storage SOP Class can now be determined from the UID value. The extended + UID mapping table e.g. also contains information on Composite IODs for + which no Directory Record Type is defined, which is now also checked. + This new implementation also supports a few Storage SOP Classes/IODs that + were missing previously. + Affects: dcmdata/libsrc/dcddirif.cc + +- Extended UID mapping table with properties: + Extended UID mapping table with properties that specify e.g. the standard + that defines the UID, the type and subtype of the UID, and in case of + Storage SOP Classes also the type of the underlying IOD. These properties + can be accessed using the new function dcmGetPropertiesOfUID(). All other + dcmFindXXXOfUID() and dcmFindUIDFromXXX() functions remain unchanged. + Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h + dcmdata/libsrc/dcuid.cc + +**** Changes from 2024.01.15 (onken) + +- Build Windows binary for every pushed commit: + This uses GitHub actions to build new DCMTK binaries for Windows + whenever a new commit is pushed to DCMTK/dcmtk master branch. + If the commit is associated with a tag, a new release is produced. + Otherwise, the tag "latest" is created (or updated) with new source + code and binaries. + The new package is only produced when DCMTK successfully builds and + all tests on the build machine succeed as well. + The machine currently used for building is windows/latest with + Visual Studio 17 2022 64 bit. + The build makes use of all DCMTK support libraries, as they are + available at https://dicom.offis.de/download/dcmtk/dcmtk368/support/ . + Added: .github/workflows/cmake-win.yml + +**** Changes from 2024.01.14 (riesmeier) + +- Added missing character set to XML Schema: + Added missing character set "ISO_IR 203" (ISO-8859-15) to XML Schema. + With commit 042c8f721 support was added to the "dcmsr" module, but the + XML Schema was not updated accordingly. + Affects: dcmsr/data/dsr2xml.xsd + +- Updated copyright date. + Affects: COPYRIGHT + ofstd/libsrc/ofconapp.cc + +- Create all instances on heap instead of stack: + Changed code to create all instances of the RT classes on the heap + instead of the stack (use "new" and "delete" instead of automatic + variables) in order to reduce stack requirements, which seemed to + cause problems on some platforms. + Also enhanced error handling and log output. + Affects: dcmrt/tests/drttest.cc + +- Fixed check on "shared library build": + Previously, the --version output of the DCMTK command line tools showed the + build option "shared" even for static linkage. This has been fixed now by + checking another define (DCMTK_SHARED). For Autoconf builds, "shared" is + never shown since shared libraries are not supported for this build system. + Affects: ofstd/libsrc/ofconapp.cc + +- Added new configure test for OpenSSL (Autoconf): + Added new configure test (Autoconf) for an OpenSSL function that is + needed for commit e99517347 and b22a59d45. + Affects: config/configure + config/configure.in + config/include/dcmtk/config/osconfig.h.in + +**** Changes from 2024.01.13 (eichelberg) + +- Fixed LFS64 detection: + Fixed the configure test that checks the presence of the LFS64 API and sets + flags accordingly. Required for Alpine Linux 3.19. + This closes DCMTK issue #1097. + Affects: CMake/GenerateDCMTKConfigure.cmake + +**** Changes from 2024.01.12 (eichelberg) + +- Minor corrections for OFStandard::atof(): + Updated copyright text, used STD_NAMESPACE as namespace prefix, + and fixed a bug in two unit tests affecting some platforms. + Affects: COPYRIGHT + ofstd/libsrc/ofstd.cc + ofstd/tests/tatof.cc + +**** Changes from 2024.01.12 (riesmeier) + +- Moved recently added section and fixed typo. + Affects: config/docs/macros.txt + +**** Changes from 2024.01.12 (eichelberg) + +- New implementation of OFStandard::atof(): + Wrote a new implementation of OFStandard::atof() that internally uses + C++ iostreams for the conversion of text to double and should thus be + standard conformant on all platforms. The previous implementation, which + was in use since DCMTK 3.5.2, was found to cause rounding errors in + certain use cases. The old implementation can be re-enabled by defining + the macro ENABLE_OLD_OFSTD_ATOF_IMPLEMENTATION. + Thanks to Mathieu Malaterre for the bug report. + This closes DCMTK issue #1100. + Affects: config/docs/macros.txt + ofstd/include/dcmtk/ofstd/ofstd.h + ofstd/libsrc/ofstd.cc + ofstd/tests/tatof.cc + +**** Changes from 2024.01.12 (riesmeier) + +- Disable warning messages on "unchecked" options: + Make sure that no warning messages are reported on character set options + that have "possibly never been checked". This only happened when compiled + with DEBUG. + Affects: dcmqrdb/apps/dcmqrscp.cc + +**** Changes from 2024.01.12 (eichelberg) + +- Fixed compilation with OpenSSL 1.1.0. + Affects: dcmtls/libsrc/tlslayer.cc + +**** Changes from 2024.01.12 (riesmeier) + +- Updated Context Group classes for DICOM 2023e: + Updated automatically generated Context Group classes for the 2023e + edition of the DICOM standard. All supported classes were updated, + even though there were no changes to many of them. + Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h + dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h + dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h + dcmsr/include/dcmtk/dcmsr/cmr/cid11.h + dcmsr/include/dcmtk/dcmsr/cmr/cid218.h + dcmsr/include/dcmtk/dcmsr/cmr/cid244.h + dcmsr/include/dcmtk/dcmsr/cmr/cid247.h + dcmsr/include/dcmtk/dcmsr/cmr/cid29.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h + dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h + dcmsr/include/dcmtk/dcmsr/cmr/cid42.h + dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h + dcmsr/include/dcmtk/dcmsr/cmr/cid7551.h + dcmsr/libcmr/cid100.cc + dcmsr/libcmr/cid10013.cc + dcmsr/libcmr/cid10033.cc + dcmsr/libcmr/cid11.cc + dcmsr/libcmr/cid218.cc + dcmsr/libcmr/cid244.cc + dcmsr/libcmr/cid247.cc + dcmsr/libcmr/cid29.cc + dcmsr/libcmr/cid4020.cc + dcmsr/libcmr/cid4021.cc + dcmsr/libcmr/cid4031.cc + dcmsr/libcmr/cid42.cc + dcmsr/libcmr/cid6147.cc + dcmsr/libcmr/cid7021.cc + dcmsr/libcmr/cid7181.cc + dcmsr/libcmr/cid7445.cc + dcmsr/libcmr/cid7452.cc + dcmsr/libcmr/cid7453.cc + dcmsr/libcmr/cid7464.cc + dcmsr/libcmr/cid7469.cc + dcmsr/libcmr/cid7551.cc + +- Updated code definitions for DICOM 2023e: + Updated automatically generated code definitions for coding schemes "DCM" + and "UMLS". For coding scheme "NCIt", there were no changes. + Affects: dcmsr/include/dcmtk/dcmsr/codes/dcm.h + dcmsr/include/dcmtk/dcmsr/codes/ncit.h + dcmsr/include/dcmtk/dcmsr/codes/umls.h + +**** Changes from 2024.01.11 (riesmeier) + +- Removed suffix "+" from version number (Autoconf). + Affects: config/configure + config/configure.in + +- Fixed white spaces / indentation. + Affects: dcmqrdb/apps/Makefile.in + dcmqrdb/apps/dcmqrscp.cc + dcmqrdb/libsrc/dcmqrsrv.cc + +**** Changes from 2024.01.11 (eichelberg) + +- Updated man page. + Affects: dcmqrdb/docs/dcmqrscp.man + +- Removed unnecessary include. + Affects: dcmqrdb/libsrc/dcmqrsrv.cc + +- Rebase to testing. + Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h + +- Fixed OPENSSL_init_crypto() detection. + Affects: CMake/dcmtkPrepare.cmake + CMake/osconfig.h.in + dcmtls/libsrc/tlslayer.cc + +- Added TLS support to dcmqrscp: + Added TLS support to the dcmqrscp tool. + Affects: dcmqrdb/apps/CMakeLists.txt + dcmqrdb/apps/Makefile.in + dcmqrdb/apps/dcmqrscp.cc + dcmqrdb/docs/dcmqrscp.man + dcmqrdb/include/dcmtk/dcmqrdb/dcmqrsrv.h + dcmqrdb/libsrc/CMakeLists.txt + dcmqrdb/libsrc/Makefile.in + dcmqrdb/libsrc/dcmqrsrv.cc + +- Call OPENSSL_init_crypto() if available: + The dcmtls module now calls OPENSSL_init_crypto() with the OPENSSL_INIT_ATFORK + option in DcmTLSTransportLayer::initializeOpenSSL(), if available in the + OpenSSL version used. This activates code in OpenSSL that automatically + cleans up some data structures before/after fork() operations. + Affects: CMake/dcmtkPrepare.cmake + dcmtls/libsrc/tlslayer.cc + +- Added function ASC_setParentProcessMode(): + Added a new function ASC_setParentProcessMode() that must be called by + the parent process after a fork() operation if a network connection has + already been accepted and is further handled by the child process. + In the case of TLS connections, this will prevent ASC_dropAssociation() + in the parent process from issuing a TLS close_notify shutdown alert + to the peer. + Affects: dcmnet/include/dcmtk/dcmnet/assoc.h + dcmnet/include/dcmtk/dcmnet/dcmtrans.h + dcmnet/include/dcmtk/dcmnet/dul.h + dcmnet/libsrc/assoc.cc + dcmnet/libsrc/dcmtrans.cc + dcmnet/libsrc/dul.cc + dcmtls/libsrc/tlstrans.cc + +**** Changes from 2024.01.11 (riesmeier) + +- Updated data dictionary for DICOM 2023e: + Updated data dictionary for the latest edition of the DICOM standard. + Affects: dcmdata/data/dicom.dic + dcmdata/include/dcmtk/dcmdata/dcdeftag.h + dcmdata/libsrc/dcdictbi.cc + +**** Changes from 2024.01.10 (riesmeier) + +- Removed outdated comment on odd version numbers. + Affects: CMake/dcmtkPrepare.cmake + +**** Changes from 2024.01.08 (riesmeier) + +- Added missing config file to INSTALL target. + Affects: dcmqrdb/etc/CMakeLists.txt + dcmqrdb/etc/Makefile.in + +**** Changes from 2024.01.08 (eichelberg) + +- Fixed compilation on RHEL 6.10 / gcc 4.4.7: + Fixed compilation on RHEL 6.10 / gcc 4.4.7 where UINT16_MAX is not defined. + Apparently this is a C99 macro that is only guaranteed to exist in C++11 + or newer. + Affects: dcmnet/libsrc/scu.cc + +**** Changes from 2024.01.05 (eichelberg) + +- Use relative CMake installation paths: + Use relative CMake installation path variables such as CMAKE_INSTALL_DATADIR + instead of absolute ones such as CMAKE_INSTALL_FULL_DATADIR, because CMake's + CPack tool ignores install statements with absolute paths. + Affects: CMake/GenerateDCMTKConfigure.cmake + CMakeLists.txt + config/docs/CMakeLists.txt + dcmdata/data/CMakeLists.txt + dcmdata/docs/CMakeLists.txt + dcmimgle/data/CMakeLists.txt + dcmnet/docs/CMakeLists.txt + dcmnet/etc/CMakeLists.txt + dcmpstat/data/CMakeLists.txt + dcmpstat/etc/CMakeLists.txt + dcmqrdb/docs/CMakeLists.txt + dcmqrdb/etc/CMakeLists.txt + dcmsr/data/CMakeLists.txt + dcmtls/docs/CMakeLists.txt + dcmwlm/data/CMakeLists.txt + dcmwlm/docs/CMakeLists.txt + doxygen/CMakeLists.txt + oficonv/data/CMakeLists.txt + oflog/etc/CMakeLists.txt + +**** Changes from 2024.01.03 (eichelberg) + +- Added comment concerning oficonv data scripts: + Added comment reminding the developer that any changes to the oficonv + data file installation script need to be mirrored in the package generation + scripts. + Affects: oficonv/data/CMakeLists.txt + +**** Changes from 2024.01.03 (riesmeier) + +- Made warning messages more consistent within file. + Affects: dcmdata/libsrc/dcrleccd.cc + dcmjpeg/libsrc/djcodecd.cc + dcmjpls/libsrc/djcodecd.cc + +- Further fixes to manpages. + Affects: dcmnet/docs/storescp.man + dcmnet/docs/storescu.man + dcmtls/docs/certstor.dox + +- Reverted unnecessary changes from last commit: + For manpages, some abbreviations of terms used for the --help output are + not needed since there is more space in a line. Therefore, most of the + changes to the manpages from the last commit have been reversed. + Affects: dcmnet/docs/dcmrecv.man + dcmnet/docs/echoscu.man + dcmnet/docs/findscu.man + dcmnet/docs/getscu.man + dcmnet/docs/movescu.man + dcmnet/docs/storescp.man + dcmnet/docs/storescu.man + dcmqrdb/docs/dcmqrscp.man + +**** Changes from 2024.01.03 (eichelberg) + +- Fixed signed/unsigned comparison. + Affects: dcmdata/libsrc/dcrleccd.cc + dcmjpls/libsrc/djcodecd.cc + +**** Changes from 2024.01.02 (riesmeier) + +- Fixed less useful change by last commit. + Affects: dcmsr/apps/dsr2html.cc + dcmsr/docs/dsr2html.man + +**** Changes from 2024.01.02 (eichelberg) + +- Shortened --help output to 80 characters. + Affects: dcmdata/apps/img2dcm.cc + dcmnet/apps/getscu.cc + dcmnet/apps/movescu.cc + dcmnet/apps/storescp.cc + dcmnet/apps/storescu.cc + dcmnet/docs/getscu.man + dcmnet/docs/movescu.man + dcmnet/docs/storescp.man + dcmnet/docs/storescu.man + dcmqrdb/apps/dcmqrscp.cc + dcmqrdb/docs/dcmqrscp.man + dcmsr/apps/dsr2html.cc + dcmsr/docs/dsr2html.man + +- Shortened TLS related --help output to 80 characters. + Affects: dcmnet/docs/dcmrecv.man + dcmnet/docs/echoscu.man + dcmnet/docs/findscu.man + dcmnet/docs/storescp.man + dcmnet/docs/storescu.man + dcmtls/docs/certstor.dox + dcmtls/libsrc/tlsopt.cc + +- Fixed buffer overflow in decompression codecs: + Fixed the computation of the element size for the decompressed PixelData + element in all decompression codecs. In the case of datasets that cannot + be decoded to an unencapsulated transfer syntax, since the resulting + pixel data would be larger than 4 GByte, an overflow of the size + variable remained undetected and could lead to a segmentation fault due + to a buffer overrun. + This closes DCMTK issue #1099. + Affects: dcmdata/libsrc/dcrleccd.cc + dcmjpeg/libsrc/djcodecd.cc + dcmjpls/libsrc/djcodecd.cc + +**** Changes from 2024.01.02 (riesmeier) + +- Fixed issue with delimiters being converted: + Fixed issue with delimiter character "\" being converted when converting + a DICOM dataset that uses a Specific Character Set of "ISO 2022 IR 13\ISO + 2022 IR 87" to UTF-8. The delimiter "\" was incorrectly converted to the + Yen sign when processing the value of an "LO" data element that contains + multiple values but does not use any escape sequences. This issues has + been fixed now by always treating the delimiters in a special way. + Thanks to Mathieu Malaterre for the report + and David Gobbi for the analysis and testing. + Affects: dcmdata/libsrc/dcspchrs.cc + +- Added comparison operator to avoid C++20 warning: + Added another comparison operator to avoid "ambiguous overload" warning + when compiling with gcc 12 and C++20 support enabled. + Thanks to GitHub user "SpaceIm" for the original report. + Affects: dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h + +- Also updated version information for GNU Autoconf. + Affects: config/configure + config/configure.in + config/confmod + config/include/dcmtk/config/osconfig.h.in + +**** Changes from 2024.01.02 (onken) + +- Updated version information for 3.6.8+ development: + Updated version information marking the start of DCMTK development + post minor release 3.6.8. + Moved official ANNOUNCE file of the DCMTK release 3.6.8 to the "docs" + subfolder and replaced the main ANNOUNCE file with a "dummy". + Added: docs/ANNOUNCE.368 + Affects: ANNOUNCE + CMake/dcmtkPrepare.cmake + VERSION + +**** Changes from 2023.12.25 (eichelberg) + +- Fixed the DCMTK_LINK_STATIC option on MacOS: + Fixed the DCMTK_LINK_STATIC option on MacOS, where static binaries are not + supported, but the option is still useful since it will create binaries + that only depend on MacOS's libc. + Affects: CMake/dcmtkPrepare.cmake + +- Fixed link instructions for libtiff: + Fixed link instructions for libtiff for the case that libjpeg is not present. + Affects: CMake/3rdparty.cmake diff --git a/doxygen/CMakeLists.txt b/doxygen/CMakeLists.txt index cde14b10..0aa6292f 100644 --- a/doxygen/CMakeLists.txt +++ b/doxygen/CMakeLists.txt @@ -39,9 +39,9 @@ if(DCMTK_WITH_DOXYGEN) endif() # install html docs and manpages - install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/htmldocs/" DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}/html" COMPONENT html PATTERN "*.md5" EXCLUDE) + install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/htmldocs/" DESTINATION "${CMAKE_INSTALL_DOCDIR}/html" COMPONENT html PATTERN "*.md5" EXCLUDE) if(DCMTK_GENERATE_DOXYGEN_TAGFILE) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${DOXYGEN_TAGFILE}" DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}" COMPONENT html OPTIONAL) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${DOXYGEN_TAGFILE}" DESTINATION "${CMAKE_INSTALL_DOCDIR}" COMPONENT html OPTIONAL) endif() if(DCMTK_ENABLE_MANPAGES) file(GLOB_RECURSE MANPAGES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/manpages/" "${CMAKE_CURRENT_SOURCE_DIR}/manpages/*.1") diff --git a/doxygen/htmldocs.cfg b/doxygen/htmldocs.cfg index 0454a2bd..04b65138 100644 --- a/doxygen/htmldocs.cfg +++ b/doxygen/htmldocs.cfg @@ -819,7 +819,8 @@ WARN_LOGFILE = htmldocs.log # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = "@DOXYGEN_INPUT_DIR@" +INPUT = "@DOXYGEN_INPUT_DIR@" \ + "@DOXYGEN_INPUT_DIR@/CONTRIBUTING.md" # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/doxygen/htmldocs.dox b/doxygen/htmldocs.dox index 5b5b7951..1bf257bc 100644 --- a/doxygen/htmldocs.dox +++ b/doxygen/htmldocs.dox @@ -2,13 +2,14 @@ \mainpage -This DICOM ToolKit (DCMTK) package consists of source code, documentation and +This DICOM toolkit (DCMTK) package consists of source code, documentation and installation instructions for a set of software libraries and applications implementing part of the DICOM/MEDICOM Standard. DCMTK contains the following sub-packages, each in its own sub-directory: \li \ref mod_config +\li \ref mod_dcmapps \li \ref mod_dcmdata \li \ref mod_dcmect \li \ref mod_dcmfg @@ -45,22 +46,23 @@ application source code (apps), library source code (libsrc), library include files (include), configuration data (etc), documentation (docs), sample and support data (data) as well as test programs (tests). -To build and install the DCMTK package see the \ref file_install "INSTALL" -file. For copyright information see the \ref file_copyright "COPYRIGHT" file. -For information about the history of this software see the +To build and install the DCMTK package, see the \ref file_install "INSTALL" +file. For copyright information, see the \ref file_copyright "COPYRIGHT" file. +For information about the history of this software, see the \ref file_history "HISTORY" file. -For answers to frequently asked questions please consult the +For answers to frequently asked questions, please consult the FAQ. There is also a Wiki system where additional information can be found. -If you find bugs or other problems with this software we would appreciate -hearing about them. Please send electronic mail to \b bugs/at/dcmtk/dot/org. -Please try to describe the problem in detail and if possible give a suggested -fix. +If you find bugs or other problems with this software, we would appreciate +hearing about them. Please send electronic mail to bugs@dcmtk.org. Please +try to describe the problem in detail and, if possible, give a suggested fix. +For more details on how to contribute, see the \ref md_CONTRIBUTING +"CONTRIBUTING.md" file. -For general questions on how to compile, install or use the toolkit we +For general questions on how to compile, install or use the toolkit, we recommend the public discussion forum. */ diff --git a/doxygen/manpages/man1/cda2dcm.1 b/doxygen/manpages/man1/cda2dcm.1 index 910cb25f..a44c6215 100644 --- a/doxygen/manpages/man1/cda2dcm.1 +++ b/doxygen/manpages/man1/cda2dcm.1 @@ -1,4 +1,4 @@ -.TH "cda2dcm" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "cda2dcm" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME cda2dcm \- Encapsulate CDA file into DICOM file format @@ -19,7 +19,7 @@ The \fBcda2dcm\fP utility reads a CDA file (\fIcdafile-in\fP), converts it to a .nf cdafile-in CDA input filename to be encapsulated -dcmfile-out DICOM output filename ('-' for stdout) +dcmfile-out DICOM output filename ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -125,7 +125,7 @@ override CDA file data: .nf other processing options: - -k --key [k]ey: gggg,eeee='str', path or dictionary name='str' + -k --key [k]ey: gggg,eeee="str", path or dictionary name="str" add further attribute .fi .PP @@ -229,4 +229,4 @@ The \fBcda2dcm\fP utility will attempt to load DICOM data dictionaries specified The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. .SH "COPYRIGHT" .PP -Copyright (C) 2018-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2018-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcm2cda.1 b/doxygen/manpages/man1/dcm2cda.1 new file mode 100644 index 00000000..8d62b904 --- /dev/null +++ b/doxygen/manpages/man1/dcm2cda.1 @@ -0,0 +1,174 @@ +.TH "dcm2cda" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- +.nh +.SH NAME +dcm2cda \- Extract CDA file from DICOM encapsulated CDA + +.SH "SYNOPSIS" +.PP +.PP +.nf +dcm2cda [options] dcmfile-in cdafile-out +.fi +.PP +.SH "DESCRIPTION" +.PP +The \fBdcm2cda\fP utility reads a DICOM file of the Encapsulated CDA Storage SOP Class (\fIdcmfile-in\fP), extracts the embedded CDA document and writes it to an output file (\fIcdafile-out\fP)\&. Optionally a command can be executed after the creation of the CDA file\&. +.SH "PARAMETERS" +.PP +.PP +.nf +dcmfile-in DICOM input filename ("-" for stdin) + +cdafile-out CDA output filename +.fi +.PP +.SH "OPTIONS" +.PP +.SS "general options" +.PP +.nf + -h --help + print this help text and exit + + --version + print version information and exit + + --arguments + print expanded command line arguments + + -q --quiet + quiet mode, print no warnings and errors + + -v --verbose + verbose mode, print processing details + + -d --debug + debug mode, print debug information + + -ll --log-level [l]evel: string constant + (fatal, error, warn, info, debug, trace) + use level l for the logger + + -lc --log-config [f]ilename: string + use config file f for the logger +.fi +.PP +.SS "input options" +.PP +.nf +input file format: + + +f --read-file + read file format or data set (default) + + +fo --read-file-only + read file format only + + -f --read-dataset + read data set without file meta information + +input transfer syntax: + + -t= --read-xfer-auto + use TS recognition (default) + + -td --read-xfer-detect + ignore TS specified in the file meta header + + -te --read-xfer-little + read with explicit VR little endian TS + + -tb --read-xfer-big + read with explicit VR big endian TS + + -ti --read-xfer-implicit + read with implicit VR little endian TS + +parsing of odd-length attributes: + + +ao --accept-odd-length + accept odd length attributes (default) + + +ae --assume-even-length + assume real length is one byte larger + +handling of undefined length UN elements: + + +ui --enable-cp246 + read undefined len UN as implicit VR (default) + + -ui --disable-cp246 + read undefined len UN as explicit VR + +handling of defined length UN elements: + + -uc --retain-un + retain elements as UN (default) + + +uc --convert-un + convert to real VR if known + +automatic data correction: + + +dc --enable-correction + enable automatic data correction (default) + + -dc --disable-correction + disable automatic data correction + +bitstream format of deflated input: + + +bd --bitstream-deflated + expect deflated bitstream (default) + + +bz --bitstream-zlib + expect deflated zlib bitstream +.fi +.PP +.SH "LOGGING" +.PP +The level of logging output of the various command line tools and underlying libraries can be specified by the user\&. By default, only errors and warnings are written to the standard error stream\&. Using option \fI--verbose\fP also informational messages like processing details are reported\&. Option \fI--debug\fP can be used to get more details on the internal activity, e\&.g\&. for debugging purposes\&. Other logging levels can be selected using option \fI--log-level\fP\&. In \fI--quiet\fP mode only fatal errors are reported\&. In such very severe error events, the application will usually terminate\&. For more details on the different logging levels, see documentation of module 'oflog'\&. +.PP +In case the logging output should be written to file (optionally with logfile rotation), to syslog (Unix) or the event log (Windows) option \fI--log-config\fP can be used\&. This configuration file also allows for directing only certain messages to a particular output stream and for filtering certain messages based on the module or application where they are generated\&. An example configuration file is provided in \fI/logger\&.cfg\fP\&. +.SH "EXIT CODES" +.PP +The \fBdcm2cda\fP utility uses the following exit codes when terminating\&. This enables the user to check for the reason why the application terminated\&. +.SS "general" +.PP +.nf +EXITCODE_NO_ERROR 0 +EXITCODE_COMMANDLINE_SYNTAX_ERROR 1 +.fi +.PP +.SS "input file errors" +.PP +.nf +EXITCODE_CANNOT_READ_INPUT_FILE 20 +EXITCODE_NO_INPUT_FILES 21 +EXITCODE_INVALID_INPUT_FILE 22 +.fi +.PP +.SS "output file errors" +.PP +.nf +EXITCODE_CANNOT_WRITE_OUTPUT_FILE 40 +.fi +.PP +.SH "COMMAND LINE" +.PP +All command line tools use the following notation for parameters: square brackets enclose optional values (0-1), three trailing dots indicate that multiple values are allowed (1-n), a combination of both means 0 to n values\&. +.PP +Command line options are distinguished from parameters by a leading '+' or '-' sign, respectively\&. Usually, order and position of command line options are arbitrary (i\&.e\&. they can appear anywhere)\&. However, if options are mutually exclusive the rightmost appearance is used\&. This behavior conforms to the standard evaluation rules of common Unix shells\&. +.PP +In addition, one or more command files can be specified using an '@' sign as a prefix to the filename (e\&.g\&. \fI@command\&.txt\fP)\&. Such a command argument is replaced by the content of the corresponding text file (multiple whitespaces are treated as a single separator unless they appear between two quotation marks) prior to any further evaluation\&. Please note that a command file cannot contain another command file\&. This simple but effective approach allows one to summarize common combinations of options/parameters and avoids longish and confusing command lines (an example is provided in file \fI/dumppat\&.txt\fP)\&. +.SH "ENVIRONMENT" +.PP +The \fBdcm2cda\fP utility will attempt to load DICOM data dictionaries specified in the \fIDCMDICTPATH\fP environment variable\&. By default, i\&.e\&. if the \fIDCMDICTPATH\fP environment variable is not set, the file \fI/dicom\&.dic\fP will be loaded unless the dictionary is built into the application (default for Windows)\&. +.PP +The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. +.SH "SEE ALSO" +.PP +\fBcda2dcm\fP(1) +.SH "COPYRIGHT" +.PP +Copyright (C) 2023-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcm2img.1 b/doxygen/manpages/man1/dcm2img.1 new file mode 100644 index 00000000..e745b4f1 --- /dev/null +++ b/doxygen/manpages/man1/dcm2img.1 @@ -0,0 +1,558 @@ +.TH "dcm2img" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- +.nh +.SH NAME +dcm2img \- Convert DICOM image to standard image format + +.SH "SYNOPSIS" +.PP +.PP +.nf +dcm2img [options] dcmfile-in [bitmap-out] +.fi +.PP +.SH "DESCRIPTION" +.PP +The \fBdcm2img\fP utility reads a DICOM image, converts the pixel data according to the selected image processing options and writes back an image in one the following general purpose image formats: BMP, PGM/PPM, PNG, TIFF, JPEG, or JPEG-LS\&. This utility supports uncompressed as well as JPEG, JPEG-LS and RLE compressed DICOM images\&. +.SH "PARAMETERS" +.PP +.PP +.nf +dcmfile-in DICOM input filename to be converted ("-" for stdin) + +bitmap-out output filename to be written (default: stdout) +.fi +.PP +.SH "OPTIONS" +.PP +.SS "general options" +.PP +.nf + -h --help + print this help text and exit + + --version + print version information and exit + + --arguments + print expanded command line arguments + + -q --quiet + quiet mode, print no warnings and errors + + -v --verbose + verbose mode, print processing details + + -d --debug + debug mode, print debug information + + -ll --log-level [l]evel: string constant + (fatal, error, warn, info, debug, trace) + use level l for the logger + + -lc --log-config [f]ilename: string + use config file f for the logger +.fi +.PP +.SS "input options" +.PP +.nf +input file format: + + +f --read-file + read file format or data set (default) + + +fo --read-file-only + read file format only + + -f --read-dataset + read data set without file meta information + +input transfer syntax: + + -t= --read-xfer-auto + use TS recognition (default) + + -td --read-xfer-detect + ignore TS specified in the file meta header + + -te --read-xfer-little + read with explicit VR little endian TS + + -tb --read-xfer-big + read with explicit VR big endian TS + + -ti --read-xfer-implicit + read with implicit VR little endian TS +.fi +.PP +.SS "image processing options" +.PP +.nf +frame selection: + + +F --frame [n]umber: integer + select specified frame (default: 1) + + +Fr --frame-range [n]umber [c]ount: integer + select c frames beginning with frame n + + +Fa --all-frames + select all frames + +rotation: + + +Rl --rotate-left + rotate image left (-90 degrees) + + +Rr --rotate-right + rotate image right (+90 degrees) + + +Rtd --rotate-top-down + rotate image top-down (180 degrees) + +flipping: + + +Lh --flip-horizontally + flip image horizontally + + +Lv --flip-vertically + flip image vertically + + +Lhv --flip-both-axes + flip image horizontally and vertically + +scaling: + + +a --recognize-aspect + recognize pixel aspect ratio when scaling (default) + + -a --ignore-aspect + ignore pixel aspect ratio when scaling + + +i --interpolate [n]umber of algorithm: integer + use interpolation when scaling (1..4, default: 1) + + -i --no-interpolation + no interpolation when scaling + + -S --no-scaling + no scaling, ignore pixel aspect ratio (default) + + +Sxf --scale-x-factor [f]actor: float + scale x axis by factor, auto-compute y axis + + +Syf --scale-y-factor [f]actor: float + scale y axis by factor, auto-compute x axis + + +Sxv --scale-x-size [n]umber: integer + scale x axis to n pixels, auto-compute y axis + + +Syv --scale-y-size [n]umber: integer + scale y axis to n pixels, auto-compute x axis + +color space conversion (JPEG compressed images only): + + +cp --conv-photometric + convert if YCbCr photometric interpretation (default) + + +cl --conv-lossy + convert YCbCr to RGB if lossy JPEG + + +cg --conv-guess + convert to RGB if YCbCr is guessed by library + + +cgl --conv-guess-lossy + convert to RGB if lossy JPEG and YCbCr is + guessed by the underlying JPEG library + + +ca --conv-always + always convert YCbCr to RGB + + +cn --conv-never + never convert color space + +workaround options for incorrect encodings (JPEG compressed images only): + + +w6 --workaround-pred6 + enable workaround for JPEG lossless images + with overflow in predictor 6 + + # DICOM images with 16 bits/pixel have been observed "in the wild" + # that are compressed with lossless JPEG and need special handling + # because the encoder produced an 16-bit integer overflow in predictor + # 6, which needs to be compensated (reproduced) during decompression. + # This flag enables a correct decompression of such faulty images, but + # at the same time will cause an incorrect decompression of correctly + # compressed images. Use with care. + + +wi --workaround-incpl + enable workaround for incomplete JPEG data + + # This option causes dcm2img to ignore incomplete JPEG data + # at the end of a compressed fragment and to start decompressing + # the next frame from the next fragment (if any). This permits + # images with incomplete JPEG data to be decoded. + + +wc --workaround-cornell + enable workaround for 16-bit JPEG lossless + Cornell images with Huffman table overflow + + # One of the first open-source implementations of lossless JPEG + # compression, the "Cornell" library, has a well-known bug that leads + # to invalid values in the Huffmann table when images with 16 bit/sample + # are compressed. This flag enables a workaround that permits such + # images to be decoded correctly. + +modality LUT transformation: + + -M --no-modality + ignore stored modality LUT transformation + + +M --use-modality + use modality LUT transformation (default) + +VOI LUT transformation: + + -W --no-windowing + no VOI windowing (default) + + +Wi --use-window [n]umber: integer + use the n-th VOI window from image file + + +Wl --use-voi-lut [n]umber: integer + use the n-th VOI look up table from image file + + +Wm --min-max-window + compute VOI window using min-max algorithm + + +Wn --min-max-window-n + compute VOI window using min-max algorithm, + ignoring extreme values + + +Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer + compute ROI window using min-max algorithm, + region of interest is specified by l,t,w,h + + +Wh --histogram-window [n]umber: integer + compute VOI window using Histogram algorithm, + ignoring n percent + + +Ww --set-window [c]enter [w]idth: float + compute VOI window using center c and width w + + +Wfl --linear-function + set VOI LUT function to LINEAR + + +Wfs --sigmoid-function + set VOI LUT function to SIGMOID + +presentation LUT transformation: + + +Pid --identity-shape + set presentation LUT shape to IDENTITY + + +Piv --inverse-shape + set presentation LUT shape to INVERSE + + +Pod --lin-od-shape + set presentation LUT shape to LIN OD + +overlay: + + -O --no-overlays + do not display overlays + + +O --display-overlay [n]umber: integer + display overlay n (0..16, 0=all, default: +O 0) + + +Omr --ovl-replace + use overlay mode "Replace" + (default for Graphic overlays) + + +Omt --ovl-threshold + use overlay mode "Threshold Replace" + + +Omc --ovl-complement + use overlay mode "Complement" + + +Omv --ovl-invert + use overlay mode "Invert Bitmap" + + +Omi --ovl-roi + use overlay mode "Region of Interest" + (default for ROI overlays) + + +Osf --set-foreground [d]ensity: float + set overlay foreground density (0..1, default: 1) + + +Ost --set-threshold [d]ensity: float + set overlay threshold density (0..1, default: 0.5) + +display LUT transformation: + + +Dm --monitor-file [f]ilename: string + calibrate output according to monitor characteristics + defined in f + + +Dp --printer-file [f]ilename: string + calibrate output according to printer characteristics + defined in f + + +Da --ambient-light [a]mbient light: float + ambient light value (cd/m^2, default: file f) + + +Di --illumination [i]llumination: float + illumination value (cd/m^2, default: file f) + + +Dn --min-density [m]inimum optical density: float + Dmin value (default: off, only with +Dp) + + +Dx --max-density [m]aximum optical density: float + Dmax value (default: off, only with +Dp) + + +Dg --gsd-function + use GSDF for calibration (default for +Dm/+Dp) + + +Dc --cielab-function + use CIELAB function for calibration + +compatibility: + + +Ma --accept-acr-nema + accept ACR-NEMA images without photometric + interpretation + + +Mp --accept-palettes + accept incorrect palette attribute tags + (0028,111x) and (0028,121x) + + +Mc --check-lut-depth + check 3rd value of the LUT descriptor, compare + with expected bit depth based on LUT data + + +Mm --ignore-mlut-depth + ignore 3rd value of the modality LUT descriptor, + determine bits per table entry automatically + + +Mv --ignore-vlut-depth + ignore 3rd value of the VOI LUT descriptor, + determine bits per table entry automatically + +TIFF format: + + +Tl --compr-lzw + LZW compression (default) + + +Tr --compr-rle + RLE compression + + +Tn --compr-none + uncompressed + + +Pd --predictor-default + no LZW predictor (default) + + +Pn --predictor-none + LZW predictor 1 (no prediction) + + +Ph --predictor-horz + LZW predictor 2 (horizontal differencing) + + +Rs --rows-per-strip [r]ows: integer (default: 0) + rows per strip, default 8K per strip + +PNG format: + + +il --interlace + create interlaced file (default) + + -il --nointerlace + create non-interlaced file + + +mf --meta-file + create PNG file meta information (default) + + -mf --meta-none + no PNG file meta information + +JPEG format: + + +Jq --compr-quality [q]uality: integer (0..100, default: 90) + quality value for compression (in percent) + + +Js4 --sample-444 + 4:4:4 sampling (no subsampling) + + +Js2 --sample-422 + 4:2:2 subsampling (horizontal subsampling of + chroma components, default) + + +Js1 --sample-411 + 4:1:1 subsampling (horizontal and vertical + subsampling of chroma components) + +JPEG-LS format: + + +Trl --rendered-lossless + lossless compression of rendered image (default) + + +Tll --true-lossless + lossless compression of raw image + + +f8 --force-8-bit + force output bit depth to 8 bits + (not with --true-lossless) + +other transformations: + + +G --grayscale + convert color image to grayscale (monochrome) + + +P --change-polarity + change polarity (invert pixel output) + + +C --clip-region [l]eft [t]op [w]idth [h]eight: integer + clip image region (l, t, w, h) +.fi +.PP +.SS "output options" +.PP +.nf +general: + + -im --image-info + print image details (requires verbose mode) + + -o --no-output + do not create any output (useful with -im) + +filename generation (only with --frame-range or --all-frames): + + +Fc --use-frame-counter + use 0-based counter for filenames (default) + + +Fn --use-frame-number + use absolute frame number for filenames + +image format: + + +oa --write-auto + determine file format from filename extension + (default for files) + + # If the output filename contains no extension or an + # unknown/unsupported one, a warning is printed and a BMP file + # is written (see --write-bmp). + + +op --write-raw-pnm + write 8-bit binary PGM/PPM + + +opb --write-8-bit-pnm + write 8-bit ASCII PGM/PPM (default for stdout) + + +opw --write-16-bit-pnm + write 16-bit ASCII PGM/PPM + + +opn --write-n-bit-pnm [n]umber: integer + write n-bit ASCII PGM/PPM (1..32) + + +ob --write-bmp + write 8-bit (monochrome) or 24-bit (color) BMP + + +obp --write-8-bit-bmp + write 8-bit palette BMP (monochrome only) + + +obt --write-24-bit-bmp + write 24-bit truecolor BMP + + +obr --write-32-bit-bmp + write 32-bit truecolor BMP + + +ot --write-tiff + write 8-bit (monochrome) or 24-bit (color) TIFF + + +on --write-png + write 8-bit (monochrome) or 24-bit (color) PNG + + +on2 --write-16-bit-png + write 16-bit (monochrome) or 48-bit (color) PNG + + +oj --write-jpeg + write 8-bit lossy JPEG (baseline) + + +ol --write-jpls + write JPEG-LS +.fi +.PP +.SH "NOTES" +.PP +The following preferred interpolation algorithms can be selected using the \fI--interpolate\fP option: +.PP +.IP "\(bu" 2 +1 = free scaling algorithm with interpolation from pbmplus toolkit +.IP "\(bu" 2 +2 = free scaling algorithm with interpolation from c't magazine +.IP "\(bu" 2 +3 = magnification algorithm with bilinear interpolation from Eduard Stanescu +.IP "\(bu" 2 +4 = magnification algorithm with bicubic interpolation from Eduard Stanescu +.PP +.PP +The \fI--write-tiff\fP option is only available when DCMTK has been configured and compiled with support for the external \fBlibtiff\fP TIFF library\&. The availability of the TIFF compression options depends on the \fBlibtiff\fP configuration\&. +.PP +The \fI--write-png\fP option is only available when DCMTK has been configured and compiled with support for the external \fBlibpng\fP PNG library\&. Option \fI--interlace\fP enables progressive image view while loading the PNG file\&. Only a few applications take care of the meta info (TEXT) in a PNG file\&. +.SH "TRANSFER SYNTAXES" +.PP +\fBdcm2img\fP supports the following transfer syntaxes for input (\fIdcmfile-in\fP): +.PP +.PP +.nf +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 +JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80 +JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81 +JPEGProcess10_12TransferSyntax 1.2.840.10008.1.2.4.55 +JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70 +JPEGProcess14TransferSyntax 1.2.840.10008.1.2.4.57 +JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 +JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 +JPEGProcess6_8TransferSyntax 1.2.840.10008.1.2.4.53 +RLELosslessTransferSyntax 1.2.840.10008.1.2.5 +.fi +.PP +.PP +(*) if compiled with zlib support enabled +.SH "LOGGING" +.PP +The level of logging output of the various command line tools and underlying libraries can be specified by the user\&. By default, only errors and warnings are written to the standard error stream\&. Using option \fI--verbose\fP also informational messages like processing details are reported\&. Option \fI--debug\fP can be used to get more details on the internal activity, e\&.g\&. for debugging purposes\&. Other logging levels can be selected using option \fI--log-level\fP\&. In \fI--quiet\fP mode only fatal errors are reported\&. In such very severe error events, the application will usually terminate\&. For more details on the different logging levels, see documentation of module 'oflog'\&. +.PP +In case the logging output should be written to file (optionally with logfile rotation), to syslog (Unix) or the event log (Windows) option \fI--log-config\fP can be used\&. This configuration file also allows for directing only certain messages to a particular output stream and for filtering certain messages based on the module or application where they are generated\&. An example configuration file is provided in \fI/logger\&.cfg\fP\&. +.SH "COMMAND LINE" +.PP +All command line tools use the following notation for parameters: square brackets enclose optional values (0-1), three trailing dots indicate that multiple values are allowed (1-n), a combination of both means 0 to n values\&. +.PP +Command line options are distinguished from parameters by a leading '+' or '-' sign, respectively\&. Usually, order and position of command line options are arbitrary (i\&.e\&. they can appear anywhere)\&. However, if options are mutually exclusive the rightmost appearance is used\&. This behavior conforms to the standard evaluation rules of common Unix shells\&. +.PP +In addition, one or more command files can be specified using an '@' sign as a prefix to the filename (e\&.g\&. \fI@command\&.txt\fP)\&. Such a command argument is replaced by the content of the corresponding text file (multiple whitespaces are treated as a single separator unless they appear between two quotation marks) prior to any further evaluation\&. Please note that a command file cannot contain another command file\&. This simple but effective approach allows one to summarize common combinations of options/parameters and avoids longish and confusing command lines (an example is provided in file \fI/dumppat\&.txt\fP)\&. +.SH "ENVIRONMENT" +.PP +The \fBdcm2img\fP utility will attempt to load DICOM data dictionaries specified in the \fIDCMDICTPATH\fP environment variable\&. By default, i\&.e\&. if the \fIDCMDICTPATH\fP environment variable is not set, the file \fI/dicom\&.dic\fP will be loaded unless the dictionary is built into the application (default for Windows)\&. +.PP +The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. +.SH "FILES" +.PP +\fI/camera\&.lut\fP - sample characteristics file of a camera +.br +\fI/monitor\&.lut\fP - sample characteristics file of a monitor +.br +\fI/printer\&.lut\fP - sample characteristics file of a printer +.br +\fI/scanner\&.lut\fP - sample characteristics file of a scanner +.SH "SEE ALSO" +.PP +\fBimg2dcm\fP(1) +.SH "COPYRIGHT" +.PP +Copyright (C) 2001-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcm2json.1 b/doxygen/manpages/man1/dcm2json.1 index ef2115e3..46d7457e 100644 --- a/doxygen/manpages/man1/dcm2json.1 +++ b/doxygen/manpages/man1/dcm2json.1 @@ -1,4 +1,4 @@ -.TH "dcm2json" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcm2json" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcm2json \- Convert DICOM file and data set to JSON @@ -19,7 +19,7 @@ If \fBdcm2json\fP reads a raw data set (DICOM data without a file format meta-he .PP .PP .nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) +dcmfile-in DICOM input filename to be converted ("-" for stdin) jsonfile-out JSON output filename (default: stdout) .fi @@ -136,154 +136,154 @@ The basic structure of the JSON output created from a DICOM file looks like the .PP .nf { - '00080005': { - 'vr': 'CS', - 'Value': [ - 'ISO_IR 192' + "00080005": { + "vr": "CS", + "Value": [ + "ISO_IR 192" ] }, - '00080020': { - 'vr': 'DT', - 'Value': [ - '20130409' + "00080020": { + "vr": "DT", + "Value": [ + "20130409" ] }, - '00080030': { - 'vr': 'TM', - 'Value': [ - '131600\&.0000' + "00080030": { + "vr": "TM", + "Value": [ + "131600.0000" ] }, - '00080050': { - 'vr': 'SH', - 'Value': [ - '11235813' + "00080050": { + "vr": "SH", + "Value": [ + "11235813" ] }, - '00080056': { - 'vr': 'CS', - 'Value': [ - 'ONLINE' + "00080056": { + "vr": "CS", + "Value": [ + "ONLINE" ] }, - '00080061': { - 'vr': 'CS', - 'Value': [ - 'CT', - 'PET' + "00080061": { + "vr": "CS", + "Value": [ + "CT", + "PET" ] }, - '00080090': { - 'vr': 'PN', - 'Value': [ + "00080090": { + "vr": "PN", + "Value": [ { - 'Alphabetic': '^Bob^^Dr\&.' + "Alphabetic": "^Bob^^Dr." } ] }, - '00081190': { - 'vr': 'UR', - 'Value': [ - 'http://wado\&.nema\&.org/studies/ - 1\&.2\&.392\&.200036\&.9116\&.2\&.2\&.2\&.1762893313\&.1029997326\&.945873' + "00081190": { + "vr": "UR", + "Value": [ + "http://wado.nema.org/studies/ + 1.2.392.200036.9116.2.2.2.1762893313.1029997326.945873" ] }, - '00090010': { - 'vr': 'LO', - 'Value': [ - 'Vendor A' + "00090010": { + "vr": "LO", + "Value": [ + "Vendor A" ] }, - '00091002': { - 'vr': 'UN', - 'InlineBinary': 'z0x9c8v7' + "00091002": { + "vr": "UN", + "InlineBinary": "z0x9c8v7" }, - '00100010': { - 'vr': 'PN', - 'Value': [ + "00100010": { + "vr": "PN", + "Value": [ { - 'Alphabetic': 'Wang^XiaoDong' + "Alphabetic": "Wang^XiaoDong" } ] }, - '00100020': { - 'vr': 'LO', - 'Value': [ - '12345' + "00100020": { + "vr": "LO", + "Value": [ + "12345" ] }, - '00100021': { - 'vr': 'LO', - 'Value': [ - 'Hospital A' + "00100021": { + "vr": "LO", + "Value": [ + "Hospital A" ] }, - '00100030': { - 'vr': 'DA', - 'Value': [ - '19670701' + "00100030": { + "vr": "DA", + "Value": [ + "19670701" ] }, - '00100040': { - 'vr': 'CS', - 'Value': [ - 'M' + "00100040": { + "vr": "CS", + "Value": [ + "M" ] }, - '00101002': { - 'vr': 'SQ', - 'Value': [ + "00101002": { + "vr": "SQ", + "Value": [ { - '00100020': { - 'vr': 'LO', - 'Value': [ - '54321' + "00100020": { + "vr": "LO", + "Value": [ + "54321" ] }, - '00100021': { - 'vr': 'LO', - 'Value': [ - 'Hospital B' + "00100021": { + "vr": "LO", + "Value": [ + "Hospital B" ] } }, { - '00100020': { - 'vr': 'LO', - 'Value': [ - '24680' + "00100020": { + "vr": "LO", + "Value": [ + "24680" ] }, - '00100021': { - 'vr': 'LO', - 'Value': [ - 'Hospital C' + "00100021": { + "vr": "LO", + "Value": [ + "Hospital C" ] } } ] }, - '0020000D': { - 'vr': 'UI', - 'Value': [ - '1\&.2\&.392\&.200036\&.9116\&.2\&.2\&.2\&.1762893313\&.1029997326\&.945873' + "0020000D": { + "vr": "UI", + "Value": [ + "1.2.392.200036.9116.2.2.2.1762893313.1029997326.945873" ] }, - '00200010': { - 'vr': 'SH', - 'Value': [ - '11235813' + "00200010": { + "vr": "SH", + "Value": [ + "11235813" ] }, - '00201206': { - 'vr': 'IS', - 'Value': [ + "00201206": { + "vr": "IS", + "Value": [ 4 ] }, - '00201208': { - 'vr': 'IS', - 'Value': [ + "00201208": { + "vr": "IS", + "Value": [ 942 ] } @@ -297,7 +297,7 @@ Binary data, i\&.e\&. DICOM element values with Value Representations (VR) of OB .SS "Numbers as Strings" The DICOM standard allows certain numeric DICOM value representations, DS, IS, SV and UV, to be converted either to a JSON number or a JSON string\&. \fBdcm2json\fP converts DS and IS values to JSON numbers if they are valid decimal strings or integer strings, and to strings if they contain any illegal character\&. \fBdcm2json\fP converts SV and UV values to numbers if they are not larger than 9007199254740991ll or smaller than -9007199254740991ll, and to strings otherwise\&. While the JSON specification permits larger numbers, these are the largest integers that JavaScript can handle\&. Therefore, many JSON parsers cannot process larger numbers\&. .SS "Character Encoding" -As required by the DICOM JSON encoding, \fBdcm2json\fP always creates output in Unicode UTF-8 encoding and converts DICOM datasets accordingly\&. If this is not possible, for example because DCMTK has been compiled without either iconv or ICU library, an error is returned\&. +As required by the DICOM JSON encoding, \fBdcm2json\fP always creates output in Unicode UTF-8 encoding and converts DICOM datasets accordingly\&. If this is not possible, for example because DCMTK has been compiled without character set conversion support, an error is returned\&. .SH "LOGGING" .PP The level of logging output of the various command line tools and underlying libraries can be specified by the user\&. By default, only errors and warnings are written to the standard error stream\&. Using option \fI--verbose\fP also informational messages like processing details are reported\&. Option \fI--debug\fP can be used to get more details on the internal activity, e\&.g\&. for debugging purposes\&. Other logging levels can be selected using option \fI--log-level\fP\&. In \fI--quiet\fP mode only fatal errors are reported\&. In such very severe error events, the application will usually terminate\&. For more details on the different logging levels, see documentation of module 'oflog'\&. @@ -351,4 +351,4 @@ The \fBdcm2json\fP utility will attempt to load character set mapping tables\&. The mapping table files are expected in DCMTK's \fI\fP\&. The \fIDCMICONVPATH\fP environment variable can be used to specify a different location\&. If a different location is specified, those mapping tables also replace any built-in tables\&. .SH "COPYRIGHT" .PP -Copyright (C) 2016-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2016-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcm2pdf.1 b/doxygen/manpages/man1/dcm2pdf.1 index e4211e0d..3385aa45 100644 --- a/doxygen/manpages/man1/dcm2pdf.1 +++ b/doxygen/manpages/man1/dcm2pdf.1 @@ -1,4 +1,4 @@ -.TH "dcm2pdf" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcm2pdf" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcm2pdf \- Extract PDF file from DICOM encapsulated PDF @@ -17,7 +17,7 @@ The \fBdcm2pdf\fP utility reads a DICOM file of the Encapsulated PDF Storage SOP .PP .PP .nf -dcmfile-in DICOM input filename ('-' for stdin) +dcmfile-in DICOM input filename ("-" for stdin) pdffile-out PDF output filename .fi @@ -125,11 +125,13 @@ bitstream format of deflated input: expect deflated zlib bitstream .fi .PP -.SS "execution options" +.SS "processing options" +execution options: .PP .nf -x --exec [c]ommand: string execute command c after PDF extraction + .fi .PP .SH "NOTES" @@ -140,6 +142,37 @@ Option \fI--exec\fP allows for the execution of a certain command line after the The level of logging output of the various command line tools and underlying libraries can be specified by the user\&. By default, only errors and warnings are written to the standard error stream\&. Using option \fI--verbose\fP also informational messages like processing details are reported\&. Option \fI--debug\fP can be used to get more details on the internal activity, e\&.g\&. for debugging purposes\&. Other logging levels can be selected using option \fI--log-level\fP\&. In \fI--quiet\fP mode only fatal errors are reported\&. In such very severe error events, the application will usually terminate\&. For more details on the different logging levels, see documentation of module 'oflog'\&. .PP In case the logging output should be written to file (optionally with logfile rotation), to syslog (Unix) or the event log (Windows) option \fI--log-config\fP can be used\&. This configuration file also allows for directing only certain messages to a particular output stream and for filtering certain messages based on the module or application where they are generated\&. An example configuration file is provided in \fI/logger\&.cfg\fP\&. +.SH "EXIT CODES" +.PP +The \fBdcm2pdf\fP utility uses the following exit codes when terminating\&. This enables the user to check for the reason why the application terminated\&. +.SS "general" +.PP +.nf +EXITCODE_NO_ERROR 0 +EXITCODE_COMMANDLINE_SYNTAX_ERROR 1 +.fi +.PP +.SS "input file errors" +.PP +.nf +EXITCODE_CANNOT_READ_INPUT_FILE 20 +EXITCODE_NO_INPUT_FILES 21 +EXITCODE_INVALID_INPUT_FILE 22 +.fi +.PP +.SS "output file errors" +.PP +.nf +EXITCODE_CANNOT_WRITE_OUTPUT_FILE 40 +.fi +.PP +.SS "processing errors" +.PP +.nf +EXITCODE_CANNOT_CONVERT_TO_UNICODE 80 +EXITCODE_CANNOT_WRITE_VALID_JSON 81 +.fi +.PP .SH "COMMAND LINE" .PP All command line tools use the following notation for parameters: square brackets enclose optional values (0-1), three trailing dots indicate that multiple values are allowed (1-n), a combination of both means 0 to n values\&. @@ -157,4 +190,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBpdf2dcm\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2007-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2007-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcm2pnm.1 b/doxygen/manpages/man1/dcm2pnm.1 index 264c69a0..47c9a4f9 100644 --- a/doxygen/manpages/man1/dcm2pnm.1 +++ b/doxygen/manpages/man1/dcm2pnm.1 @@ -1,4 +1,4 @@ -.TH "dcm2pnm" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcm2pnm" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcm2pnm \- Convert DICOM images to PGM/PPM, PNG, TIFF or BMP @@ -12,444 +12,10 @@ dcm2pnm [options] dcmfile-in [bitmap-out] .PP .SH "DESCRIPTION" .PP -The \fBdcm2pnm\fP utility reads a DICOM image, converts the pixel data according to the selected image processing options and writes back an image in the well-known PGM/PPM (portable gray map / portable pix map), PNG, TIFF or Windows BMP format\&. This utility only supports uncompressed and RLE compressed DICOM images\&. The command line tool \fBdcmj2pnm\fP also supports a number of JPEG compression schemes\&. -.SH "PARAMETERS" -.PP -.PP -.nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) - -bitmap-out output filename to be written (default: stdout) -.fi -.PP -.SH "OPTIONS" -.PP -.SS "general options" -.PP -.nf - -h --help - print this help text and exit - - --version - print version information and exit - - --arguments - print expanded command line arguments - - -q --quiet - quiet mode, print no warnings and errors - - -v --verbose - verbose mode, print processing details - - -d --debug - debug mode, print debug information - - -ll --log-level [l]evel: string constant - (fatal, error, warn, info, debug, trace) - use level l for the logger - - -lc --log-config [f]ilename: string - use config file f for the logger -.fi -.PP -.SS "input options" -.PP -.nf -input file format: - - +f --read-file - read file format or data set (default) - - +fo --read-file-only - read file format only - - -f --read-dataset - read data set without file meta information - -input transfer syntax: - - -t= --read-xfer-auto - use TS recognition (default) - - -td --read-xfer-detect - ignore TS specified in the file meta header - - -te --read-xfer-little - read with explicit VR little endian TS - - -tb --read-xfer-big - read with explicit VR big endian TS - - -ti --read-xfer-implicit - read with implicit VR little endian TS -.fi -.PP -.SS "image processing options" -.PP -.nf -frame selection: - - +F --frame [n]umber: integer - select specified frame (default: 1) - - +Fr --frame-range [n]umber [c]ount: integer - select c frames beginning with frame n - - +Fa --all-frames - select all frames - -rotation: - - +Rl --rotate-left - rotate image left (-90 degrees) - - +Rr --rotate-right - rotate image right (+90 degrees) - - +Rtd --rotate-top-down - rotate image top-down (180 degrees) - -flipping: - - +Lh --flip-horizontally - flip image horizontally - - +Lv --flip-vertically - flip image vertically - - +Lhv --flip-both-axes - flip image horizontally and vertically - -scaling: - - +a --recognize-aspect - recognize pixel aspect ratio when scaling (default) - - -a --ignore-aspect - ignore pixel aspect ratio when scaling - - +i --interpolate [n]umber of algorithm: integer - use interpolation when scaling (1\&.\&.4, default: 1) - - -i --no-interpolation - no interpolation when scaling - - -S --no-scaling - no scaling, ignore pixel aspect ratio (default) - - +Sxf --scale-x-factor [f]actor: float - scale x axis by factor, auto-compute y axis - - +Syf --scale-y-factor [f]actor: float - scale y axis by factor, auto-compute x axis - - +Sxv --scale-x-size [n]umber: integer - scale x axis to n pixels, auto-compute y axis - - +Syv --scale-y-size [n]umber: integer - scale y axis to n pixels, auto-compute x axis - -modality LUT transformation: - - -M --no-modality - ignore stored modality LUT transformation - - +M --use-modality - use modality LUT transformation (default) - -VOI LUT transformation: - - -W --no-windowing - no VOI windowing (default) - - +Wi --use-window [n]umber: integer - use the n-th VOI window from image file - - +Wl --use-voi-lut [n]umber: integer - use the n-th VOI look up table from image file - - +Wm --min-max-window - compute VOI window using min-max algorithm - - +Wn --min-max-window-n - compute VOI window using min-max algorithm, - ignoring extreme values - - +Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer - compute ROI window using min-max algorithm, - region of interest is specified by l,t,w,h - - +Wh --histogram-window [n]umber: integer - compute VOI window using Histogram algorithm, - ignoring n percent - - +Ww --set-window [c]enter [w]idth: float - compute VOI window using center c and width w - - +Wfl --linear-function - set VOI LUT function to LINEAR - - +Wfs --sigmoid-function - set VOI LUT function to SIGMOID - -presentation LUT transformation: - - +Pid --identity-shape - set presentation LUT shape to IDENTITY - - +Piv --inverse-shape - set presentation LUT shape to INVERSE - - +Pod --lin-od-shape - set presentation LUT shape to LIN OD - -overlay: - - -O --no-overlays - do not display overlays - - +O --display-overlay [n]umber: integer - display overlay n (0\&.\&.16, 0=all, default: +O 0) - - +Omr --ovl-replace - use overlay mode 'Replace' - (default for Graphic overlays) - - +Omt --ovl-threshold - use overlay mode 'Threshold Replace' - - +Omc --ovl-complement - use overlay mode 'Complement' - - +Omv --ovl-invert - use overlay mode 'Invert Bitmap' - - +Omi --ovl-roi - use overlay mode 'Region of Interest' - (default for ROI overlays) - - +Osf --set-foreground [d]ensity: float - set overlay foreground density (0\&.\&.1, default: 1) - - +Ost --set-threshold [d]ensity: float - set overlay threshold density (0\&.\&.1, default: 0\&.5) - -display LUT transformation: - - +Dm --monitor-file [f]ilename: string - calibrate output according to monitor characteristics - defined in f - - +Dp --printer-file [f]ilename: string - calibrate output according to printer characteristics - defined in f - - +Da --ambient-light [a]mbient light: float - ambient light value (cd/m^2, default: file f) - - +Di --illumination [i]llumination: float - illumination value (cd/m^2, default: file f) - - +Dn --min-density [m]inimum optical density: float - Dmin value (default: off, only with +Dp) - - +Dx --max-density [m]aximum optical density: float - Dmax value (default: off, only with +Dp) - - +Dg --gsd-function - use GSDF for calibration (default for +Dm/+Dp) - - +Dc --cielab-function - use CIELAB function for calibration - -compatibility: - - +Ma --accept-acr-nema - accept ACR-NEMA images without photometric - interpretation - - +Mp --accept-palettes - accept incorrect palette attribute tags - (0028,111x) and (0028,121x) - - +Mc --check-lut-depth - check 3rd value of the LUT descriptor, compare - with expected bit depth based on LUT data - - +Mm --ignore-mlut-depth - ignore 3rd value of the modality LUT descriptor, - determine bits per table entry automatically - - +Mv --ignore-vlut-depth - ignore 3rd value of the VOI LUT descriptor, - determine bits per table entry automatically - -TIFF format: - - +Tl --compr-lzw - LZW compression (default) - - +Tr --compr-rle - RLE compression - - +Tn --compr-none - uncompressed - - +Pd --predictor-default - no LZW predictor (default) - - +Pn --predictor-none - LZW predictor 1 (no prediction) - - +Ph --predictor-horz - LZW predictor 2 (horizontal differencing) - - +Rs --rows-per-strip [r]ows: integer (default: 0) - rows per strip, default 8K per strip - -PNG format: - - +il --interlace - create interlaced file (default) - - -il --nointerlace - create non-interlaced file - - +mf --meta-file - create PNG file meta information (default) - - -mf --meta-none - no PNG file meta information - -other transformations: - - +G --grayscale - convert color image to grayscale (monochrome) - - +P --change-polarity - change polarity (invert pixel output) - - +C --clip-region [l]eft [t]op [w]idth [h]eight: integer - clip image region (l, t, w, h) -.fi -.PP -.SS "output options" -.PP -.nf -general: - - -im --image-info - print image details (requires verbose mode) - - -o --no-output - do not create any output (useful with -im) - -filename generation (only with --frame-range or --all-frames): - - +Fc --use-frame-counter - use 0-based counter for filenames (default) - - +Fn --use-frame-number - use absolute frame number for filenames - -image format: - - +op --write-raw-pnm - write 8-bit binary PGM/PPM (default for files) - - +opb --write-8-bit-pnm - write 8-bit ASCII PGM/PPM (default for stdout) - - +opw --write-16-bit-pnm - write 16-bit ASCII PGM/PPM - - +opn --write-n-bit-pnm [n]umber: integer - write n-bit ASCII PGM/PPM (1\&.\&.32) - - +ob --write-bmp - write 8-bit (monochrome) or 24-bit (color) BMP - - +obp --write-8-bit-bmp - write 8-bit palette BMP (monochrome only) - - +obt --write-24-bit-bmp - write 24-bit truecolor BMP - - +obr --write-32-bit-bmp - write 32-bit truecolor BMP - - +ot --write-tiff - write 8-bit (monochrome) or 24-bit (color) TIFF - - +on --write-png - write 8-bit (monochrome) or 24-bit (color) PNG - - +on2 --write-16-bit-png - write 16-bit (monochrome) or 48-bit (color) PNG -.fi -.PP -.SH "NOTES" -.PP -The following preferred interpolation algorithms can be selected using the \fI--interpolate\fP option: -.PP -.IP "\(bu" 2 -1 = free scaling algorithm with interpolation from pbmplus toolkit -.IP "\(bu" 2 -2 = free scaling algorithm with interpolation from c't magazine -.IP "\(bu" 2 -3 = magnification algorithm with bilinear interpolation from Eduard Stanescu -.IP "\(bu" 2 -4 = magnification algorithm with bicubic interpolation from Eduard Stanescu -.PP -.PP -The \fI--write-tiff\fP option is only available when DCMTK has been configured and compiled with support for the external \fBlibtiff\fP TIFF library\&. The availability of the TIFF compression options depends on the \fBlibtiff\fP configuration\&. -.PP -The \fI--write-png\fP option is only available when DCMTK has been configured and compiled with support for the external \fBlibpng\fP PNG library\&. Option \fI--interlace\fP enables progressive image view while loading the PNG file\&. Only a few applications take care of the meta info (TEXT) in a PNG file\&. -.SH "TRANSFER SYNTAXES" -.PP -\fBdcm2pnm\fP supports the following transfer syntaxes for input (\fIdcmfile-in\fP): -.PP -.PP -.nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 (*) -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 -RLELosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.5 -.fi -.PP -.PP -(*) if compiled with zlib support enabled -.SH "LOGGING" -.PP -The level of logging output of the various command line tools and underlying libraries can be specified by the user\&. By default, only errors and warnings are written to the standard error stream\&. Using option \fI--verbose\fP also informational messages like processing details are reported\&. Option \fI--debug\fP can be used to get more details on the internal activity, e\&.g\&. for debugging purposes\&. Other logging levels can be selected using option \fI--log-level\fP\&. In \fI--quiet\fP mode only fatal errors are reported\&. In such very severe error events, the application will usually terminate\&. For more details on the different logging levels, see documentation of module 'oflog'\&. -.PP -In case the logging output should be written to file (optionally with logfile rotation), to syslog (Unix) or the event log (Windows) option \fI--log-config\fP can be used\&. This configuration file also allows for directing only certain messages to a particular output stream and for filtering certain messages based on the module or application where they are generated\&. An example configuration file is provided in \fI/logger\&.cfg\fP\&. -.SH "COMMAND LINE" -.PP -All command line tools use the following notation for parameters: square brackets enclose optional values (0-1), three trailing dots indicate that multiple values are allowed (1-n), a combination of both means 0 to n values\&. -.PP -Command line options are distinguished from parameters by a leading '+' or '-' sign, respectively\&. Usually, order and position of command line options are arbitrary (i\&.e\&. they can appear anywhere)\&. However, if options are mutually exclusive the rightmost appearance is used\&. This behavior conforms to the standard evaluation rules of common Unix shells\&. -.PP -In addition, one or more command files can be specified using an '@' sign as a prefix to the filename (e\&.g\&. \fI@command\&.txt\fP)\&. Such a command argument is replaced by the content of the corresponding text file (multiple whitespaces are treated as a single separator unless they appear between two quotation marks) prior to any further evaluation\&. Please note that a command file cannot contain another command file\&. This simple but effective approach allows one to summarize common combinations of options/parameters and avoids longish and confusing command lines (an example is provided in file \fI/dumppat\&.txt\fP)\&. -.SH "ENVIRONMENT" -.PP -The \fBdcm2pnm\fP utility will attempt to load DICOM data dictionaries specified in the \fIDCMDICTPATH\fP environment variable\&. By default, i\&.e\&. if the \fIDCMDICTPATH\fP environment variable is not set, the file \fI/dicom\&.dic\fP will be loaded unless the dictionary is built into the application (default for Windows)\&. -.PP -The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. -.SH "FILES" -.PP -\fI/camera\&.lut\fP - sample characteristics file of a camera -.br -\fI/monitor\&.lut\fP - sample characteristics file of a monitor -.br -\fI/printer\&.lut\fP - sample characteristics file of a printer -.br -\fI/scanner\&.lut\fP - sample characteristics file of a scanner +The \fBdcm2pnm\fP tool is deprecated\&. Use \fBdcm2img\fP instead, which supports the same command line parameters, and more\&. .SH "SEE ALSO" .PP -\fBdcmj2pnm\fP(1), \fBimg2dcm\fP(1) +\fBdcm2img\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1998-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1998-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcm2xml.1 b/doxygen/manpages/man1/dcm2xml.1 index faf6296b..df707083 100644 --- a/doxygen/manpages/man1/dcm2xml.1 +++ b/doxygen/manpages/man1/dcm2xml.1 @@ -1,4 +1,4 @@ -.TH "dcm2xml" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcm2xml" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcm2xml \- Convert DICOM file and data set to XML @@ -19,7 +19,7 @@ If \fBdcm2xml\fP reads a raw data set (DICOM data without a file format meta-hea .PP .PP .nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) +dcmfile-in DICOM input filename to be converted ("-" for stdin) xmlfile-out XML output filename (default: stdout) .fi @@ -89,12 +89,12 @@ input transfer syntax: long tag values: +M --load-all - load very long tag values (e\&.g\&. pixel data) + load very long tag values (e.g. pixel data) -M --load-short do not load very long values (default) - +R --max-read-length [k]bytes: integer (4\&.\&.4194302, default: 4) + +R --max-read-length [k]bytes: integer (4..4194302, default: 4) set threshold for long values to k kbytes .fi .PP @@ -116,7 +116,7 @@ specific character set: # this option is only used for the extended check whether # the Specific Character Set (0008,0005) attribute should be # present, but not for the conversion of unaffected element - # values to UTF-8 (e\&.g\&. element values with a VR of CS) + # values to UTF-8 (e.g. element values with a VR of CS) +U8 --convert-to-utf8 convert all element values that are affected @@ -150,7 +150,7 @@ DCMTK-specific format (not with --native-format): +Xf --use-dtd-file [f]ilename: string use specified DTD file (only with +Xe) - (default: /usr/local/share/dcmtk-/dcm2xml\&.dtd) + (default: /usr/local/share/dcmtk-/dcm2xml.dtd) +Wn --write-element-name write name of the DICOM data elements (default) @@ -182,39 +182,39 @@ The basic structure of the DCMTK-specific XML output created from a DICOM file l .PP .PP .nf - - - - - + + + + + 166 - \&.\&.\&. - + ... + OFFIS_DCMTK_353 - - + + ISO_IR 100 - \&.\&.\&. - - - - 256\\0\\8 + ... + + + + 256\0\8 - \&.\&.\&. + ... - \&.\&.\&. + ... - \&.\&.\&. - + ... + @@ -227,140 +227,60 @@ Attributes with very large value fields (e\&.g\&. pixel data) are not loaded by .PP Furthermore, binary data of OB and OW attributes are not written to the XML output file by default\&. These elements can be identified by the additional attribute 'binary' with a value of 'hidden' (default is 'no')\&. The command line option \fI--write-binary-data\fP causes also binary value fields to be printed (attribute value is 'yes' or 'base64')\&. But, be careful when using this option together with \fI--load-all\fP because of the large amounts of pixel data that might be printed to the output\&. Please note that in this context element values with a VR of OD, OF, OL and OV are not regarded as 'binary data'\&. .PP -Multiple values (i\&.e\&. where the DICOM value multiplicity is greater than 1) are separated by a backslash '\\' (except for Base64 encoded data)\&. The 'len' -attribute indicates the number of bytes for the particular value field as -stored in the DICOM data set, i\&.e\&. it might deviate from the XML encoded value -length e\&.g\&. because of non-significant padding that has been removed\&. If this -attribute is missing in 'sequence' or 'item' start tags, the corresponding -DICOM element has been stored with undefined length\&. - -@section dcm2xml_native_format Native DICOM Model Format - -The description of the Native DICOM Model format can be found in the DICOM -standard, part 19 ('Application Hosting')\&. - -@subsection dcm2xml_bulk_data Bulk Data - -Binary data, i\&.e\&. DICOM element values with Value Representations (VR) of OB -or OW, as well as OD, OF, OL, OV and UN values are by default not written to the -XML output because of their size\&. Instead, for each element, a new Universally -Unique Identifier (UUID) is being generated and written as an attribute of a -\\ XML element\&. So far, there is no possibility to write an -additional file to hold the binary data for each of the binary data chunks\&. -This is not required by the standard, however, it might be useful for -implementing an Application Hosting interface; thus this feature may be -available in future versions of \\b dcm2xml\&. - -In addition, Supplement 163 (Store Over the Web by Representational State -Transfer Services) introduces a new \\ XML element that allows -for encoding binary data as Base64\&. Currently, the command line option -\\e --encode-base64 enables this encoding for the following VRs: OB, OD, OF, OL, -OV, OW and UN\&. - -@subsection dcm2xml_known_issues Known Issues - -In addition to what is written in the above section on 'Bulk Data', there are -further known issues with the current implementation of the Native DICOM Model -format\&. For example, large element values with a VR other than OB, OD, OF, OL, -OV, OW or UN are currently never written as bulk data, although it might be -useful, e\&.g\&. for very long text elements (especially UT) or very long numeric -fields (of various VRs)\&. - -@section dcm2xml_notes NOTES - -@subsection dcm2xml_character_encoding Character Encoding - -The XML character encoding is determined automatically from the DICOM attribute -(0008,0005) 'Specific Character Set' using the following mapping: - -@verbatim -ASCII (ISO_IR 6) => 'UTF-8' -UTF-8 'ISO_IR 192' => 'UTF-8' -ISO Latin 1 'ISO_IR 100' => 'ISO-8859-1' -ISO Latin 2 'ISO_IR 101' => 'ISO-8859-2' -ISO Latin 3 'ISO_IR 109' => 'ISO-8859-3' -ISO Latin 4 'ISO_IR 110' => 'ISO-8859-4' -ISO Latin 5 'ISO_IR 148' => 'ISO-8859-9' -ISO Latin 9 'ISO_IR 203' => 'ISO-8859-15' -Cyrillic 'ISO_IR 144' => 'ISO-8859-5' -Arabic 'ISO_IR 127' => 'ISO-8859-6' -Greek 'ISO_IR 126' => 'ISO-8859-7' -Hebrew 'ISO_IR 138' => 'ISO-8859-8' -\\endverbatim - -If this DICOM attribute is missing in the input file, although needed, option -\\e --charset-assume can be used to specify an appropriate character set -manually (using one of the DICOM defined terms)\&. For reasons of backward -compatibility with previous versions of this tool, the following terms are also -supported and mapped automatically to the associated DICOM defined terms: -latin-1, latin-2, latin-3, latin-4, latin-5, latin-9, cyrillic, arabic, greek, -hebrew\&. - -Multiple character sets using code extension techniques are not supported\&. If -needed, option \\e --convert-to-utf8 can be used to convert the DICOM file or -data set to UTF-8 encoding prior to the conversion to XML format\&. This is also -useful for DICOMDIR files where each directory record can have a different -character set\&. - -If no mapping is defined and option \\e --convert-to-utf8 is not used, non-ASCII -characters and those below #32 are stored as '&#nnn;' where 'nnn' refers to the -numeric character code\&. This might lead to invalid character entity references -(such as '' for ESC) and will cause most XML parsers to reject the document\&. - -@section dcm2xml_logging LOGGING - -The level of logging output of the various command line tools and underlying -libraries can be specified by the user\&. By default, only errors and warnings -are written to the standard error stream\&. Using option \\e --verbose also -informational messages like processing details are reported\&. Option -\\e --debug can be used to get more details on the internal activity, e\&.g\&. for -debugging purposes\&. Other logging levels can be selected using option -\\e --log-level\&. In \\e --quiet mode only fatal errors are reported\&. In such -very severe error events, the application will usually terminate\&. For more -details on the different logging levels, see documentation of module 'oflog'\&. - -In case the logging output should be written to file (optionally with logfile -rotation), to syslog (Unix) or the event log (Windows) option \\e --log-config -can be used\&. This configuration file also allows for directing only certain -messages to a particular output stream and for filtering certain messages -based on the module or application where they are generated\&. An example -configuration file is provided in \\/logger\&.cfg\&. - -@section dcm2xml_command_line COMMAND LINE - -All command line tools use the following notation for parameters: square -brackets enclose optional values (0-1), three trailing dots indicate that -multiple values are allowed (1-n), a combination of both means 0 to n values\&. - -Command line options are distinguished from parameters by a leading '+' or '-' -sign, respectively\&. Usually, order and position of command line options are -arbitrary (i\&.e\&. they can appear anywhere)\&. However, if options are mutually -exclusive the rightmost appearance is used\&. This behavior conforms to the -standard evaluation rules of common Unix shells\&. - -In addition, one or more command files can be specified using an '@' sign as a -prefix to the filename (e\&.g\&. \\@command\&.txt)\&. Such a command argument -is replaced by the content of the corresponding text file (multiple -whitespaces are treated as a single separator unless they appear between two -quotation marks) prior to any further evaluation\&. Please note that a command -file cannot contain another command file\&. This simple but effective approach -allows one to summarize common combinations of options/parameters and avoids -longish and confusing command lines (an example is provided in file -\\/dumppat\&.txt)\&. - -@section dcm2xml_environment ENVIRONMENT - -The \\b dcm2xml utility will attempt to load DICOM data dictionaries specified -in the \\e DCMDICTPATH environment variable\&. By default, i\&.e\&. if the -\\e DCMDICTPATH environment variable is not set, the file -\\/dicom\&.dic will be loaded unless the dictionary is built -into the application (default for Windows)\&. - -The default behavior should be preferred and the \\e DCMDICTPATH environment -variable only used when alternative data dictionaries are required\&. The -\\e DCMDICTPATH environment variable has the same format as the Unix shell -\\e PATH variable in that a colon (':') separates entries\&. On Windows systems, -a semicolon (';") is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. +Multiple values (i\&.e\&. where the DICOM value multiplicity is greater than 1) are separated by a backslash '\\' (except for Base64 encoded data)\&. The 'len' attribute indicates the number of bytes for the particular value field as stored in the DICOM data set, i\&.e\&. it might deviate from the XML encoded value length e\&.g\&. because of non-significant padding that has been removed\&. If this attribute is missing in 'sequence' or 'item' start tags, the corresponding DICOM element has been stored with undefined length\&. +.SH "Native DICOM Model Format" +.PP +The description of the Native DICOM Model format can be found in the DICOM standard, part 19 ('Application Hosting')\&. +.SS "Bulk Data" +Binary data, i\&.e\&. DICOM element values with Value Representations (VR) of OB or OW, as well as OD, OF, OL, OV and UN values are by default not written to the XML output because of their size\&. Instead, for each element, a new Universally Unique Identifier (UUID) is being generated and written as an attribute of a XML element\&. So far, there is no possibility to write an additional file to hold the binary data for each of the binary data chunks\&. This is not required by the standard, however, it might be useful for implementing an Application Hosting interface; thus this feature may be available in future versions of \fBdcm2xml\fP\&. +.PP +In addition, Supplement 163 (Store Over the Web by Representational State Transfer Services) introduces a new XML element that allows for encoding binary data as Base64\&. Currently, the command line option \fI--encode-base64\fP enables this encoding for the following VRs: OB, OD, OF, OL, OV, OW and UN\&. +.SS "Known Issues" +In addition to what is written in the above section on 'Bulk Data', there are further known issues with the current implementation of the Native DICOM Model format\&. For example, large element values with a VR other than OB, OD, OF, OL, OV, OW or UN are currently never written as bulk data, although it might be useful, e\&.g\&. for very long text elements (especially UT) or very long numeric fields (of various VRs)\&. +.SH "NOTES" +.PP +.SS "Character Encoding" +The XML character encoding is determined automatically from the DICOM attribute (0008,0005) 'Specific Character Set' using the following mapping: +.PP +.PP +.nf +ASCII (ISO_IR 6) => "UTF-8" +UTF-8 "ISO_IR 192" => "UTF-8" +ISO Latin 1 "ISO_IR 100" => "ISO-8859-1" +ISO Latin 2 "ISO_IR 101" => "ISO-8859-2" +ISO Latin 3 "ISO_IR 109" => "ISO-8859-3" +ISO Latin 4 "ISO_IR 110" => "ISO-8859-4" +ISO Latin 5 "ISO_IR 148" => "ISO-8859-9" +ISO Latin 9 "ISO_IR 203" => "ISO-8859-15" +Cyrillic "ISO_IR 144" => "ISO-8859-5" +Arabic "ISO_IR 127" => "ISO-8859-6" +Greek "ISO_IR 126" => "ISO-8859-7" +Hebrew "ISO_IR 138" => "ISO-8859-8" +.fi +.PP +.PP +If this DICOM attribute is missing in the input file, although needed, option \fI--charset-assume\fP can be used to specify an appropriate character set manually (using one of the DICOM defined terms)\&. For reasons of backward compatibility with previous versions of this tool, the following terms are also supported and mapped automatically to the associated DICOM defined terms: latin-1, latin-2, latin-3, latin-4, latin-5, latin-9, cyrillic, arabic, greek, hebrew\&. +.PP +Multiple character sets using code extension techniques are not supported\&. If needed, option \fI--convert-to-utf8\fP can be used to convert the DICOM file or data set to UTF-8 encoding prior to the conversion to XML format\&. This is also useful for DICOMDIR files where each directory record can have a different character set\&. +.PP +If no mapping is defined and option \fI--convert-to-utf8\fP is not used, non-ASCII characters and those below #32 are stored as '&#nnn;' where 'nnn' refers to the numeric character code\&. This might lead to invalid character entity references (such as '' for ESC) and will cause most XML parsers to reject the document\&. +.SH "LOGGING" +.PP +The level of logging output of the various command line tools and underlying libraries can be specified by the user\&. By default, only errors and warnings are written to the standard error stream\&. Using option \fI--verbose\fP also informational messages like processing details are reported\&. Option \fI--debug\fP can be used to get more details on the internal activity, e\&.g\&. for debugging purposes\&. Other logging levels can be selected using option \fI--log-level\fP\&. In \fI--quiet\fP mode only fatal errors are reported\&. In such very severe error events, the application will usually terminate\&. For more details on the different logging levels, see documentation of module 'oflog'\&. +.PP +In case the logging output should be written to file (optionally with logfile rotation), to syslog (Unix) or the event log (Windows) option \fI--log-config\fP can be used\&. This configuration file also allows for directing only certain messages to a particular output stream and for filtering certain messages based on the module or application where they are generated\&. An example configuration file is provided in \fI/logger\&.cfg\fP\&. +.SH "COMMAND LINE" +.PP +All command line tools use the following notation for parameters: square brackets enclose optional values (0-1), three trailing dots indicate that multiple values are allowed (1-n), a combination of both means 0 to n values\&. +.PP +Command line options are distinguished from parameters by a leading '+' or '-' sign, respectively\&. Usually, order and position of command line options are arbitrary (i\&.e\&. they can appear anywhere)\&. However, if options are mutually exclusive the rightmost appearance is used\&. This behavior conforms to the standard evaluation rules of common Unix shells\&. +.PP +In addition, one or more command files can be specified using an '@' sign as a prefix to the filename (e\&.g\&. \fI@command\&.txt\fP)\&. Such a command argument is replaced by the content of the corresponding text file (multiple whitespaces are treated as a single separator unless they appear between two quotation marks) prior to any further evaluation\&. Please note that a command file cannot contain another command file\&. This simple but effective approach allows one to summarize common combinations of options/parameters and avoids longish and confusing command lines (an example is provided in file \fI/dumppat\&.txt\fP)\&. +.SH "ENVIRONMENT" +.PP +The \fBdcm2xml\fP utility will attempt to load DICOM data dictionaries specified in the \fIDCMDICTPATH\fP environment variable\&. By default, i\&.e\&. if the \fIDCMDICTPATH\fP environment variable is not set, the file \fI/dicom\&.dic\fP will be loaded unless the dictionary is built into the application (default for Windows)\&. +.PP +The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. .PP Depending on the command line options specified, the \fBdcm2xml\fP utility will attempt to load character set mapping tables\&. This happens when DCMTK was compiled with the oficonv library (which is the default) and the mapping tables are not built into the library (default when DCMTK uses shared libraries)\&. .PP @@ -373,4 +293,4 @@ The mapping table files are expected in DCMTK's \fI\fP\&. The \fIDCMICO \fBxml2dcm\fP(1), \fBdcmconv\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2002-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2002-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmcjpeg.1 b/doxygen/manpages/man1/dcmcjpeg.1 index bc0fd7dd..3fefcd19 100644 --- a/doxygen/manpages/man1/dcmcjpeg.1 +++ b/doxygen/manpages/man1/dcmcjpeg.1 @@ -1,4 +1,4 @@ -.TH "dcmcjpeg" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmcjpeg" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmcjpeg \- Encode DICOM file to JPEG transfer syntax @@ -17,9 +17,9 @@ The \fBdcmcjpeg\fP utility reads an uncompressed DICOM image (\fIdcmfile-in\fP), .PP .PP .nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) +dcmfile-in DICOM input filename to be converted ("-" for stdin) -dcmfile-out DICOM output filename ('-' for stdout) +dcmfile-out DICOM output filename ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -110,37 +110,37 @@ JPEG process: # This option selects the JPEG Lossless, Non-Hierarchical, First-Order # Prediction (Process 14 Selection Value 1) Transfer Syntax for - # Lossless JPEG Image Compression\&. + # Lossless JPEG Image Compression. +el --encode-lossless encode lossless # This option selects the JPEG Lossless, Non-Hierarchical (Process 14) - # Transfer Syntax for Lossless JPEG Image Compression\&. + # Transfer Syntax for Lossless JPEG Image Compression. +eb --encode-baseline encode baseline # This option selects the JPEG Baseline (Process 1) Transfer Syntax - # for Lossy JPEG 8 Bit Image Compression\&. + # for Lossy JPEG 8 Bit Image Compression. +ee --encode-extended encode extended sequential # This option selects the JPEG Extended (Process 2 & 4) Transfer - # Syntax for Lossy JPEG Image Compression\&. + # Syntax for Lossy JPEG Image Compression. +es --encode-spectral encode spectral selection # This option selects the JPEG Spectral Selection, Non-Hierarchical - # (Process 6 & 8) Transfer Syntax for Lossy JPEG Image Compression\&. + # (Process 6 & 8) Transfer Syntax for Lossy JPEG Image Compression. +ep --encode-progressive encode progressive # This option selects the JPEG Full Progression, Non-Hierarchical - # (Process 10 & 12) Transfer Syntax for Lossy JPEG Image Compression\&. + # (Process 10 & 12) Transfer Syntax for Lossy JPEG Image Compression. lossless JPEG codec selection: @@ -148,45 +148,45 @@ lossless JPEG codec selection: true lossless codec (default) # This option selects an encoder, that guarantees truly lossless - # image compression\&. See NOTES for further information\&. + # image compression. See NOTES for further information. +pl --pseudo-lossless old pseudo-lossless codec # Old encoder, that uses lossless compression algorithms, but can # cause lossy images because of internal color space transformations - # etc\&. Higher compression ratio than --true-lossless in most cases\&. + # etc. Higher compression ratio than --true-lossless in most cases. lossless JPEG representation: - +sv --selection-value [sv]: integer (1\&.\&.7, default: 6) + +sv --selection-value [sv]: integer (1..7, default: 6) use selection value sv only with --encode-lossless - # This option selects the selection value for lossless JPEG\&. + # This option selects the selection value for lossless JPEG. - +pt --point-transform [pt]: integer (0\&.\&.15, default: 0) + +pt --point-transform [pt]: integer (0..15, default: 0) use point transform pt - # This option selects the point transform for lossless JPEG\&. + # This option selects the point transform for lossless JPEG. # WARNING: Using this option with a value other than zero causes - # a loss of precision, i\&. e\&. makes the compression 'lossy'\&. + # a loss of precision, i. e. makes the compression "lossy". lossy JPEG representation: - +q --quality [q]: integer (0\&.\&.100, default: 90) + +q --quality [q]: integer (0..100, default: 90) use quality factor q # This option selects the quality factor used to determine the # quantization table inside the JPEG compressor, which affects - # compression ratio and image quality in lossy JPEG\&. - # See documentation of the Independent JPEG Group for details\&. + # compression ratio and image quality in lossy JPEG. + # See documentation of the Independent JPEG Group for details. - +sm --smooth [s]: integer (0\&.\&.100, default: 0) + +sm --smooth [s]: integer (0..100, default: 0) use smoothing factor s # This option enables a smoothing (low-pass filter) of the image data - # prior to compression\&. Increases the compression ratio at the expense - # of image quality\&. + # prior to compression. Increases the compression ratio at the expense + # of image quality. other JPEG options: @@ -194,14 +194,14 @@ other JPEG options: optimize huffman tables (default) # This option enables an optimization of the huffman tables during - # image compression\&. It results in a slightly smaller image at a small - # increase of CPU time\&. Always on if bits/sample is larger than 8\&. + # image compression. It results in a slightly smaller image at a small + # increase of CPU time. Always on if bits/sample is larger than 8. -ho --huffman-standard use standard huffman tables if 8 bits/sample # This option disables an optimization of the huffman tables during - # image compression\&. + # image compression. compressed bits per sample (always +ba with +tl): @@ -223,21 +223,21 @@ compression color space conversion (overridden by +tl): use YCbCr for color images if lossy (default) # This option enables a transformation of the color space to YCbCr - # prior to image compression for color images in lossy JPEG\&. + # prior to image compression for color images in lossy JPEG. +cr --color-rgb use RGB for color images if lossy # This option prevents the transformation of the color space to YCbCr - # prior to image compression for color images in lossy JPEG\&. It causes + # prior to image compression for color images in lossy JPEG. It causes # lossy image compression in the RGB color space which is not - # recommendable\&. + # recommendable. +cm --monochrome convert color images to monochrome # This option forces a conversion of color images to monochrome - # prior to compression\&. + # prior to compression. decompression color space conversion (if input is compressed; always +cn with +tl): @@ -246,71 +246,71 @@ decompression color space conversion convert if YCbCr photometric interpretation (default) # This option describes the behavior of dcmcjpeg when a compressed - # image is read and decompressed prior to re-compression\&. If the + # image is read and decompressed prior to re-compression. If the # compressed image uses YBR_FULL or YBR_FULL_422 photometric - # interpretation, it is converted to RGB during decompression\&. + # interpretation, it is converted to RGB during decompression. +cl --conv-lossy convert YCbCr to RGB if lossy JPEG # If the compressed image is encoded in lossy JPEG, assume YCbCr - # color model and convert to RGB\&. + # color model and convert to RGB. +cg --conv-guess convert to RGB if YCbCr is guessed by library - # If the underlying JPEG library 'guesses' the color space of the - # compressed image to be YCbCr, convert to RGB\&. + # If the underlying JPEG library "guesses" the color space of the + # compressed image to be YCbCr, convert to RGB. +cgl --conv-guess-lossy convert to RGB if lossy JPEG and YCbCr is guessed by the underlying JPEG library # If the compressed image is encoded in lossy JPEG and the underlying - # JPEG library 'guesses' the color space to be YCbCr, convert to RGB\&. + # JPEG library "guesses" the color space to be YCbCr, convert to RGB. +ca --conv-always always convert YCbCr to RGB # If the compressed image is a color image, assume YCbCr color model - # and convert to RGB\&. + # and convert to RGB. +cn --conv-never never convert color space - # Never convert color space during decompression\&. + # Never convert color space during decompression. -decompr\&. workaround options for incorrect encodings (if input is compressed): +decompr. workaround options for incorrect encodings (if input is compressed): +w6 --workaround-pred6 enable workaround for JPEG lossless images with overflow in predictor 6 - # DICOM images with 16 bits/pixel have been observed 'in the wild' + # DICOM images with 16 bits/pixel have been observed "in the wild" # that are compressed with lossless JPEG and need special handling # because the encoder produced an 16-bit integer overflow in predictor - # 6, which needs to be compensated (reproduced) during decompression\&. + # 6, which needs to be compensated (reproduced) during decompression. # This flag enables a correct decompression of such faulty images, but # at the same time will cause an incorrect decompression of correctly - # compressed images\&. Use with care\&. + # compressed images. Use with care. +wi --workaround-incpl enable workaround for incomplete JPEG data # This option causes dcmjpeg to ignore incomplete JPEG data # at the end of a compressed fragment and to start decompressing - # the next frame from the next fragment (if any)\&. This permits - # images with incomplete JPEG data to be decoded\&. + # the next frame from the next fragment (if any). This permits + # images with incomplete JPEG data to be decoded. +wc --workaround-cornell enable workaround for 16-bit JPEG lossless Cornell images with Huffman table overflow # One of the first open-source implementations of lossless JPEG - # compression, the 'Cornell' library, has a well-known bug that leads + # compression, the "Cornell" library, has a well-known bug that leads # to invalid values in the Huffmann table when images with 16 bit/sample - # are compressed\&. This flag enables a workaround that permits such - # images to be decoded correctly\&. + # are compressed. This flag enables a workaround that permits such + # images to be decoded correctly. YCbCr component subsampling (lossy JPEG only): @@ -318,8 +318,8 @@ YCbCr component subsampling (lossy JPEG only): 4:2:2 subsampling with YBR_FULL_422 (default) # This option enables a 4:2:2 color component subsampling for - # compression in the YCbCr color space\&. The DICOM photometric - # interpretation is encoded as YBR_FULL_422\&. + # compression in the YCbCr color space. The DICOM photometric + # interpretation is encoded as YBR_FULL_422. non-standard YCbCr component subsampling (not with +tl): @@ -327,29 +327,29 @@ non-standard YCbCr component subsampling (not with +tl): 4:4:4 sampling with YBR_FULL # This option disables color component subsampling for compression in - # the YCbCr color space\&. The DICOM photometric interpretation is - # encoded as YBR_FULL, which violates DICOM rules for lossy JPEG\&. + # the YCbCr color space. The DICOM photometric interpretation is + # encoded as YBR_FULL, which violates DICOM rules for lossy JPEG. +n2 --nonstd-422-full 4:2:2 subsampling with YBR_FULL # This option enables a 4:2:2 color component subsampling for - # compression in the YCbCr color space\&. The DICOM photometric - # interpretation is encoded as YBR_FULL, which violates DICOM rules\&. + # compression in the YCbCr color space. The DICOM photometric + # interpretation is encoded as YBR_FULL, which violates DICOM rules. +n1 --nonstd-411-full 4:1:1 subsampling with YBR_FULL # This option enables a 4:1:1 color component subsampling for - # compression in the YCbCr color space\&. The DICOM photometric - # interpretation is encoded as YBR_FULL, which violates DICOM rules\&. + # compression in the YCbCr color space. The DICOM photometric + # interpretation is encoded as YBR_FULL, which violates DICOM rules. +np --nonstd-411 4:1:1 subsampling with YBR_FULL_422 # This option enables a 4:1:1 color component subsampling for - # compression in the YCbCr color space\&. The DICOM photometric - # interpretation is encoded as YBR_FULL_422, which violates DICOM rules\&. + # compression in the YCbCr color space. The DICOM photometric + # interpretation is encoded as YBR_FULL_422, which violates DICOM rules. .fi .PP .SS "encapsulated pixel data encoding options:" @@ -361,13 +361,13 @@ encapsulated pixel data fragmentation: encode each frame as one fragment (default) # This option causes the creation of one compressed fragment for each - # frame (recommended)\&. + # frame (recommended). +fs --fragment-size [s]ize: integer limit fragment size to s kbytes # This option limits the fragment size which may cause the creation of - # multiple fragments per frame\&. + # multiple fragments per frame. basic offset table encoding: @@ -375,40 +375,40 @@ basic offset table encoding: create offset table (default) # This option causes the creation of a valid offset table for the - # compressed JPEG fragments\&. + # compressed JPEG fragments. -ot --offset-table-empty leave offset table empty # This option causes the creation of an empty offset table - # for the compressed JPEG fragments\&. + # for the compressed JPEG fragments. VOI windowing for monochrome images (not with +tl): -W --no-windowing no VOI windowing (default) - # No window level/width is 'burned' into monochrome images prior to - # compression\&. See notes below on pixel scaling and rescale slope - # and intercept encoding\&. + # No window level/width is "burned" into monochrome images prior to + # compression. See notes below on pixel scaling and rescale slope + # and intercept encoding. +Wi --use-window [n]umber: integer use the n-th VOI window from image file # Apply the n-th window center/width encoded in the image data prior - # to compression\&. + # to compression. +Wl --use-voi-lut [n]umber: integer use the n-th VOI look up table from image file # Apply the n-th VOI LUT encoded in the image data prior - # to compression\&. + # to compression. +Wm --min-max-window compute VOI window using min-max algorithm # Compute and apply a window center and width that covers the - # range from the smallest to the largest occurring pixel value\&. + # range from the smallest to the largest occurring pixel value. +Wn --min-max-window-n compute VOI window using min-max algorithm, @@ -416,17 +416,17 @@ VOI windowing for monochrome images (not with +tl): # Compute and apply a window center and width that covers the # range from the second smallest to the second largest occurring - # pixel value\&. This is useful if the background is set to an + # pixel value. This is useful if the background is set to an # artificial black (padding value) or if white overlays are burned # into the image data which should not be considered for the window - # computation\&. + # computation. +Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer compute ROI window using min-max algorithm, region of interest is specified by l,t,w,h # This option works like --min-max-window but only considers the given - # region of interest inside the image\&. + # region of interest inside the image. +Wh --histogram-window [n]umber: integer compute VOI window using Histogram algorithm, @@ -439,7 +439,7 @@ VOI windowing for monochrome images (not with +tl): +Ww --set-window [c]enter [w]idth: float compute VOI window using center c and width w - # Apply the given window center/width prior to compression\&. + # Apply the given window center/width prior to compression. pixel scaling for monochrome images (--no-windowing; ignored by +tl): @@ -448,12 +448,12 @@ pixel scaling for monochrome images (--no-windowing; ignored by +tl): # Monochrome image pixel values are always scaled to make use of the # pixel range available with the selected JPEG process as good as - # possible\&. This option selects a scaling based on the minimum and - # maximum pixel value occurring in the image\&. This often leads to + # possible. This option selects a scaling based on the minimum and + # maximum pixel value occurring in the image. This often leads to # significantly better image quality, but may cause different # compressed images within one series to have different values for # rescale slope and intercept, which is a problem if a presentation - # state for one series is to be created\&. + # state for one series is to be created. +sr --scaling-range scale using min/max range @@ -461,7 +461,7 @@ pixel scaling for monochrome images (--no-windowing; ignored by +tl): # This options selects a scaling based on the pixel range as defined # by the stored bits, pixel representation and modality transform, # without consideration of the minimum and maximum value really - # used within the image\&. + # used within the image. rescale slope/intercept encoding for monochrome (-W; ignored by +tl): @@ -471,8 +471,8 @@ rescale slope/intercept encoding for monochrome (-W; ignored by +tl): # This options prevents the creation of a modality transformation # other than an identity transformation (which is required for - # many DICOM IODs)\&. Window center/width settings encoded - # in the image are adapted, VOI LUTs are removed\&. + # many DICOM IODs). Window center/width settings encoded + # in the image are adapted, VOI LUTs are removed. +rm --rescale-map use modality rescale to scale pixel range @@ -480,40 +480,40 @@ rescale slope/intercept encoding for monochrome (-W; ignored by +tl): # This option causes the creation of a modality rescale slope and # intercept that maps the decompressed image data back to their - # original range\&. This keeps all VOI transformations valid but + # original range. This keeps all VOI transformations valid but # requires that the DICOM IOD supports a modality rescale slope - # and intercept transformation other than identity\&. + # and intercept transformation other than identity. SOP Class UID: +cd --class-default keep SOP Class UID (default) - # Keep the SOP Class UID of the source image\&. + # Keep the SOP Class UID of the source image. +cs --class-sc convert to Secondary Capture Image (implies --uid-always) - # Convert the image to Secondary Capture\&. In addition to the SOP + # Convert the image to Secondary Capture. In addition to the SOP # Class UID, all attributes required for a valid secondary capture - # image are added\&. A new SOP instance UID is always assigned\&. + # image are added. A new SOP instance UID is always assigned. SOP Instance UID: +ud --uid-default assign new UID if lossy compression (default) - # Assigns a new SOP instance UID if the compression is lossy\&. + # Assigns a new SOP instance UID if the compression is lossy. +ua --uid-always always assign new UID - # Unconditionally assigns a new SOP instance UID\&. + # Unconditionally assigns a new SOP instance UID. +un --uid-never never assign new UID - # Never assigns a new SOP instance UID\&. + # Never assigns a new SOP instance UID. .fi .PP .SS "output options" @@ -598,16 +598,16 @@ In order to be on the safe side, the Lossy Compression Flag is always set to '01 .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 (*) -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 -JPEGProcess1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.50 -JPEGProcess2_4TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.51 -JPEGProcess6_8TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.53 -JPEGProcess10_12TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.55 -JPEGProcess14TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.57 -JPEGProcess14SV1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.70 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 +JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 +JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 +JPEGProcess6_8TransferSyntax 1.2.840.10008.1.2.4.53 +JPEGProcess10_12TransferSyntax 1.2.840.10008.1.2.4.55 +JPEGProcess14TransferSyntax 1.2.840.10008.1.2.4.57 +JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70 .fi .PP .PP @@ -617,12 +617,12 @@ JPEGProcess14SV1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\& .PP .PP .nf -JPEGProcess1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.50 -JPEGProcess2_4TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.51 -JPEGProcess6_8TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.53 -JPEGProcess10_12TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.55 -JPEGProcess14TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.57 -JPEGProcess14SV1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.70 +JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 +JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 +JPEGProcess6_8TransferSyntax 1.2.840.10008.1.2.4.53 +JPEGProcess10_12TransferSyntax 1.2.840.10008.1.2.4.55 +JPEGProcess14TransferSyntax 1.2.840.10008.1.2.4.57 +JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70 .fi .PP .SH "LOGGING" @@ -647,4 +647,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmdjpeg\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2001-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2001-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmcjpls.1 b/doxygen/manpages/man1/dcmcjpls.1 index 2f94a1dd..88a08f2b 100644 --- a/doxygen/manpages/man1/dcmcjpls.1 +++ b/doxygen/manpages/man1/dcmcjpls.1 @@ -1,4 +1,4 @@ -.TH "dcmcjpls" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmcjpls" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmcjpls \- Encode DICOM file to JPEG-LS transfer syntax @@ -17,9 +17,9 @@ The \fBdcmcjpls\fP utility reads an uncompressed DICOM image (\fIdcmfile-in\fP), .PP .PP .nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) +dcmfile-in DICOM input filename to be converted ("-" for stdin) -dcmfile-out DICOM output filename ('-' for stdout) +dcmfile-out DICOM output filename ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -94,13 +94,13 @@ JPEG-LS process: encode JPEG-LS lossless only TS (default) # This options selects the JPEG-LS lossless only transfer syntax - # and performs a lossless compression\&. + # and performs a lossless compression. +en --encode-nearlossless encode JPEG-LS near-lossless TS (NEAR: 2) # This options selects the JPEG-LS lossy transfer syntax - # and performs a near-lossless compression\&. + # and performs a near-lossless compression. JPEG-LS bit rate (near-lossless only): @@ -108,23 +108,23 @@ JPEG-LS bit rate (near-lossless only): defines maximum deviation for an encoded pixel # This option specifies the maximum deviation for a single pixel from - # the original pixel value\&. + # the original pixel value. lossless compression: +pr --prefer-raw prefer raw encoder mode (default) - # This option enables the raw encoder\&. The raw encoder encodes the + # This option enables the raw encoder. The raw encoder encodes the # complete pixel cell as it was read from the source image without - # performing any modifications\&. + # performing any modifications. +pc --prefer-cooked prefer cooked encoder mode - # This option enables the cooked encoder\&. The cooked encoder moves + # This option enables the cooked encoder. The cooked encoder moves # overlay data to separate tags (60xx,3000) and only encodes the - # stored bits in each pixel\&. + # stored bits in each pixel. JPEG-LS compression: @@ -138,7 +138,7 @@ JPEG-LS compression: set JPEG-LS encoding parameter threshold 3 # By default, the values for T1, T2, T3 are computed based on - # the number of bits per sample\&. + # the number of bits per sample. +rs --reset [r]eset: integer (default: 64) set JPEG-LS encoding parameter reset @@ -148,23 +148,23 @@ JPEG-LS interleave: +il --interleave-line force line-interleaved JPEG-LS images (default) - # This flag forces line-interleaved mode for the resulting image\&. + # This flag forces line-interleaved mode for the resulting image. # In line-interleave mode each line from the source image is # compressed separately for each component and then the next line - # is encoded\&. + # is encoded. +is --interleave-sample force sample-interleaved JPEG-LS images - # This flag forces sample-interleaved mode for the resulting image\&. + # This flag forces sample-interleaved mode for the resulting image. # In sample-interleave mode each pixel's components are encoded before - # the next pixel is encoded\&. + # the next pixel is encoded. +iv --interleave-default use the fastest possible interleave mode - # This flag selects an interleave mode based on the source image's mode\&. - # If possible, the image is not converted to a different interleave mode\&. + # This flag selects an interleave mode based on the source image's mode. + # If possible, the image is not converted to a different interleave mode. JPEG-LS padding of odd-length bitstreams: @@ -172,15 +172,15 @@ JPEG-LS padding of odd-length bitstreams: pad with extended EOI marker (default) # Pad odd-length JPEG-LS bitstreams by writing an extended end of image - # segment marker FF FF D9, as required by the DICOM standard\&. + # segment marker FF FF D9, as required by the DICOM standard. +pz --padding-zero pad with zero byte (non-standard) # Pad odd-length JPEG-LS bitstreams by writing a zero byte after the - # end of image segment marker, i\&.e\&. FF D9 00\&. This is not DICOM conformant + # end of image segment marker, i.e. FF D9 00. This is not DICOM conformant # but required for interoperability with the HP LOCO reference implementation, - # which does not support extended JPEG-LS bitstreams\&. + # which does not support extended JPEG-LS bitstreams. .fi .PP .SS "encapsulated pixel data encoding options" @@ -192,13 +192,13 @@ encapsulated pixel data fragmentation: encode each frame as one fragment (default) # This option causes the creation of one compressed fragment for each - # frame (recommended)\&. + # frame (recommended). +fs --fragment-size [s]ize: integer limit fragment size to s kbytes # This option limits the fragment size which may cause the creation of - # multiple fragments per frame\&. + # multiple fragments per frame. basic offset table encoding: @@ -206,44 +206,44 @@ basic offset table encoding: create offset table (default) # This option causes the creation of a valid offset table for the - # compressed JPEG fragments\&. + # compressed JPEG fragments. -ot --offset-table-empty leave offset table empty # This option causes the creation of an empty offset table - # for the compressed JPEG fragments\&. + # for the compressed JPEG fragments. SOP Class UID: +cd --class-default keep SOP Class UID (default) - # Keep the SOP Class UID of the source image\&. + # Keep the SOP Class UID of the source image. +cs --class-sc convert to Secondary Capture Image (implies --uid-always) - # Convert the image to Secondary Capture\&. In addition to the SOP Class + # Convert the image to Secondary Capture. In addition to the SOP Class # UID, all attributes required for a valid secondary capture image are - # added\&. A new SOP instance UID is always assigned\&. + # added. A new SOP instance UID is always assigned. SOP Instance UID: +ud --uid-default assign new UID if lossy compression (default) - # Assigns a new SOP instance UID if the compression is lossy JPEG-LS\&. + # Assigns a new SOP instance UID if the compression is lossy JPEG-LS. +ua --uid-always always assign new UID - # Unconditionally assigns a new SOP instance UID\&. + # Unconditionally assigns a new SOP instance UID. +un --uid-never never assign new UID - # Never assigns a new SOP instance UID\&. + # Never assigns a new SOP instance UID. .fi .PP .SS "output options" @@ -300,10 +300,10 @@ The user is responsible for making sure that the compressed images he creates ar .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 (*) -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 .fi .PP .PP @@ -313,8 +313,8 @@ BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 .PP .PP .nf -JPEGLSLosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.80 -JPEGLSLossyTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.81 +JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80 +JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81 .fi .PP .SH "LOGGING" @@ -339,4 +339,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmdjpls\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2009-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2009-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmconv.1 b/doxygen/manpages/man1/dcmconv.1 index 68a07937..26b80c68 100644 --- a/doxygen/manpages/man1/dcmconv.1 +++ b/doxygen/manpages/man1/dcmconv.1 @@ -1,4 +1,4 @@ -.TH "dcmconv" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmconv" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmconv \- Convert DICOM file encoding @@ -17,9 +17,9 @@ The \fBdcmconv\fP utility reads a DICOM file (\fIdcmfile-in\fP), performs an enc .PP .PP .nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) +dcmfile-in DICOM input filename to be converted ("-" for stdin) -dcmfile-out DICOM output filename to write to ('-' for stdout) +dcmfile-out DICOM output filename to write to ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -164,7 +164,7 @@ handling of VOI LUT Sequence with OW VR and explicit length: +vi --illegal-voi-conv convert illegal VOI LUT to SQ -handling of explicit length pixel data for encaps\&. transfer syntaxes: +handling of explicit length pixel data for encaps. transfer syntaxes: -pe --abort-expl-pixdata abort on explicit length pixel data (default) @@ -182,7 +182,7 @@ general handling of parser errors: other parsing options: - +st --stop-after-elem [t]ag: 'gggg,eeee' or dictionary name + +st --stop-after-elem [t]ag: "gggg,eeee" or dictionary name stop parsing after element specified by t automatic data correction: @@ -351,4 +351,4 @@ The mapping table files are expected in DCMTK's \fI\fP\&. The \fIDCMICO \fBdcmdump\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1994-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1994-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmcrle.1 b/doxygen/manpages/man1/dcmcrle.1 index 695ef01a..fc4f3981 100644 --- a/doxygen/manpages/man1/dcmcrle.1 +++ b/doxygen/manpages/man1/dcmcrle.1 @@ -1,4 +1,4 @@ -.TH "dcmcrle" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmcrle" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmcrle \- Encode DICOM file to RLE transfer syntax @@ -17,9 +17,9 @@ The \fBdcmcrle\fP utility reads an uncompressed DICOM image (\fIdcmfile-in\fP), .PP .PP .nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) +dcmfile-in DICOM input filename to be converted ("-" for stdin) -dcmfile-out DICOM output filename ('-' for stdout) +dcmfile-out DICOM output filename ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -174,10 +174,10 @@ Please note that the DICOM standard does not allow for storing the pixel data wi .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 (*) -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 .fi .PP .PP @@ -187,7 +187,7 @@ BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 .PP .PP .nf -RLELosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.5 +RLELosslessTransferSyntax 1.2.840.10008.1.2.5 .fi .PP .SH "LOGGING" @@ -212,4 +212,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmdrle\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2002-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2002-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmdjpeg.1 b/doxygen/manpages/man1/dcmdjpeg.1 index 7a3d65ec..cedf8f20 100644 --- a/doxygen/manpages/man1/dcmdjpeg.1 +++ b/doxygen/manpages/man1/dcmdjpeg.1 @@ -1,4 +1,4 @@ -.TH "dcmdjpeg" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmdjpeg" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmdjpeg \- Decode JPEG-compressed DICOM file @@ -17,9 +17,9 @@ The \fBdcmdjpeg\fP utility reads a JPEG-compressed DICOM image (\fIdcmfile-in\fP .PP .PP .nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) +dcmfile-in DICOM input filename to be converted ("-" for stdin) -dcmfile-out DICOM output filename ('-' for stdout) +dcmfile-out DICOM output filename ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -68,9 +68,9 @@ input file format: read data set without file meta information # This option allows one to decompress JPEG compressed DICOM objects that - # have been stored as dataset without meta-header\&. Such a thing should + # have been stored as dataset without meta-header. Such a thing should # not exist since the transfer syntax cannot be reliably determined, - # without meta-header but unfortunately it does\&. + # without meta-header but unfortunately it does. .fi .PP .SS "processing options" @@ -82,42 +82,42 @@ color space conversion: convert if YCbCr photometric interpretation (default) # If the compressed image uses YBR_FULL or YBR_FULL_422 photometric - # interpretation, convert to RGB during decompression\&. + # interpretation, convert to RGB during decompression. +cl --conv-lossy convert YCbCr to RGB if lossy JPEG # If the compressed image is encoded in lossy JPEG, assume YCbCr - # color model and convert to RGB\&. + # color model and convert to RGB. +cg --conv-guess convert to RGB if YCbCr is guessed by library - # If the underlying JPEG library 'guesses' the color space of the - # compressed image to be YCbCr, convert to RGB\&. + # If the underlying JPEG library "guesses" the color space of the + # compressed image to be YCbCr, convert to RGB. +cgl --conv-guess-lossy convert to RGB if lossy JPEG and YCbCr is guessed by the underlying JPEG library # If the compressed image is encoded in lossy JPEG and the underlying - # JPEG library 'guesses' the color space to be YCbCr, convert to RGB\&. + # JPEG library "guesses" the color space to be YCbCr, convert to RGB. +ca --conv-always always convert YCbCr to RGB # If the compressed image is a color image, assume YCbCr color model - # and convert to RGB\&. Warning: This will lead to an incorrectly decoded - # image if the color space is in fact RGB\&. Images compressed with lossless + # and convert to RGB. Warning: This will lead to an incorrectly decoded + # image if the color space is in fact RGB. Images compressed with lossless # JPEG are almost never encoded in YCbCr, this option should thus be used - # with care on such images\&. + # with care on such images. +cn --conv-never never convert YCbCr to RGB - # Never convert color space from YCbCr to RGB during decompression\&. + # Never convert color space from YCbCr to RGB during decompression. # Note that a conversion from YBR_FULL_422 to YBR_FULL will still take - # place if the source images has been compressed with subsampling\&. + # place if the source images has been compressed with subsampling. planar configuration: @@ -127,34 +127,34 @@ planar configuration: # If the compressed image is a color image, store in color-by-plane # planar configuration if required by the SOP class and photometric - # interpretation\&. Hardcopy Color images are always stored color-by- + # interpretation. Hardcopy Color images are always stored color-by- # plane, and the revised Ultrasound image objects are stored color-by- - # plane if the color model is YBR_FULL\&. Everything else is stored - # color-by-pixel\&. + # plane if the color model is YBR_FULL. Everything else is stored + # color-by-pixel. +px --color-by-pixel always store color-by-pixel # If the compressed image is a color image, store in color-by-pixel - # planar configuration\&. + # planar configuration. +pl --color-by-plane always store color-by-plane # If the compressed image is a color image, store in color-by-plane - # planar configuration\&. + # planar configuration. SOP Instance UID: +ud --uid-default keep same SOP Instance UID (default) - # Never assigns a new SOP instance UID\&. + # Never assigns a new SOP instance UID. +ua --uid-always always assign new UID - # Always assigns a new SOP instance UID\&. + # Always assigns a new SOP instance UID. workaround options for incorrect JPEG encodings: @@ -162,31 +162,31 @@ workaround options for incorrect JPEG encodings: enable workaround for JPEG lossless images with overflow in predictor 6 - # DICOM images with 16 bits/pixel have been observed 'in the wild' + # DICOM images with 16 bits/pixel have been observed "in the wild" # that are compressed with lossless JPEG and need special handling # because the encoder produced an 16-bit integer overflow in predictor - # 6, which needs to be compensated (reproduced) during decompression\&. + # 6, which needs to be compensated (reproduced) during decompression. # This flag enables a correct decompression of such faulty images, but # at the same time will cause an incorrect decompression of correctly - # compressed images\&. Use with care\&. + # compressed images. Use with care. +wi --workaround-incpl enable workaround for incomplete JPEG data # This option causes dcmjpeg to ignore incomplete JPEG data # at the end of a compressed fragment and to start decompressing - # the next frame from the next fragment (if any)\&. This permits - # images with incomplete JPEG data to be decoded\&. + # the next frame from the next fragment (if any). This permits + # images with incomplete JPEG data to be decoded. +wc --workaround-cornell enable workaround for 16-bit JPEG lossless Cornell images with Huffman table overflow # One of the first open-source implementations of lossless JPEG - # compression, the 'Cornell' library, has a well-known bug that leads + # compression, the "Cornell" library, has a well-known bug that leads # to invalid values in the Huffmann table when images with 16 bit/sample - # are compressed\&. This flag enables a workaround that permits such - # images to be decoded correctly\&..fi + # are compressed. This flag enables a workaround that permits such + # images to be decoded correctly..fi .PP .SS "output options" .PP @@ -256,16 +256,16 @@ data set trailing padding (not with --write-dataset): .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 (*) -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 -JPEGProcess1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.50 -JPEGProcess2_4TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.51 -JPEGProcess6_8TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.53 -JPEGProcess10_12TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.55 -JPEGProcess14TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.57 -JPEGProcess14SV1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.70 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 +JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 +JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 +JPEGProcess6_8TransferSyntax 1.2.840.10008.1.2.4.53 +JPEGProcess10_12TransferSyntax 1.2.840.10008.1.2.4.55 +JPEGProcess14TransferSyntax 1.2.840.10008.1.2.4.57 +JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70 .fi .PP .PP @@ -275,9 +275,9 @@ JPEGProcess14SV1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\& .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 .fi .PP .SH "LOGGING" @@ -302,4 +302,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmcjpeg\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2001-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2001-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmdjpls.1 b/doxygen/manpages/man1/dcmdjpls.1 index 6cc32c46..42faf574 100644 --- a/doxygen/manpages/man1/dcmdjpls.1 +++ b/doxygen/manpages/man1/dcmdjpls.1 @@ -1,4 +1,4 @@ -.TH "dcmdjpls" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmdjpls" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmdjpls \- Decode JPEG-LS compressed DICOM file @@ -17,9 +17,9 @@ The \fBdcmdjpls\fP utility reads a JPEG-ls compressed DICOM image (\fIdcmfile-in .PP .PP .nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) +dcmfile-in DICOM input filename to be converted ("-" for stdin) -dcmfile-out DICOM output filename ('-' for stdout) +dcmfile-out DICOM output filename ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -68,9 +68,9 @@ input file format: read data set without file meta information # This option allows one to decompress JPEG-LS compressed DICOM objects that have - # been stored as dataset without meta-header\&. Such a thing should not exist + # been stored as dataset without meta-header. Such a thing should not exist # since the transfer syntax cannot be reliably determined without meta-header, - # but unfortunately it does\&. + # but unfortunately it does. .fi .PP .SS "processing options" @@ -82,7 +82,7 @@ planar configuration: restore original planar configuration (default) # If the compressed image is a color image, restore the planar - # configuration as described in the Planar Configuration attribute\&. + # configuration as described in the Planar Configuration attribute. +pa --planar-auto automatically determine planar configuration @@ -90,34 +90,34 @@ planar configuration: # If the compressed image is a color image, store in color-by-plane # planar configuration if required by the SOP class and photometric - # interpretation\&. Hardcopy Color images are always stored color-by- + # interpretation. Hardcopy Color images are always stored color-by- # plane, and the revised Ultrasound image objects are stored color-by- - # plane if the color model is YBR_FULL\&. Everything else is stored - # color-by-pixel\&. + # plane if the color model is YBR_FULL. Everything else is stored + # color-by-pixel. +px --color-by-pixel always store color-by-pixel # If the compressed image is a color image, store in color-by-pixel - # planar configuration\&. + # planar configuration. +pl --color-by-plane always store color-by-plane # If the compressed image is a color image, store in color-by-plane - # planar configuration\&. + # planar configuration. SOP Instance UID: +ud --uid-default keep same SOP Instance UID (default) - # Never assigns a new SOP instance UID\&. + # Never assigns a new SOP instance UID. +ua --uid-always always assign new UID - # Always assigns a new SOP instance UID\&. + # Always assigns a new SOP instance UID. workaround options for incorrect JPEG-LS encodings: @@ -198,12 +198,12 @@ data set trailing padding (not with --write-dataset): .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 (*) -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 -JPEGLSLosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.80 -JPEGLSLossyTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.81 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 +JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80 +JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81 .fi .PP .PP @@ -213,9 +213,9 @@ JPEGLSLossyTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\& .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 .fi .PP .SH "LOGGING" @@ -240,4 +240,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmcjpls\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2009-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2009-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmdrle.1 b/doxygen/manpages/man1/dcmdrle.1 index 5bf141db..baf40c1e 100644 --- a/doxygen/manpages/man1/dcmdrle.1 +++ b/doxygen/manpages/man1/dcmdrle.1 @@ -1,4 +1,4 @@ -.TH "dcmdrle" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmdrle" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmdrle \- Decode RLE-compressed DICOM file @@ -17,9 +17,9 @@ The \fBdcmdrle\fP utility reads a RLE-compressed DICOM image (\fIdcmfile-in\fP), .PP .PP .nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) +dcmfile-in DICOM input filename to be converted ("-" for stdin) -dcmfile-out DICOM output filename ('-' for stdout) +dcmfile-out DICOM output filename ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -68,9 +68,9 @@ input file format: read data set without file meta information # This option allows one to decompress RLE compressed DICOM objects that have - # been stored as dataset without meta-header\&. Such a thing should not exist + # been stored as dataset without meta-header. Such a thing should not exist # since the transfer syntax cannot be reliably determined without meta-header, - # but unfortunately it does\&. + # but unfortunately it does. .fi .PP .SS "processing options" @@ -93,8 +93,8 @@ RLE byte segment order: least significant byte first # This option allows one to decompress RLE compressed DICOM files in which - # the order of byte segments is encoded in incorrect order\&. This only affects - # images with more than one byte per sample\&. + # the order of byte segments is encoded in incorrect order. This only affects + # images with more than one byte per sample. .fi .PP .SS "output options" @@ -165,11 +165,11 @@ data set trailing padding (not with --write-dataset): .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 (*) -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 -RLELosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.5 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 +RLELosslessTransferSyntax 1.2.840.10008.1.2.5 .fi .PP .PP @@ -179,9 +179,9 @@ RLELosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.5 .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 .fi .PP .SH "LOGGING" @@ -206,4 +206,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmcrle\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2002-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany +Copyright (C) 2002-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany diff --git a/doxygen/manpages/man1/dcmdspfn.1 b/doxygen/manpages/man1/dcmdspfn.1 index ff981387..979780e4 100644 --- a/doxygen/manpages/man1/dcmdspfn.1 +++ b/doxygen/manpages/man1/dcmdspfn.1 @@ -1,4 +1,4 @@ -.TH "dcmdspfn" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmdspfn" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmdspfn \- Export standard display curves to a text file @@ -95,7 +95,7 @@ dcmfile-in DICOM input filename to be dumped +Cf --curve-fitting [n]umber: integer use polynomial curve fitting algorithm with order n - (0\&.\&.99, default: file setting or cubic spline) + (0..99, default: file setting or cubic spline) .fi .PP .SS "output options" @@ -143,4 +143,4 @@ In addition, one or more command files can be specified using an '@' sign as a p \fBdconvlum\fP(1), \fBdcod2lum\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1999-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1999-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmdump.1 b/doxygen/manpages/man1/dcmdump.1 index 5acd7609..7e75a0b2 100644 --- a/doxygen/manpages/man1/dcmdump.1 +++ b/doxygen/manpages/man1/dcmdump.1 @@ -1,4 +1,4 @@ -.TH "dcmdump" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmdump" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmdump \- Dump DICOM file and data set @@ -7,7 +7,7 @@ dcmdump \- Dump DICOM file and data set .PP .PP .nf -dcmdump [options] dcmfile-in\&.\&.\&. +dcmdump [options] dcmfile-in... .fi .PP .SH "DESCRIPTION" @@ -19,7 +19,7 @@ If \fBdcmdump\fP reads a raw data set (DICOM data without a file format meta-hea .PP .PP .nf -dcmfile-in DICOM input file or directory to be dumped ('-' for stdin) +dcmfile-in DICOM input file or directory to be dumped ("-" for stdin) .fi .PP .SH "OPTIONS" @@ -106,9 +106,9 @@ long tag values: load very long tag values (default) -M --load-short - do not load very long values (e\&.g\&. pixel data) + do not load very long values (e.g. pixel data) - +R --max-read-length [k]bytes: integer (4\&.\&.4194302, default: 4) + +R --max-read-length [k]bytes: integer (4..4194302, default: 4) set threshold for long values to k kbytes parsing of file meta information: @@ -191,7 +191,7 @@ handling of VOI LUT Sequence with OW VR and explicit length: +vi --illegal-voi-conv convert illegal VOI LUT to SQ -handling of explicit length pixel data for encaps\&. transfer syntaxes: +handling of explicit length pixel data for encaps. transfer syntaxes: -pe --abort-expl-pixdata abort on explicit length pixel data (default) @@ -209,10 +209,10 @@ general handling of parser errors: other parsing options: - +st --stop-after-elem [t]ag: 'gggg,eeee' or dictionary name + +st --stop-after-elem [t]ag: "gggg,eeee" or dictionary name stop parsing after element specified by t - +sb --stop-before-elem [t]ag: 'gggg,eeee' or dictionary name + +sb --stop-before-elem [t]ag: "gggg,eeee" or dictionary name stop parsing before element specified by t # only considers elements on main dataset level and also @@ -309,7 +309,7 @@ error handling: searching: - +P --search [t]ag: 'gggg,eeee' or dictionary name + +P --search [t]ag: "gggg,eeee" or dictionary name print the textual dump of tag t this option can be specified multiple times (default: the complete file is printed) @@ -322,7 +322,7 @@ searching: +p --prepend prepend sequence hierarchy to printed tag, - denoted by: (gggg,eeee)\&.(gggg,eeee)\&.* + denoted by: (gggg,eeee).(gggg,eeee).* (only when used with --search) -p --no-prepend @@ -331,7 +331,7 @@ searching: writing: +W --write-pixel [d]irectory: string - write pixel data to a \&.raw file stored in d + write pixel data to a .raw file stored in d (little endian, filename created automatically) .fi .PP @@ -364,4 +364,4 @@ The mapping table files are expected in DCMTK's \fI\fP\&. The \fIDCMICO \fBdump2dcm\fP(1), \fBdcmconv\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1994-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1994-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmftest.1 b/doxygen/manpages/man1/dcmftest.1 index d6480039..a7ff3aea 100644 --- a/doxygen/manpages/man1/dcmftest.1 +++ b/doxygen/manpages/man1/dcmftest.1 @@ -1,4 +1,4 @@ -.TH "dcmftest" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmftest" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmftest \- Test if file uses DICOM part 10 format @@ -7,7 +7,7 @@ dcmftest \- Test if file uses DICOM part 10 format .PP .PP .nf -dcmftest file\&.\&.\&. +dcmftest file... .fi .PP .SH "DESCRIPTION" @@ -28,4 +28,4 @@ All files specified on the command line are checked for the presence of the DICO \fBdcmgpdir\fP(1), \fBdcmmkdir\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1997-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1997-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmgpdir.1 b/doxygen/manpages/man1/dcmgpdir.1 index f9c4d881..47c328fb 100644 --- a/doxygen/manpages/man1/dcmgpdir.1 +++ b/doxygen/manpages/man1/dcmgpdir.1 @@ -1,4 +1,4 @@ -.TH "dcmgpdir" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmgpdir" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmgpdir \- Create a general purpose DICOMDIR @@ -7,225 +7,15 @@ dcmgpdir \- Create a general purpose DICOMDIR .PP .PP .nf -dcmgpdir [options] [dcmfile-in\&.\&.\&.] +dcmgpdir [options] [dcmfile-in...] .fi .PP .SH "DESCRIPTION" .PP -The \fBdcmgpdir\fP utility creates a \fIDICOMDIR\fP file from the specified referenced DICOM files according to the DICOM Part 11 Media Storage Application Profiles\&. -.PP -Currently, the following profiles are supported: -.PP -.IP "\(bu" 2 -General Purpose CD-R Interchange (STD-GEN-CD) -.IP "\(bu" 2 -General Purpose Interchange on DVD-RAM Media (STD-GEN-DVD-RAM) -.PP -.PP -\fBdcmmkdir\fP is an extended version of this tool which also supports other Media Storage Application Profiles than the general purpose one (e\&.g\&. the cardio profiles require the use of icon images)\&. -.SH "PARAMETERS" -.PP -.PP -.nf -dcmfile-in referenced DICOM file (or directory to be scanned) -.fi -.PP -.SH "OPTIONS" -.PP -.SS "general options" -.PP -.nf - -h --help - print this help text and exit - - --version - print version information and exit - - --arguments - print expanded command line arguments - - -q --quiet - quiet mode, print no warnings and errors - - -v --verbose - verbose mode, print processing details - - -d --debug - debug mode, print debug information - - -ll --log-level [l]evel: string constant - (fatal, error, warn, info, debug, trace) - use level l for the logger - - -lc --log-config [f]ilename: string - use config file f for the logger -.fi -.PP -.SS "input options" -.PP -.nf -DICOMDIR identifiers: - - +F --fileset-id [i]d: string - use specific file-set ID - (default: DCMTK_MEDIA_DEMO, '' for none) - - +R --descriptor [f]ilename: string - add a file-set descriptor file ID - (e\&.g\&. README, default: no descriptor) - - +C --char-set [c]harset: string - add a specific character set for descriptor - (default: 'ISO_IR 100' if descriptor present) - -reading: - - +id --input-directory [d]irectory: string - read referenced DICOM files from directory d - (default for --recurse: current directory) - - -m --keep-filenames - expect filenames to be in DICOM format (default) - - +m --map-filenames - map to DICOM filenames (lowercase->uppercase, - and remove trailing period) - - -r --no-recurse - do not recurse within directories (default) - - +r --recurse - recurse within filesystem directories - - +p --pattern [p]attern: string (only with --recurse) - pattern for filename matching (wildcards) - - # possibly not available on all systems -.fi -.PP -.SS "processing options" -.PP -.nf -consistency check: - - -W --no-consistency-check - do not check files for consistency - - +W --warn-inconsist-files - warn about inconsistent files (default) - - -a --abort-inconsist-file - abort on first inconsistent file - -type 1 attributes: - - -I --strict - exit with error if DICOMDIR type 1 attributes - are missing in DICOM file (default) - - +I --invent - invent DICOMDIR type 1 attributes if missing in DICOM file - - +Ipi --invent-patient-id - invent new PatientID in case of inconsistent - PatientName attributes - -other checks: - - +Nrs --allow-retired-sop - allow retired SOP classes defined in previous editions - of the DICOM standard - - -Nxc --no-xfer-check - do not reject images with non-standard transfer syntax - (just warn) -.fi -.PP -.SS "output options" -.PP -.nf -DICOMDIR file: - - +D --output-file [f]ilename: string - generate specific DICOMDIR file - (default: DICOMDIR in current directory) - -writing: - - -A --replace - replace existing DICOMDIR (default) - - +A --append - append to existing DICOMDIR - - +U --update - update existing DICOMDIR - - -w --discard - do not write out DICOMDIR - -backup: - - --create-backup - create a backup of existing DICOMDIR (default) - - -nb --no-backup - do not create a backup of existing DICOMDIR - -post-1993 value representations: - - +u --enable-new-vr - enable support for new VRs (UN/UT) (default) - - -u --disable-new-vr - disable support for new VRs, convert to OB - -group length encoding: - - -g --group-length-remove - write without group length elements (default) - - +g --group-length-create - write with group length elements - -length encoding in sequences and items: - - +e --length-explicit - write with explicit lengths (default) - - -e --length-undefined - write with undefined lengths -.fi -.PP -.SH "NOTES" -.PP -All files specified on the command line (or discovered by recursively examining the contents of directories with the \fI+r\fP option) are first evaluated for their compatibility with the General Purpose CD-R Image Interchange Profile (Supplement 19)\&. Only appropriate files encoded using the Explicit VR Little Endian Uncompressed Transfer Syntax will be accepted\&. Files having invalid filenames will be rejected (the rules can be relaxed via the \fI+m\fP option)\&. Files missing required attributes will be rejected (the \fI+I\fP option can relax this behavior)\&. -.PP -A \fIDICOMDIR\fP file will only be constructed if all files have passed initial tests\&. -.PP -The \fBdcmgpdir\fP utility also allows one to append new entries to and to update existing entries in a \fIDICOMDIR\fP file\&. Using option \fI+A\fP new entries are only appended to the DICOMDIR, i\&.e\&. existing records like the ones for PATIENT information are not updated\&. Using option \fI+U\fP also existing records are updated according to the information found in the referenced DICOM files\&. Please note that this update process might be slower than just appending new entries\&. However, it makes sure that additional information that is required for the selected application profile is also added to existing records\&. -.SS "Scanning Directories" -Adding files from directories is possible by using option \fI--recurse\fP\&. If no further command line parameters are given, the directory specified by option \fI--input-directory\fP (default: current directory) is scanned for files\&. If parameters are given, they can either specify a file or directory name; the input directory is always prepended\&. If the files in the provided directories should be selected according to a specific name pattern (e\&.g\&. using wildcard matching), option \fI--pattern\fP has to be used\&. Please note that this file pattern only applies to the files within the scanned directories, and, if any other patterns are specified on the command line outside the \fI--input-directory\fP option (e\&.g\&. in order to select further files), these do not apply to the specified directories\&. -.SH "LOGGING" -.PP -The level of logging output of the various command line tools and underlying libraries can be specified by the user\&. By default, only errors and warnings are written to the standard error stream\&. Using option \fI--verbose\fP also informational messages like processing details are reported\&. Option \fI--debug\fP can be used to get more details on the internal activity, e\&.g\&. for debugging purposes\&. Other logging levels can be selected using option \fI--log-level\fP\&. In \fI--quiet\fP mode only fatal errors are reported\&. In such very severe error events, the application will usually terminate\&. For more details on the different logging levels, see documentation of module 'oflog'\&. -.PP -In case the logging output should be written to file (optionally with logfile rotation), to syslog (Unix) or the event log (Windows) option \fI--log-config\fP can be used\&. This configuration file also allows for directing only certain messages to a particular output stream and for filtering certain messages based on the module or application where they are generated\&. An example configuration file is provided in \fI/logger\&.cfg\fP\&. -.SH "COMMAND LINE" -.PP -All command line tools use the following notation for parameters: square brackets enclose optional values (0-1), three trailing dots indicate that multiple values are allowed (1-n), a combination of both means 0 to n values\&. -.PP -Command line options are distinguished from parameters by a leading '+' or '-' sign, respectively\&. Usually, order and position of command line options are arbitrary (i\&.e\&. they can appear anywhere)\&. However, if options are mutually exclusive the rightmost appearance is used\&. This behavior conforms to the standard evaluation rules of common Unix shells\&. -.PP -In addition, one or more command files can be specified using an '@' sign as a prefix to the filename (e\&.g\&. \fI@command\&.txt\fP)\&. Such a command argument is replaced by the content of the corresponding text file (multiple whitespaces are treated as a single separator unless they appear between two quotation marks) prior to any further evaluation\&. Please note that a command file cannot contain another command file\&. This simple but effective approach allows one to summarize common combinations of options/parameters and avoids longish and confusing command lines (an example is provided in file \fI/dumppat\&.txt\fP)\&. -.SH "ENVIRONMENT" -.PP -The \fBdcmgpdir\fP utility will attempt to load DICOM data dictionaries specified in the \fIDCMDICTPATH\fP environment variable\&. By default, i\&.e\&. if the \fIDCMDICTPATH\fP environment variable is not set, the file \fI/dicom\&.dic\fP will be loaded unless the dictionary is built into the application (default for Windows)\&. -.PP -The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. +The \fBdcmgpdir\fP tool is deprecated\&. Use \fBdcmmkdir\fP instead, which supports the same command line parameters, and more\&. .SH "SEE ALSO" .PP \fBdcmmkdir\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1996-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1996-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmicmp.1 b/doxygen/manpages/man1/dcmicmp.1 index fe3a6c41..6e92333a 100644 --- a/doxygen/manpages/man1/dcmicmp.1 +++ b/doxygen/manpages/man1/dcmicmp.1 @@ -1,4 +1,4 @@ -.TH "dcmicmp" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmicmp" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmicmp \- Compare DICOM images and compute difference metrics @@ -36,7 +36,7 @@ All metrics are computed as defined in R\&.C\&. Gonzalez and R\&.E\&. Woods, 'Di .nf dcmfile-in-1 Reference DICOM image file for comparison -dcmfile-in-2 Test DICOM image file for comparison ('-' for stdin) +dcmfile-in-2 Test DICOM image file for comparison ("-" for stdin) .fi .PP .SH "OPTIONS" @@ -169,19 +169,19 @@ presentation LUT transformation: check if max absolute error <= limit # Return exit code EXITCODE_LIMIT_EXCEEDED_MAX_ERROR if the computed - # maximum absolute error is larger than the given limit\&. + # maximum absolute error is larger than the given limit. +cm --check-mae [l]imit: float check if mean absolute error <= limit # Return exit code EXITCODE_LIMIT_EXCEEDED_MAE if the computed - # mean absolute error is larger than the given limit\&. + # mean absolute error is larger than the given limit. +cr --check-rmse [l]imit: float check if root mean square error <= limit # Return exit code EXITCODE_LIMIT_EXCEEDED_RMSE if the computed - # root mean square error is larger than the given limit\&. + # root mean square error is larger than the given limit. +cp --check-psnr [l]imit: float check if PSNR >= limit @@ -205,20 +205,20 @@ presentation LUT transformation: write secondary capture difference image # Create a Multiframe Secondary Capture image that contains a - # difference image between reference and test image\&. For monochrome + # difference image between reference and test image. For monochrome # images, one difference frame is created for each frame in the reference - # image\&. For color images, three monochrome frames are created for each + # image. For color images, three monochrome frames are created for each # frame in the reference image, corresponding to the differences in the - # red, green and blue color plane\&. The difference image will have - # BitsStored 8 or 16, depending on the properties of the reference image\&. + # red, green and blue color plane. The difference image will have + # BitsStored 8 or 16, depending on the properties of the reference image. +a --amplify [f]actor: float multiply diff image pixel values by f # This option can be used to amplify the grayscale values in the - # difference image by multiplying each value with the given factor\&. + # difference image by multiplying each value with the given factor. # Alternatively, a DICOM VOI LUT window may be used when visualizing - # the difference image\&. + # the difference image. .fi .PP .SH "NOTES" @@ -233,10 +233,10 @@ The user should also note that the metrics computed by this tool cannot predict .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 (*) -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 .fi .PP .PP @@ -300,4 +300,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcm2pnm\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2018-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2018-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmj2pnm.1 b/doxygen/manpages/man1/dcmj2pnm.1 index c39054bd..8acd3984 100644 --- a/doxygen/manpages/man1/dcmj2pnm.1 +++ b/doxygen/manpages/man1/dcmj2pnm.1 @@ -1,4 +1,4 @@ -.TH "dcmj2pnm" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmj2pnm" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmj2pnm \- Convert DICOM images to PGM/PPM, PNG, TIFF, JPEG or BMP @@ -12,522 +12,10 @@ dcmj2pnm [options] dcmfile-in [bitmap-out] .PP .SH "DESCRIPTION" .PP -The \fBdcmj2pnm\fP utility reads a DICOM image, converts the pixel data according to the selected image processing options and writes back an image in the well-known PGM/PPM (portable gray map / portable pix map), PNG, TIFF, JPEG (Joint Photographic Experts Group) or Windows BMP format\&. This utility supports uncompressed as well as JPEG and RLE compressed DICOM images\&. -.SH "PARAMETERS" -.PP -.PP -.nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) - -bitmap-out output filename to be written (default: stdout) -.fi -.PP -.SH "OPTIONS" -.PP -.SS "general options" -.PP -.nf - -h --help - print this help text and exit - - --version - print version information and exit - - --arguments - print expanded command line arguments - - -q --quiet - quiet mode, print no warnings and errors - - -v --verbose - verbose mode, print processing details - - -d --debug - debug mode, print debug information - - -ll --log-level [l]evel: string constant - (fatal, error, warn, info, debug, trace) - use level l for the logger - - -lc --log-config [f]ilename: string - use config file f for the logger -.fi -.PP -.SS "input options" -.PP -.nf -input file format: - - +f --read-file - read file format or data set (default) - - +fo --read-file-only - read file format only - - -f --read-dataset - read data set without file meta information - -input transfer syntax: - - -t= --read-xfer-auto - use TS recognition (default) - - -td --read-xfer-detect - ignore TS specified in the file meta header - - -te --read-xfer-little - read with explicit VR little endian TS - - -tb --read-xfer-big - read with explicit VR big endian TS - - -ti --read-xfer-implicit - read with implicit VR little endian TS -.fi -.PP -.SS "image processing options" -.PP -.nf -frame selection: - - +F --frame [n]umber: integer - select specified frame (default: 1) - - +Fr --frame-range [n]umber [c]ount: integer - select c frames beginning with frame n - - +Fa --all-frames - select all frames - -rotation: - - +Rl --rotate-left - rotate image left (-90 degrees) - - +Rr --rotate-right - rotate image right (+90 degrees) - - +Rtd --rotate-top-down - rotate image top-down (180 degrees) - -flipping: - - +Lh --flip-horizontally - flip image horizontally - - +Lv --flip-vertically - flip image vertically - - +Lhv --flip-both-axes - flip image horizontally and vertically - -scaling: - - +a --recognize-aspect - recognize pixel aspect ratio when scaling (default) - - -a --ignore-aspect - ignore pixel aspect ratio when scaling - - +i --interpolate [n]umber of algorithm: integer - use interpolation when scaling (1\&.\&.4, default: 1) - - -i --no-interpolation - no interpolation when scaling - - -S --no-scaling - no scaling, ignore pixel aspect ratio (default) - - +Sxf --scale-x-factor [f]actor: float - scale x axis by factor, auto-compute y axis - - +Syf --scale-y-factor [f]actor: float - scale y axis by factor, auto-compute x axis - - +Sxv --scale-x-size [n]umber: integer - scale x axis to n pixels, auto-compute y axis - - +Syv --scale-y-size [n]umber: integer - scale y axis to n pixels, auto-compute x axis - -color space conversion (JPEG compressed images only): - - +cp --conv-photometric - convert if YCbCr photometric interpretation (default) - - +cl --conv-lossy - convert YCbCr to RGB if lossy JPEG - - +cg --conv-guess - convert to RGB if YCbCr is guessed by library - - +cgl --conv-guess-lossy - convert to RGB if lossy JPEG and YCbCr is - guessed by the underlying JPEG library - - +ca --conv-always - always convert YCbCr to RGB - - +cn --conv-never - never convert color space - -workaround options for incorrect encodings (JPEG compressed images only): - - +w6 --workaround-pred6 - enable workaround for JPEG lossless images - with overflow in predictor 6 - - # DICOM images with 16 bits/pixel have been observed 'in the wild' - # that are compressed with lossless JPEG and need special handling - # because the encoder produced an 16-bit integer overflow in predictor - # 6, which needs to be compensated (reproduced) during decompression\&. - # This flag enables a correct decompression of such faulty images, but - # at the same time will cause an incorrect decompression of correctly - # compressed images\&. Use with care\&. - - +wi --workaround-incpl - enable workaround for incomplete JPEG data - - # This option causes dcmj2pnm to ignore incomplete JPEG data - # at the end of a compressed fragment and to start decompressing - # the next frame from the next fragment (if any)\&. This permits - # images with incomplete JPEG data to be decoded\&. - - +wc --workaround-cornell - enable workaround for 16-bit JPEG lossless - Cornell images with Huffman table overflow - - # One of the first open-source implementations of lossless JPEG - # compression, the 'Cornell' library, has a well-known bug that leads - # to invalid values in the Huffmann table when images with 16 bit/sample - # are compressed\&. This flag enables a workaround that permits such - # images to be decoded correctly\&. - -modality LUT transformation: - - -M --no-modality - ignore stored modality LUT transformation - - +M --use-modality - use modality LUT transformation (default) - -VOI LUT transformation: - - -W --no-windowing - no VOI windowing (default) - - +Wi --use-window [n]umber: integer - use the n-th VOI window from image file - - +Wl --use-voi-lut [n]umber: integer - use the n-th VOI look up table from image file - - +Wm --min-max-window - compute VOI window using min-max algorithm - - +Wn --min-max-window-n - compute VOI window using min-max algorithm, - ignoring extreme values - - +Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer - compute ROI window using min-max algorithm, - region of interest is specified by l,t,w,h - - +Wh --histogram-window [n]umber: integer - compute VOI window using Histogram algorithm, - ignoring n percent - - +Ww --set-window [c]enter [w]idth: float - compute VOI window using center c and width w - - +Wfl --linear-function - set VOI LUT function to LINEAR - - +Wfs --sigmoid-function - set VOI LUT function to SIGMOID - -presentation LUT transformation: - - +Pid --identity-shape - set presentation LUT shape to IDENTITY - - +Piv --inverse-shape - set presentation LUT shape to INVERSE - - +Pod --lin-od-shape - set presentation LUT shape to LIN OD - -overlay: - - -O --no-overlays - do not display overlays - - +O --display-overlay [n]umber: integer - display overlay n (0\&.\&.16, 0=all, default: +O 0) - - +Omr --ovl-replace - use overlay mode 'Replace' - (default for Graphic overlays) - - +Omt --ovl-threshold - use overlay mode 'Threshold Replace' - - +Omc --ovl-complement - use overlay mode 'Complement' - - +Omv --ovl-invert - use overlay mode 'Invert Bitmap' - - +Omi --ovl-roi - use overlay mode 'Region of Interest' - (default for ROI overlays) - - +Osf --set-foreground [d]ensity: float - set overlay foreground density (0\&.\&.1, default: 1) - - +Ost --set-threshold [d]ensity: float - set overlay threshold density (0\&.\&.1, default: 0\&.5) - -display LUT transformation: - - +Dm --monitor-file [f]ilename: string - calibrate output according to monitor characteristics - defined in f - - +Dp --printer-file [f]ilename: string - calibrate output according to printer characteristics - defined in f - - +Da --ambient-light [a]mbient light: float - ambient light value (cd/m^2, default: file f) - - +Di --illumination [i]llumination: float - illumination value (cd/m^2, default: file f) - - +Dn --min-density [m]inimum optical density: float - Dmin value (default: off, only with +Dp) - - +Dx --max-density [m]aximum optical density: float - Dmax value (default: off, only with +Dp) - - +Dg --gsd-function - use GSDF for calibration (default for +Dm/+Dp) - - +Dc --cielab-function - use CIELAB function for calibration - -compatibility: - - +Ma --accept-acr-nema - accept ACR-NEMA images without photometric - interpretation - - +Mp --accept-palettes - accept incorrect palette attribute tags - (0028,111x) and (0028,121x) - - +Mc --check-lut-depth - check 3rd value of the LUT descriptor, compare - with expected bit depth based on LUT data - - +Mm --ignore-mlut-depth - ignore 3rd value of the modality LUT descriptor, - determine bits per table entry automatically - - +Mv --ignore-vlut-depth - ignore 3rd value of the VOI LUT descriptor, - determine bits per table entry automatically - -TIFF format: - - +Tl --compr-lzw - LZW compression (default) - - +Tr --compr-rle - RLE compression - - +Tn --compr-none - uncompressed - - +Pd --predictor-default - no LZW predictor (default) - - +Pn --predictor-none - LZW predictor 1 (no prediction) - - +Ph --predictor-horz - LZW predictor 2 (horizontal differencing) - - +Rs --rows-per-strip [r]ows: integer (default: 0) - rows per strip, default 8K per strip - -PNG format: - - +il --interlace - create interlaced file (default) - - -il --nointerlace - create non-interlaced file - - +mf --meta-file - create PNG file meta information (default) - - -mf --meta-none - no PNG file meta information - -JPEG format: - - +Jq --compr-quality [q]uality: integer (0\&.\&.100, default: 90) - quality value for compression (in percent) - - +Js4 --sample-444 - 4:4:4 sampling (no subsampling) - - +Js2 --sample-422 - 4:2:2 subsampling (horizontal subsampling of - chroma components, default) - - +Js1 --sample-411 - 4:1:1 subsampling (horizontal and vertical - subsampling of chroma components) - -other transformations: - - +G --grayscale - convert color image to grayscale (monochrome) - - +P --change-polarity - change polarity (invert pixel output) - - +C --clip-region [l]eft [t]op [w]idth [h]eight: integer - clip image region (l, t, w, h) -.fi -.PP -.SS "output options" -.PP -.nf -general: - - -im --image-info - print image details (requires verbose mode) - - -o --no-output - do not create any output (useful with -im) - -filename generation (only with --frame-range or --all-frames): - - +Fc --use-frame-counter - use 0-based counter for filenames (default) - - +Fn --use-frame-number - use absolute frame number for filenames - -image format: - - +op --write-raw-pnm - write 8-bit binary PGM/PPM (default for files) - - +opb --write-8-bit-pnm - write 8-bit ASCII PGM/PPM (default for stdout) - - +opw --write-16-bit-pnm - write 16-bit ASCII PGM/PPM - - +opn --write-n-bit-pnm [n]umber: integer - write n-bit ASCII PGM/PPM (1\&.\&.32) - - +ob --write-bmp - write 8-bit (monochrome) or 24-bit (color) BMP - - +obp --write-8-bit-bmp - write 8-bit palette BMP (monochrome only) - - +obt --write-24-bit-bmp - write 24-bit truecolor BMP - - +obr --write-32-bit-bmp - write 32-bit truecolor BMP - - +ot --write-tiff - write 8-bit (monochrome) or 24-bit (color) TIFF - - +on --write-png - write 8-bit (monochrome) or 24-bit (color) PNG - - +on2 --write-16-bit-png - write 16-bit (monochrome) or 48-bit (color) PNG - - +oj --write-jpeg - write 8-bit lossy JPEG (baseline) -.fi -.PP -.SH "NOTES" -.PP -The following preferred interpolation algorithms can be selected using the \fI--interpolate\fP option: -.PP -.IP "\(bu" 2 -1 = free scaling algorithm with interpolation from pbmplus toolkit -.IP "\(bu" 2 -2 = free scaling algorithm with interpolation from c't magazine -.IP "\(bu" 2 -3 = magnification algorithm with bilinear interpolation from Eduard Stanescu -.IP "\(bu" 2 -4 = magnification algorithm with bicubic interpolation from Eduard Stanescu -.PP -.PP -The \fI--write-tiff\fP option is only available when DCMTK has been configured and compiled with support for the external \fBlibtiff\fP TIFF library\&. The availability of the TIFF compression options depends on the \fBlibtiff\fP configuration\&. -.PP -The \fI--write-png\fP option is only available when DCMTK has been configured and compiled with support for the external \fBlibpng\fP PNG library\&. Option \fI--interlace\fP enables progressive image view while loading the PNG file\&. Only a few applications take care of the meta info (TEXT) in a PNG file\&. -.SH "TRANSFER SYNTAXES" -.PP -\fBdcmj2pnm\fP supports the following transfer syntaxes for input (\fIdcmfile-in\fP): -.PP -.PP -.nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 (*) -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 -JPEGProcess1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.50 -JPEGProcess2_4TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.51 -JPEGProcess6_8TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.53 -JPEGProcess10_12TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.55 -JPEGProcess14TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.57 -JPEGProcess14SV1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.70 -RLELosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.5 -.fi -.PP -.PP -(*) if compiled with zlib support enabled -.SH "LOGGING" -.PP -The level of logging output of the various command line tools and underlying libraries can be specified by the user\&. By default, only errors and warnings are written to the standard error stream\&. Using option \fI--verbose\fP also informational messages like processing details are reported\&. Option \fI--debug\fP can be used to get more details on the internal activity, e\&.g\&. for debugging purposes\&. Other logging levels can be selected using option \fI--log-level\fP\&. In \fI--quiet\fP mode only fatal errors are reported\&. In such very severe error events, the application will usually terminate\&. For more details on the different logging levels, see documentation of module 'oflog'\&. -.PP -In case the logging output should be written to file (optionally with logfile rotation), to syslog (Unix) or the event log (Windows) option \fI--log-config\fP can be used\&. This configuration file also allows for directing only certain messages to a particular output stream and for filtering certain messages based on the module or application where they are generated\&. An example configuration file is provided in \fI/logger\&.cfg\fP\&. -.SH "COMMAND LINE" -.PP -All command line tools use the following notation for parameters: square brackets enclose optional values (0-1), three trailing dots indicate that multiple values are allowed (1-n), a combination of both means 0 to n values\&. -.PP -Command line options are distinguished from parameters by a leading '+' or '-' sign, respectively\&. Usually, order and position of command line options are arbitrary (i\&.e\&. they can appear anywhere)\&. However, if options are mutually exclusive the rightmost appearance is used\&. This behavior conforms to the standard evaluation rules of common Unix shells\&. -.PP -In addition, one or more command files can be specified using an '@' sign as a prefix to the filename (e\&.g\&. \fI@command\&.txt\fP)\&. Such a command argument is replaced by the content of the corresponding text file (multiple whitespaces are treated as a single separator unless they appear between two quotation marks) prior to any further evaluation\&. Please note that a command file cannot contain another command file\&. This simple but effective approach allows one to summarize common combinations of options/parameters and avoids longish and confusing command lines (an example is provided in file \fI/dumppat\&.txt\fP)\&. -.SH "ENVIRONMENT" -.PP -The \fBdcmj2pnm\fP utility will attempt to load DICOM data dictionaries specified in the \fIDCMDICTPATH\fP environment variable\&. By default, i\&.e\&. if the \fIDCMDICTPATH\fP environment variable is not set, the file \fI/dicom\&.dic\fP will be loaded unless the dictionary is built into the application (default for Windows)\&. -.PP -The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. -.SH "FILES" -.PP -\fI/camera\&.lut\fP - sample characteristics file of a camera -.br -\fI/monitor\&.lut\fP - sample characteristics file of a monitor -.br -\fI/printer\&.lut\fP - sample characteristics file of a printer -.br -\fI/scanner\&.lut\fP - sample characteristics file of a scanner +The \fBdcmj2pnm\fP tool is deprecated\&. Use \fBdcm2img\fP instead, which supports the same command line parameters, and more\&. .SH "SEE ALSO" .PP -\fBdcm2pnm\fP(1), \fBimg2dcm\fP(1) +\fBdcm2img\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2001-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2001-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcml2pnm.1 b/doxygen/manpages/man1/dcml2pnm.1 index eefaa310..68f1beab 100644 --- a/doxygen/manpages/man1/dcml2pnm.1 +++ b/doxygen/manpages/man1/dcml2pnm.1 @@ -1,4 +1,4 @@ -.TH "dcml2pnm" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcml2pnm" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcml2pnm \- Convert DICOM images to PGM/PPM, PNG, TIFF or BMP @@ -12,446 +12,10 @@ dcml2pnm [options] dcmfile-in [bitmap-out] .PP .SH "DESCRIPTION" .PP -The \fBdcml2pnm\fP utility reads a DICOM image, converts the pixel data according to the selected image processing options and writes back an image in the well-known PGM/PPM (portable gray map / portable pix map), PNG, TIFF or Windows BMP format\&. This utility supports uncompressed as well as JPEG-LS and RLE compressed DICOM images\&. -.SH "PARAMETERS" -.PP -.PP -.nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) - -bitmap-out output filename to be written (default: stdout) -.fi -.PP -.SH "OPTIONS" -.PP -.SS "general options" -.PP -.nf - -h --help - print this help text and exit - - --version - print version information and exit - - --arguments - print expanded command line arguments - - -q --quiet - quiet mode, print no warnings and errors - - -v --verbose - verbose mode, print processing details - - -d --debug - debug mode, print debug information - - -ll --log-level [l]evel: string constant - (fatal, error, warn, info, debug, trace) - use level l for the logger - - -lc --log-config [f]ilename: string - use config file f for the logger -.fi -.PP -.SS "input options" -.PP -.nf -input file format: - - +f --read-file - read file format or data set (default) - - +fo --read-file-only - read file format only - - -f --read-dataset - read data set without file meta information - -input transfer syntax: - - -t= --read-xfer-auto - use TS recognition (default) - - -td --read-xfer-detect - ignore TS specified in the file meta header - - -te --read-xfer-little - read with explicit VR little endian TS - - -tb --read-xfer-big - read with explicit VR big endian TS - - -ti --read-xfer-implicit - read with implicit VR little endian TS -.fi -.PP -.SS "image processing options" -.PP -.nf -frame selection: - - +F --frame [n]umber: integer - select specified frame (default: 1) - - +Fr --frame-range [n]umber [c]ount: integer - select c frames beginning with frame n - - +Fa --all-frames - select all frames - -rotation: - - +Rl --rotate-left - rotate image left (-90 degrees) - - +Rr --rotate-right - rotate image right (+90 degrees) - - +Rtd --rotate-top-down - rotate image top-down (180 degrees) - -flipping: - - +Lh --flip-horizontally - flip image horizontally - - +Lv --flip-vertically - flip image vertically - - +Lhv --flip-both-axes - flip image horizontally and vertically - -scaling: - - +a --recognize-aspect - recognize pixel aspect ratio when scaling (default) - - -a --ignore-aspect - ignore pixel aspect ratio when scaling - - +i --interpolate [n]umber of algorithm: integer - use interpolation when scaling (1\&.\&.4, default: 1) - - -i --no-interpolation - no interpolation when scaling - - -S --no-scaling - no scaling, ignore pixel aspect ratio (default) - - +Sxf --scale-x-factor [f]actor: float - scale x axis by factor, auto-compute y axis - - +Syf --scale-y-factor [f]actor: float - scale y axis by factor, auto-compute x axis - - +Sxv --scale-x-size [n]umber: integer - scale x axis to n pixels, auto-compute y axis - - +Syv --scale-y-size [n]umber: integer - scale y axis to n pixels, auto-compute x axis - -modality LUT transformation: - - -M --no-modality - ignore stored modality LUT transformation - - +M --use-modality - use modality LUT transformation (default) - -VOI LUT transformation: - - -W --no-windowing - no VOI windowing (default) - - +Wi --use-window [n]umber: integer - use the n-th VOI window from image file - - +Wl --use-voi-lut [n]umber: integer - use the n-th VOI look up table from image file - - +Wm --min-max-window - compute VOI window using min-max algorithm - - +Wn --min-max-window-n - compute VOI window using min-max algorithm, - ignoring extreme values - - +Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer - compute ROI window using min-max algorithm, - region of interest is specified by l,t,w,h - - +Wh --histogram-window [n]umber: integer - compute VOI window using Histogram algorithm, - ignoring n percent - - +Ww --set-window [c]enter [w]idth: float - compute VOI window using center c and width w - - +Wfl --linear-function - set VOI LUT function to LINEAR - - +Wfs --sigmoid-function - set VOI LUT function to SIGMOID - -presentation LUT transformation: - - +Pid --identity-shape - set presentation LUT shape to IDENTITY - - +Piv --inverse-shape - set presentation LUT shape to INVERSE - - +Pod --lin-od-shape - set presentation LUT shape to LIN OD - -overlay: - - -O --no-overlays - do not display overlays - - +O --display-overlay [n]umber: integer - display overlay n (0\&.\&.16, 0=all, default: +O 0) - - +Omr --ovl-replace - use overlay mode 'Replace' - (default for Graphic overlays) - - +Omt --ovl-threshold - use overlay mode 'Threshold Replace' - - +Omc --ovl-complement - use overlay mode 'Complement' - - +Omv --ovl-invert - use overlay mode 'Invert Bitmap' - - +Omi --ovl-roi - use overlay mode 'Region of Interest' - (default for ROI overlays) - - +Osf --set-foreground [d]ensity: float - set overlay foreground density (0\&.\&.1, default: 1) - - +Ost --set-threshold [d]ensity: float - set overlay threshold density (0\&.\&.1, default: 0\&.5) - -display LUT transformation: - - +Dm --monitor-file [f]ilename: string - calibrate output according to monitor characteristics - defined in f - - +Dp --printer-file [f]ilename: string - calibrate output according to printer characteristics - defined in f - - +Da --ambient-light [a]mbient light: float - ambient light value (cd/m^2, default: file f) - - +Di --illumination [i]llumination: float - illumination value (cd/m^2, default: file f) - - +Dn --min-density [m]inimum optical density: float - Dmin value (default: off, only with +Dp) - - +Dx --max-density [m]aximum optical density: float - Dmax value (default: off, only with +Dp) - - +Dg --gsd-function - use GSDF for calibration (default for +Dm/+Dp) - - +Dc --cielab-function - use CIELAB function for calibration - -compatibility: - - +Ma --accept-acr-nema - accept ACR-NEMA images without photometric - interpretation - - +Mp --accept-palettes - accept incorrect palette attribute tags - (0028,111x) and (0028,121x) - - +Mc --check-lut-depth - check 3rd value of the LUT descriptor, compare - with expected bit depth based on LUT data - - +Mm --ignore-mlut-depth - ignore 3rd value of the modality LUT descriptor, - determine bits per table entry automatically - - +Mv --ignore-vlut-depth - ignore 3rd value of the VOI LUT descriptor, - determine bits per table entry automatically - -TIFF format: - - +Tl --compr-lzw - LZW compression (default) - - +Tr --compr-rle - RLE compression - - +Tn --compr-none - uncompressed - - +Pd --predictor-default - no LZW predictor (default) - - +Pn --predictor-none - LZW predictor 1 (no prediction) - - +Ph --predictor-horz - LZW predictor 2 (horizontal differencing) - - +Rs --rows-per-strip [r]ows: integer (default: 0) - rows per strip, default 8K per strip - -PNG format: - - +il --interlace - create interlaced file (default) - - -il --nointerlace - create non-interlaced file - - +mf --meta-file - create PNG file meta information (default) - - -mf --meta-none - no PNG file meta information - -other transformations: - - +G --grayscale - convert color image to grayscale (monochrome) - - +P --change-polarity - change polarity (invert pixel output) - - +C --clip-region [l]eft [t]op [w]idth [h]eight: integer - clip image region (l, t, w, h) -.fi -.PP -.SS "output options" -.PP -.nf -general: - - -im --image-info - print image details (requires verbose mode) - - -o --no-output - do not create any output (useful with -im) - -filename generation (only with --frame-range or --all-frames): - - +Fc --use-frame-counter - use 0-based counter for filenames (default) - - +Fn --use-frame-number - use absolute frame number for filenames - -image format: - - +op --write-raw-pnm - write 8-bit binary PGM/PPM (default for files) - - +opb --write-8-bit-pnm - write 8-bit ASCII PGM/PPM (default for stdout) - - +opw --write-16-bit-pnm - write 16-bit ASCII PGM/PPM - - +opn --write-n-bit-pnm [n]umber: integer - write n-bit ASCII PGM/PPM (1\&.\&.32) - - +ob --write-bmp - write 8-bit (monochrome) or 24-bit (color) BMP - - +obp --write-8-bit-bmp - write 8-bit palette BMP (monochrome only) - - +obt --write-24-bit-bmp - write 24-bit truecolor BMP - - +obr --write-32-bit-bmp - write 32-bit truecolor BMP - - +ot --write-tiff - write 8-bit (monochrome) or 24-bit (color) TIFF - - +on --write-png - write 8-bit (monochrome) or 24-bit (color) PNG - - +on2 --write-16-bit-png - write 16-bit (monochrome) or 48-bit (color) PNG -.fi -.PP -.SH "NOTES" -.PP -The following preferred interpolation algorithms can be selected using the \fI--interpolate\fP option: -.PP -.IP "\(bu" 2 -1 = free scaling algorithm with interpolation from pbmplus toolkit -.IP "\(bu" 2 -2 = free scaling algorithm with interpolation from c't magazine -.IP "\(bu" 2 -3 = magnification algorithm with bilinear interpolation from Eduard Stanescu -.IP "\(bu" 2 -4 = magnification algorithm with bicubic interpolation from Eduard Stanescu -.PP -.PP -The \fI--write-tiff\fP option is only available when DCMTK has been configured and compiled with support for the external \fBlibtiff\fP TIFF library\&. The availability of the TIFF compression options depends on the \fBlibtiff\fP configuration\&. -.PP -The \fI--write-png\fP option is only available when DCMTK has been configured and compiled with support for the external \fBlibpng\fP PNG library\&. Option \fI--interlace\fP enables progressive image view while loading the PNG file\&. Only a few applications take care of the meta info (TEXT) in a PNG file\&. -.SH "TRANSFER SYNTAXES" -.PP -\fBdcml2pnm\fP supports the following transfer syntaxes for input (\fIdcmfile-in\fP): -.PP -.PP -.nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 (*) -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 -JPEGLSLosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.80 -JPEGLSLossyTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.81 -RLELosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.5 -.fi -.PP -.PP -(*) if compiled with zlib support enabled -.SH "LOGGING" -.PP -The level of logging output of the various command line tools and underlying libraries can be specified by the user\&. By default, only errors and warnings are written to the standard error stream\&. Using option \fI--verbose\fP also informational messages like processing details are reported\&. Option \fI--debug\fP can be used to get more details on the internal activity, e\&.g\&. for debugging purposes\&. Other logging levels can be selected using option \fI--log-level\fP\&. In \fI--quiet\fP mode only fatal errors are reported\&. In such very severe error events, the application will usually terminate\&. For more details on the different logging levels, see documentation of module 'oflog'\&. -.PP -In case the logging output should be written to file (optionally with logfile rotation), to syslog (Unix) or the event log (Windows) option \fI--log-config\fP can be used\&. This configuration file also allows for directing only certain messages to a particular output stream and for filtering certain messages based on the module or application where they are generated\&. An example configuration file is provided in \fI/logger\&.cfg\fP\&. -.SH "COMMAND LINE" -.PP -All command line tools use the following notation for parameters: square brackets enclose optional values (0-1), three trailing dots indicate that multiple values are allowed (1-n), a combination of both means 0 to n values\&. -.PP -Command line options are distinguished from parameters by a leading '+' or '-' sign, respectively\&. Usually, order and position of command line options are arbitrary (i\&.e\&. they can appear anywhere)\&. However, if options are mutually exclusive the rightmost appearance is used\&. This behavior conforms to the standard evaluation rules of common Unix shells\&. -.PP -In addition, one or more command files can be specified using an '@' sign as a prefix to the filename (e\&.g\&. \fI@command\&.txt\fP)\&. Such a command argument is replaced by the content of the corresponding text file (multiple whitespaces are treated as a single separator unless they appear between two quotation marks) prior to any further evaluation\&. Please note that a command file cannot contain another command file\&. This simple but effective approach allows one to summarize common combinations of options/parameters and avoids longish and confusing command lines (an example is provided in file \fI/dumppat\&.txt\fP)\&. -.SH "ENVIRONMENT" -.PP -The \fBdcml2pnm\fP utility will attempt to load DICOM data dictionaries specified in the \fIDCMDICTPATH\fP environment variable\&. By default, i\&.e\&. if the \fIDCMDICTPATH\fP environment variable is not set, the file \fI/dicom\&.dic\fP will be loaded unless the dictionary is built into the application (default for Windows)\&. -.PP -The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. -.SH "FILES" -.PP -\fI/camera\&.lut\fP - sample characteristics file of a camera -.br -\fI/monitor\&.lut\fP - sample characteristics file of a monitor -.br -\fI/printer\&.lut\fP - sample characteristics file of a printer -.br -\fI/scanner\&.lut\fP - sample characteristics file of a scanner +The \fBdcml2pnm\fP tool is deprecated\&. Use \fBdcm2img\fP instead, which supports the same command line parameters, and more\&. .SH "SEE ALSO" .PP -\fBdcm2pnm\fP(1), \fBimg2dcm\fP(1) +\fBdcm2img\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2001-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2001-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmmkcrv.1 b/doxygen/manpages/man1/dcmmkcrv.1 index a5946866..2b9ce5f3 100644 --- a/doxygen/manpages/man1/dcmmkcrv.1 +++ b/doxygen/manpages/man1/dcmmkcrv.1 @@ -1,4 +1,4 @@ -.TH "dcmmkcrv" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmmkcrv" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmmkcrv \- Add 2D curve data to image @@ -17,11 +17,11 @@ The \fBdcmmkcrv\fP utility allows one to create DICOM images containing curve da .PP .PP .nf -dcmfile-in DICOM input image file ('-' for stdin) +dcmfile-in DICOM input image file ("-" for stdin) curvedata-in curve data input file (text) -dcmfile-out DICOM output filename ('-' for stdout) +dcmfile-out DICOM output filename ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -68,17 +68,17 @@ curve type: curve value representation: - +v --data-vr [n]umber: integer 0\&.\&.4 (default: 4) + +v --data-vr [n]umber: integer 0..4 (default: 4) select curve data VR: 0=US, 1=SS, 2=FL, 3=FD, 4=SL - -c --curve-vr [n]umber: integer 0\&.\&.2 (default: 0) + -c --curve-vr [n]umber: integer 0..2 (default: 0) select VR with which the Curve Data element is written 0=VR according to --data-vr, 1=OB, 2=OW repeating group: - -g --group [n]umber: integer 0\&.\&.15 (default: 0) - select repeating group: 0=0x5000, 1=0x5002 etc\&. + -g --group [n]umber: integer 0..15 (default: 0) + select repeating group: 0=0x5000, 1=0x5002 etc. curve description: @@ -89,7 +89,7 @@ curve description: set Curve Description to s (default: absent) -a --axis x: string, y: string - set Axis Units to x\\y (default: absent) + set Axis Units to x\y (default: absent) .fi .PP .SH "NOTES" @@ -99,11 +99,11 @@ The curve data file is expected to be a plain ASCII text file containing numbers .PP .PP .nf - 256\&.451947 1\&.000000 - 477\&.689863 128\&.822080 - 128\&.822080 477\&.689863 - 35\&.310137 128\&.822080 - 256\&.451947 1\&.000000 + 256.451947 1.000000 + 477.689863 128.822080 + 128.822080 477.689863 + 35.310137 128.822080 + 256.451947 1.000000 .fi .PP .SH "LOGGING" @@ -125,4 +125,4 @@ The \fBdcmmkcrv\fP utility will attempt to load DICOM data dictionaries specifie The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. .SH "COPYRIGHT" .PP -Copyright (C) 1998-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1998-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmmkdir.1 b/doxygen/manpages/man1/dcmmkdir.1 index e075ed06..51b77326 100644 --- a/doxygen/manpages/man1/dcmmkdir.1 +++ b/doxygen/manpages/man1/dcmmkdir.1 @@ -1,4 +1,4 @@ -.TH "dcmmkdir" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmmkdir" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmmkdir \- Create a DICOMDIR file @@ -7,7 +7,7 @@ dcmmkdir \- Create a DICOMDIR file .PP .PP .nf -dcmmkdir [options] [dcmfile-in\&.\&.\&.] +dcmmkdir [options] [dcmfile-in...] .fi .PP .SH "DESCRIPTION" @@ -21,6 +21,8 @@ General Purpose CD-R Interchange (STD-GEN-CD) .IP "\(bu" 2 General Purpose Interchange on DVD-RAM Media (STD-GEN-DVD-RAM) .IP "\(bu" 2 +General Purpose Interchange on BD Media (STD-GEN-BD) +.IP "\(bu" 2 General Purpose DVD Interchange with JPEG (STD-GEN-DVD-JPEG) .IP "\(bu" 2 General Purpose DVD Interchange with JPEG 2000 (STD-GEN-DVD-J2K) @@ -124,15 +126,15 @@ DICOMDIR identifiers: +F --fileset-id [i]d: string use specific file-set ID - (default: DCMTK_MEDIA_DEMO, '' for none) + (default: DCMTK_MEDIA_DEMO, "" for none) +R --descriptor [f]ilename: string add a file-set descriptor file ID - (e\&.g\&. README, default: no descriptor) + (e.g. README, default: no descriptor) +C --char-set [c]harset: string add a specific character set for descriptor - (default: 'ISO_IR 100' if descriptor present) + (default: "ISO_IR 100" if descriptor present) reading: @@ -210,7 +212,7 @@ icon images: add monochrome icon image on IMAGE level (default for cardiac profiles) - -Xs --icon-image-size [s]ize: integer (1\&.\&.128) + -Xs --icon-image-size [s]ize: integer (1..128) width and height of the icon image (in pixel) (fixed: 128 for XA, 64 for CT/MR profile) @@ -235,8 +237,8 @@ DICOMDIR file: profiles: -Pgp --general-purpose - General Purpose Interchange on CD-R or DVD-RAM Media - (STD-GEN-CD/DVD-RAM, default) + General Purpose Interchange on CD-R, DVD-RAM or BD Media + (STD-GEN-CD/DVD-RAM/BD, default) -Pdv --general-dvd-jpeg General Purpose DVD Interchange with JPEG @@ -263,24 +265,24 @@ profiles: (STD-GEN-BD-MPEG2-MPHL) -Pba --general-bd-mpeg4-hp - General Purpose BD Interchange with MPEG-4 AVC/H\&.264 - HiP@Level4\&.1 (STD-GEN-BD-MPEG4-HPLV41) + General Purpose BD Interchange with MPEG-4 AVC/H.264 + HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41) -Pbb --general-bd-mpeg4-hpbd - General Purpose BD Interchange with MPEG-4 AVC/H\&.264 - BD-Compatible HiP@Level4\&.1 (STD-GEN-BD-MPEG4-HPLV41BD) + General Purpose BD Interchange with MPEG-4 AVC/H.264 + BD-Compatible HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD) --general-bd-mpeg4-hp2d - General Purpose BD Interchange with MPEG-4 AVC/H\&.264 - HiP@Level4\&.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D) + General Purpose BD Interchange with MPEG-4 AVC/H.264 + HiP@Level4.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D) --general-bd-mpeg4-hp3d - General Purpose BD Interchange with MPEG-4 AVC/H\&.264 - HiP@Level4\&.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D) + General Purpose BD Interchange with MPEG-4 AVC/H.264 + HiP@Level4.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D) --general-bd-mpeg4-hpst - General Purpose BD Interchange with MPEG-4 AVC/H\&.264 - Stereo HiP@Level4\&.2 (STD-GEN-BD-MPEG4-SHPLV42) + General Purpose BD Interchange with MPEG-4 AVC/H.264 + Stereo HiP@Level4.2 (STD-GEN-BD-MPEG4-SHPLV42) -Pfl --usb-and-flash-jpeg General Purpose USB/Flash Memory Interchange with JPEG @@ -427,4 +429,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmgpdir\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 2001-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2001-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmmklut.1 b/doxygen/manpages/man1/dcmmklut.1 index 3702eaa2..a8880ea1 100644 --- a/doxygen/manpages/man1/dcmmklut.1 +++ b/doxygen/manpages/man1/dcmmklut.1 @@ -1,4 +1,4 @@ -.TH "dcmmklut" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmmklut" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmmklut \- Create DICOM look-up tables @@ -21,7 +21,7 @@ In addition to the DICOM output file the LUT data can also be exported to a tabb .PP .PP .nf -dcmimg-out DICOM output filename ('-' for stdout) +dcmimg-out DICOM output filename ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -82,7 +82,7 @@ LUT placement: LUT content: +Cg --gamma [g]amma: float - use gamma value (default: 1\&.0) + use gamma value (default: 1.0) +Cm --map-file [f]ilename: string read input data from MAP file @@ -95,28 +95,28 @@ LUT options: +Og --inverse-gsdf apply inverse GSDF (print presentation LUT in OD) - --min-density [v]alue: integer (0\&.\&.65535, default: 20) + --min-density [v]alue: integer (0..65535, default: 20) set min density to v (in hundreds of OD) - --max-density [v]alue: integer (0\&.\&.65535, default: 300) + --max-density [v]alue: integer (0..65535, default: 300) set max density to v (in hundreds of OD) - +Oi --illumination [v]alue: integer (0\&.\&.65535, default: 2000) + +Oi --illumination [v]alue: integer (0..65535, default: 2000) set illumination to v (in cd/m^2) - +Or --reflection [v]alue: integer (0\&.\&.65535, default: 10) + +Or --reflection [v]alue: integer (0..65535, default: 10) set reflected ambient light to v (in cd/m^2) LUT structure: -b --bits [n]umber: integer - create LUT with n bit values (8\&.\&.16, default: 16) + create LUT with n bit values (8..16, default: 16) -e --entries [n]umber: integer - create LUT with n entries (1\&.\&.65536, default: 256) + create LUT with n entries (1..65536, default: 256) -f --first-mapped [n]umber: integer - first input value mapped (-31768\&.\&.65535, default: 0) + first input value mapped (-31768..65535, default: 0) -r --random [n]umber: unsigned integer perform n randomly selected permutations on the LUT @@ -127,7 +127,7 @@ LUT structure: -o --order [n]umber: integer use polynomial curve fitting algorithm with order n - (0\&.\&.99, default: 5) + (0..99, default: 5) -E --explanation [n]ame: string LUT explanation (default: automatically created) @@ -189,4 +189,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fI/philips\&.lut\fP - sample LUT in text format .SH "COPYRIGHT" .PP -Copyright (C) 1998-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1998-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmodify.1 b/doxygen/manpages/man1/dcmodify.1 index 2cd0a535..f884b399 100644 --- a/doxygen/manpages/man1/dcmodify.1 +++ b/doxygen/manpages/man1/dcmodify.1 @@ -1,4 +1,4 @@ -.TH "dcmodify" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmodify" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmodify \- Modify DICOM files @@ -7,7 +7,7 @@ dcmodify \- Modify DICOM files .PP .PP .nf -dcmodify [options] dcmfile-in\&.\&.\&. +dcmodify [options] dcmfile-in... .fi .PP .SH "DESCRIPTION" @@ -22,7 +22,7 @@ If \fBdcmodify\fP doesn't know the tag it should insert, then the tag's VR is se .PP .PP .nf -{sequence[item-no]\&.}*element +{sequence[item-no].}*element .fi .PP .PP @@ -37,7 +37,7 @@ Please note that there are some issues concerning the modification of private ta .PP .PP .nf -dcmfile-in DICOM input filename(s) to be modified ('-' for stdin/stdout) +dcmfile-in DICOM input filename(s) to be modified ("-" for stdin/stdout) .fi .PP .SH "OPTIONS" @@ -143,10 +143,10 @@ backup input files: insert mode: - -i --insert '[t]ag-path=[v]alue' + -i --insert "[t]ag-path=[v]alue" insert (or overwrite) path at position t with value v - -if --insert-from-file '[t]ag-path=[f]ilename' + -if --insert-from-file "[t]ag-path=[f]ilename" insert (or overwrite) path at position t with value from file f -nrc --no-reserv-check @@ -154,21 +154,21 @@ insert mode: modify mode: - -m --modify '[t]ag-path=[v]alue' + -m --modify "[t]ag-path=[v]alue" modify tag at position t to value v - -mf --modify-from-file '[t]ag-path=[f]ilename' + -mf --modify-from-file "[t]ag-path=[f]ilename" modify tag at position t to value from file f - -ma --modify-all '[t]ag=[v]alue' + -ma --modify-all "[t]ag=[v]alue" modify ALL matching tags t in file to value v erase mode: - -e --erase '[t]ag-path' + -e --erase "[t]ag-path" erase tag/item at position t - -ea --erase-all '[t]ag' + -ea --erase-all "[t]ag" erase ALL matching tags t in file -ep --erase-private @@ -313,109 +313,109 @@ The options \fI-ma\fP and \fI-ea\fP for modifying or deleting all occurrences of .PP .nf -i --insert: - dcmodify -i '(0010,0010)=A Name' file\&.dcm - Inserts the PatientName tag into 'file\&.dcm' at 1st level\&. + dcmodify -i "(0010,0010)=A Name" file.dcm + Inserts the PatientName tag into 'file.dcm' at 1st level. If tag already exists, -i will overwrite it! If you want to - insert an element with value multiplicity > 1 (e\&.g\&. 4) you - can do this with: dcmodify -i '(0018,1310)=1\\\\2\\\\3\\\\4' + insert an element with value multiplicity > 1 (e.g. 4) you + can do this with: dcmodify -i "(0018,1310)=1\\2\\3\\4" - dcmodify -i '(0008,1111)[0]\&.PatientName=Another Name' *\&.dcm + dcmodify -i "(0008,1111)[0].PatientName=Another Name" *.dcm Inserts PatientName tag into the first item of sequence - (0008,1111)\&. Note that the use of wildcards for files is - possible\&. You can specify longer tag paths, too (e\&.g\&. - '(0008,1111)[0]\&.(0008,1111)[1]\&.(0010,0010)=A Third One')\&. - If any part of the path, e\&.g\&. the sequence or the item '0' - does not exist, it is automatically inserted by dcmodify\&. + (0008,1111). Note that the use of wildcards for files is + possible. You can specify longer tag paths, too (e.g. + "(0008,1111)[0].(0008,1111)[1].(0010,0010)=A Third One"). + If any part of the path, e.g. the sequence or the item "0" + does not exist, it is automatically inserted by dcmodify. - dcmodify -i '(0008,1111)[*]\&.PatientName=Another Name' *\&.dcm + dcmodify -i "(0008,1111)[*].PatientName=Another Name" *.dcm Inserts PatientName tag into _every_ item of sequence - (0008,1111)\&. Note that the use of wildcards for files is - possible\&. You can specify longer tag paths, too (e\&.g\&. - '(0008,1111)[*]\&.(0008,1111)[*]\&.(0010,0010)=A Third One')\&. + (0008,1111). Note that the use of wildcards for files is + possible. You can specify longer tag paths, too (e.g. + "(0008,1111)[*].(0008,1111)[*].(0010,0010)=A Third One"). -if --insert-from-file: - dcmodify -if 'PixelData=pixel\&.raw' file\&.dcm - Inserts the content of file 'pixel\&.raw' into the PixelData element - of 'file\&.dcm'\&. The contents of the file will be read as is\&. + dcmodify -if "PixelData=pixel.raw" file.dcm + Inserts the content of file 'pixel.raw' into the PixelData element + of 'file.dcm'. The contents of the file will be read as is. OW data is expected to be little endian ordered and will be - swapped if necessary\&. No checks will be made to ensure that the + swapped if necessary. No checks will be made to ensure that the amount of data is reasonable in terms of other attributes such as - Rows or Columns\&. + Rows or Columns. -m --modify: - dcmodify -m '(0010,0010)=A Name' file\&.dcm - Changes tag (0010,0010) on 1st level to 'A Name'\&. + dcmodify -m "(0010,0010)=A Name" file.dcm + Changes tag (0010,0010) on 1st level to "A Name". This option also permits longer tag paths as demonstrated above - for -i\&. If the leaf element or any intermediate part of the path + for -i. If the leaf element or any intermediate part of the path does not exist, it is not inserted as it would be if using the - '-i' option\&. + '-i' option. - dcmodify -m '(0010,0010)=A Name' -imt file\&.dcm - Changes tag (0010,0010) on 1st level to 'A Name'\&. Due to the given - option '-imt', success is returned instead of 'tag not found', if + dcmodify -m "(0010,0010)=A Name" -imt file.dcm + Changes tag (0010,0010) on 1st level to "A Name". Due to the given + option '-imt', success is returned instead of "tag not found", if the element/item (or any intermediate node in a longer path) does - not exist\&. + not exist. Note that for the '-m' option the last node in the path must be a - leaf element, i\&.e\&. not a sequence or an item\&. + leaf element, i.e. not a sequence or an item. -mf --modify-from-file: - dcmodify -mf 'PixelData=pixel\&.raw' file\&.dcm + dcmodify -mf "PixelData=pixel.raw" file.dcm Does the same as -if in case there was already a PixelData element - in 'file\&.dcm'\&. Otherwise nothing is changed\&. + in 'file.dcm'. Otherwise nothing is changed. -ma --modify-all: - dcmodify -ma '(0010,0010)=New Name' file\&.dcm + dcmodify -ma "(0010,0010)=New Name" file.dcm Does the same as -m but works on all matching tags found in - 'file\&.dcm'\&. Therefore, it searches the whole dataset including - sequences for tag (0010,0010) and changes them to 'New Name' + 'file.dcm'. Therefore, it searches the whole dataset including + sequences for tag (0010,0010) and changes them to "New Name" -e --erase: - dcmodify -e '(0010,0010)' *\&.dcm - Erases tag (0010,0010) in all *\&.dcm files at 1st level\&. + dcmodify -e "(0010,0010)" *.dcm + Erases tag (0010,0010) in all *.dcm files at 1st level. This option also allows longer tag paths as demonstrated - above for -i\&. + above for -i. - dcmodify -e '(0010,0010)' -imt *\&.dcm - Erases tag (0010,0010) in all *\&.dcm files at 1st level\&. Due to the - given option '-imt', success is returned instead of 'tag not - found', if the element/item (or any intermediate node in a longer - path) does not exist\&. + dcmodify -e "(0010,0010)" -imt *.dcm + Erases tag (0010,0010) in all *.dcm files at 1st level. Due to the + given option '-imt', success is returned instead of "tag not + found", if the element/item (or any intermediate node in a longer + path) does not exist. -ea --erase-all: - dcmodify -ea '(0010,0010)' *\&.dcm - Same as -e, but also searches in sequences and items\&. + dcmodify -ea "(0010,0010)" *.dcm + Same as -e, but also searches in sequences and items. -ep --erase-private: - dcmodify -ep *\&.dcm - Deletes all private tags (i\&.e\&. tags having an odd group number) - from all files matching *\&.dcm in the current directory\&. + dcmodify -ep *.dcm + Deletes all private tags (i.e. tags having an odd group number) + from all files matching *.dcm in the current directory. -gst --gen-stud-uid: - dcmodify -gst file\&.dcm - This generates a new value for the StudyInstanceUID (0020,000d)\&. + dcmodify -gst file.dcm + This generates a new value for the StudyInstanceUID (0020,000d). Other UIDs are not modified! -gse --gen-ser-uid: - dcmodify -gse file\&.dcm - This generates a new value for the SeriesInstanceUID (0020,000e)\&. + dcmodify -gse file.dcm + This generates a new value for the SeriesInstanceUID (0020,000e). Other UIDs are not modified! -gin --gen-inst-uid: - dcmodify -gin file\&.dcm + dcmodify -gin file.dcm This command generates a new value for the SOPInstanceUID - (0008,0018)\&. The corresponding MediaStorageSOPInstanceUID - (0002,0003) is adjusted to the new value automatically\&. + (0008,0018). The corresponding MediaStorageSOPInstanceUID + (0002,0003) is adjusted to the new value automatically. Please note that it's not possible to avoid this metaheader - update via the -nmu option\&. + update via the -nmu option. -nmu --no-meta-uid: - dcmodify -m 'SOPInstanceUID=[UID]' -nmu *\&.dcm + dcmodify -m "SOPInstanceUID=[UID]" -nmu *.dcm This will modify the SOPInstanceUID to the given [UID], but -nmu avoids, that dcmodify adjusts the MediaStorageSOPInstanceUID in - the metaheader, too\&. + the metaheader, too. .fi .PP .SH "ERROR HANDLING" @@ -442,4 +442,4 @@ The \fBdcmodify\fP utility will attempt to load DICOM data dictionaries specifie The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. .SH "COPYRIGHT" .PP -Copyright (C) 2003-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2003-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmp2pgm.1 b/doxygen/manpages/man1/dcmp2pgm.1 index e5e6601a..af059f71 100644 --- a/doxygen/manpages/man1/dcmp2pgm.1 +++ b/doxygen/manpages/man1/dcmp2pgm.1 @@ -1,4 +1,4 @@ -.TH "dcmp2pgm" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmp2pgm" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmp2pgm \- Read DICOM image and presentation state and render bitmap @@ -17,7 +17,7 @@ The \fBdcmp2pgm\fP utility renders a monochrome DICOM image under the control of .PP .PP .nf -dcmimage-in input DICOM image ('-' for stdin) +dcmimage-in input DICOM image ("-" for stdin) bitmap-out output DICOM image or PGM bitmap .fi @@ -111,4 +111,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fI/dcmpstat\&.cfg\fP - sample configuration file .SH "COPYRIGHT" .PP -Copyright (C) 1998-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1998-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmprscp.1 b/doxygen/manpages/man1/dcmprscp.1 index c90a7f9a..9ede33c5 100644 --- a/doxygen/manpages/man1/dcmprscp.1 +++ b/doxygen/manpages/man1/dcmprscp.1 @@ -1,4 +1,4 @@ -.TH "dcmprscp" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmprscp" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmprscp \- DICOM basic grayscale print management SCP @@ -90,4 +90,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmprscu\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1999-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1999-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmprscu.1 b/doxygen/manpages/man1/dcmprscu.1 index 6c0672a8..0b514a6b 100644 --- a/doxygen/manpages/man1/dcmprscu.1 +++ b/doxygen/manpages/man1/dcmprscu.1 @@ -1,4 +1,4 @@ -.TH "dcmprscu" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmprscu" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmprscu \- Print spooler for presentation state viewer @@ -7,7 +7,7 @@ dcmprscu \- Print spooler for presentation state viewer .PP .PP .nf -dcmprscu [options] [dcmfile-in\&.\&.\&.] +dcmprscu [options] [dcmfile-in...] .fi .PP .SH "DESCRIPTION" @@ -23,7 +23,7 @@ The \fBdcmprscu\fP utility can be run either in 'printer mode', in which case th .PP .PP .nf -dcmfile-in stored print file(s) to be spooled ('-' for stdin) +dcmfile-in stored print file(s) to be spooled ("-" for stdin) .fi .PP .SH "OPTIONS" @@ -103,7 +103,7 @@ dcmfile-in stored print file(s) to be spooled ('-' for stdin) .SS "basic film session options (not with –spool):" .PP .nf - --copies [v]alue: integer (1\&.\&.100, default: 1) + --copies [v]alue: integer (1..100, default: 1) set number of copies to v --medium-type [v]alue: string @@ -147,4 +147,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmprscp\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1999-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1999-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmpschk.1 b/doxygen/manpages/man1/dcmpschk.1 index 1c22b194..3e5f7d5d 100644 --- a/doxygen/manpages/man1/dcmpschk.1 +++ b/doxygen/manpages/man1/dcmpschk.1 @@ -1,4 +1,4 @@ -.TH "dcmpschk" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmpschk" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmpschk \- Checking tool for presentation states @@ -7,7 +7,7 @@ dcmpschk \- Checking tool for presentation states .PP .PP .nf -dcmpschk [options] [dcmfile-in\&.\&.\&.] +dcmpschk [options] [dcmfile-in...] .fi .PP .SH "DESCRIPTION" @@ -78,4 +78,4 @@ The \fBdcmpschk\fP utility will attempt to load DICOM data dictionaries specifie The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. .SH "COPYRIGHT" .PP -Copyright (C) 2000-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2000-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmpsmk.1 b/doxygen/manpages/man1/dcmpsmk.1 index 72466ee2..2988b13e 100644 --- a/doxygen/manpages/man1/dcmpsmk.1 +++ b/doxygen/manpages/man1/dcmpsmk.1 @@ -1,4 +1,4 @@ -.TH "dcmpsmk" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmpsmk" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmpsmk \- Create DICOM grayscale softcopy presentation state @@ -17,9 +17,9 @@ The \fBdcmpsmk\fP utility reads a DICOM image file and creates a grayscale softc .PP .PP .nf -dcmfile-in DICOM image file(s) to be read ('-' for stdin) +dcmfile-in DICOM image file(s) to be read ("-" for stdin) -dcmfile-out DICOM presentation state file to be created ('-' for stdout) +dcmfile-out DICOM presentation state file to be created ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -197,4 +197,4 @@ The \fBdcmpsmk\fP utility will attempt to load DICOM data dictionaries specified The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. .SH "COPYRIGHT" .PP -Copyright (C) 1998-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1998-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmpsprt.1 b/doxygen/manpages/man1/dcmpsprt.1 index ff415755..65712dec 100644 --- a/doxygen/manpages/man1/dcmpsprt.1 +++ b/doxygen/manpages/man1/dcmpsprt.1 @@ -1,4 +1,4 @@ -.TH "dcmpsprt" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmpsprt" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmpsprt \- Read DICOM images and presentation states and render print job @@ -7,7 +7,7 @@ dcmpsprt \- Read DICOM images and presentation states and render print job .PP .PP .nf -dcmpsprt [options] dcmfile-in\&.\&.\&. +dcmpsprt [options] dcmfile-in... .fi .PP .SH "DESCRIPTION" @@ -17,7 +17,7 @@ The \fBdcmpsprt\fP utility reads one or more DICOM images and presentation state .PP .PP .nf -dcmfile-in DICOM image file(s) to be printed ('-' for stdin) +dcmfile-in DICOM image file(s) to be printed ("-" for stdin) .fi .PP .SH "OPTIONS" @@ -133,17 +133,17 @@ dcmfile-in DICOM image file(s) to be printed ('-' for stdin) render the inverse presentation LUT into the bitmap of the hardcopy grayscale image - --illumination [v]alue: integer (0\&.\&.65535) + --illumination [v]alue: integer (0..65535) set illumination to v (in cd/m^2) - --reflection [v]alue: integer (0\&.\&.65535) + --reflection [v]alue: integer (0..65535) set reflected ambient light to v (in cd/m^2) .fi .PP .SS "basic film session options (only with –spool)" .PP .nf - --copies [v]alue: integer (1\&.\&.100, default: 1) + --copies [v]alue: integer (1..100, default: 1) set number of copies to v --medium-type [v]alue: string @@ -196,7 +196,7 @@ dcmfile-in DICOM image file(s) to be printed ('-' for stdin) +O --overlay [f]ilename: string, [x] [y]: integer load overlay data from PBM file f and display at position (x,y) - +Og --ovl-graylevel [v]alue: integer (0\&.\&.4095) + +Og --ovl-graylevel [v]alue: integer (0..4095) use overlay gray level v (default: 4095 = white) .fi .PP @@ -204,7 +204,7 @@ dcmfile-in DICOM image file(s) to be printed ('-' for stdin) .PP .nf -l --layout [c]olumns [r]ows: integer (default: 1 1) - use 'STANDARD\\c,r' image display format + use 'STANDARD\c,r' image display format --filmsize [v]alue: string set film size ID to v @@ -274,4 +274,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmprscu\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1999-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1999-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmpsrcv.1 b/doxygen/manpages/man1/dcmpsrcv.1 index 60f0cd1e..f6d84fa0 100644 --- a/doxygen/manpages/man1/dcmpsrcv.1 +++ b/doxygen/manpages/man1/dcmpsrcv.1 @@ -1,4 +1,4 @@ -.TH "dcmpsrcv" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmpsrcv" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmpsrcv \- Network receive for presentation state viewer @@ -79,4 +79,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmpssnd\fP(1), \fBstorescp\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1998-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1998-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmpssnd.1 b/doxygen/manpages/man1/dcmpssnd.1 index be0863c9..162b5a77 100644 --- a/doxygen/manpages/man1/dcmpssnd.1 +++ b/doxygen/manpages/man1/dcmpssnd.1 @@ -1,4 +1,4 @@ -.TH "dcmpssnd" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmpssnd" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmpssnd \- Network send for presentation state viewer @@ -84,4 +84,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmpsrcv\fP(1), \fBstorescu\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1998-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1998-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmqridx.1 b/doxygen/manpages/man1/dcmqridx.1 index 7ae2c9bc..f33f1ff7 100644 --- a/doxygen/manpages/man1/dcmqridx.1 +++ b/doxygen/manpages/man1/dcmqridx.1 @@ -1,4 +1,4 @@ -.TH "dcmqridx" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmqridx" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmqridx \- Register a DICOM image file in an image database index file @@ -7,7 +7,7 @@ dcmqridx \- Register a DICOM image file in an image database index file .PP .PP .nf -dcmqridx [options] index-out [dcmfile-in\&.\&.\&.] +dcmqridx [options] index-out [dcmfile-in...] .fi .PP .SH "DESCRIPTION" @@ -85,4 +85,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmqrscp\fP(1), \fBdcmqrti\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1993-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1993-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmqrscp.1 b/doxygen/manpages/man1/dcmqrscp.1 index d74581b3..3e2ff982 100644 --- a/doxygen/manpages/man1/dcmqrscp.1 +++ b/doxygen/manpages/man1/dcmqrscp.1 @@ -1,4 +1,4 @@ -.TH "dcmqrscp" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmqrscp" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmqrscp \- DICOM image archive (central test node) @@ -56,16 +56,16 @@ port tcp/ip port number to listen on (default: in config file) -c --config [f]ilename: string use specific configuration file - (default: /usr/local/etc/dcmtk-/dcmqrscp\&.cfg) + (default: /usr/local/etc/dcmtk-/dcmqrscp.cfg) # This option allows a specific configuration file to be - # specified\&. By default, the configuration file in the - # system configuration directory ('etc' on Unix systems and + # specified. By default, the configuration file in the + # system configuration directory ("etc" on Unix systems and # current working directory on Windows systems) with the name - # 'dcmqrscp\&.cfg' will be used\&. It is an error if a valid - # configuration file is not available\&. See the documentation - # on configuration for more information (dcmqrcnf\&.txt and the - # example configuration file dcmqrscp\&.cfg)\&. + # "dcmqrscp.cfg" will be used. It is an error if a valid + # configuration file is not available. See the documentation + # on configuration for more information (dcmqrcnf.txt and the + # example configuration file dcmqrscp.cfg). .fi .PP .SS "multi-process options" @@ -74,17 +74,17 @@ port tcp/ip port number to listen on (default: in config file) -s --single-process single process mode - # This option instructs dcmqrscp to run in single process mode\&. + # This option instructs dcmqrscp to run in single process mode. # Normally, dcmqrscp will spawn a new copy of itself to handle - # each association\&. This option will prevent such copies being + # each association. This option will prevent such copies being # spawned and is particularly useful when running within a - # debugger\&. + # debugger. --fork fork child process for each association (default) # Please note that the multi-process options are only available - # on systems that support the fork() call, i\&.e\&. not on Windows\&. + # on systems that support the fork() call, i.e. not on Windows. .fi .PP .SS "database options" @@ -97,10 +97,10 @@ association negotiation: which no corresponding FIND context is proposed # This option causes dcmqrscp to enforce a restriction about - # FIND and MOVE presentation contexts\&. The RSNA'93 demonstration + # FIND and MOVE presentation contexts. The RSNA'93 demonstration # required that a CTN refuse to accept a presentation context for - # a MOVE if a FIND presentation context is not also requested\&. - # This option enforces this restriction\&. + # a MOVE if a FIND presentation context is not also requested. + # This option enforces this restriction. --no-parallel-store reject multiple simultaneous STORE presentation @@ -109,9 +109,9 @@ association negotiation: # This option causes dcmqrscp to refuse storage presentations # contexts for AE Titles if another association has already # successfully negotiated storage presentation contexts for the - # AE Title\&. This option should only be needed for debugging + # AE Title. This option should only be needed for debugging # since the dcmqrscp database back-end sequentialises access via - # file-locking\&. + # file-locking. --disable-get disable C-GET support @@ -125,9 +125,9 @@ checking identifier validity: check C-FIND identifier validity # This option causes dcmqrscp database back-end to perform checks - # on the Query Identifiers for a C-FIND command\&. With this option, + # on the Query Identifiers for a C-FIND command. With this option, # dcmqrscp will reject any queries which do not conform to the very - # strict DICOM rules for Query Identifiers\&. + # strict DICOM rules for Query Identifiers. --no-check-find do not check C-FIND identifier validity (default) @@ -136,9 +136,9 @@ checking identifier validity: check C-MOVE identifier validity # This option causes dcmqrscp database back-end to perform checks - # on the Query Identifiers for a C-MOVE command\&. With this option, + # on the Query Identifiers for a C-MOVE command. With this option, # dcmqrscp will reject any queries which do not conform to the very - # strict DICOM rules for Query Identifiers\&. + # strict DICOM rules for Query Identifiers. --no-check-move do not check C-MOVE identifier validity (default) @@ -177,7 +177,7 @@ association negotiation profiles from configuration file: -xf --assoc-config-file [f]ilename, [i]n-profile, [o]ut-profile: string use profile i from f for incoming associations, - use profile o from f for outgoing associations + and profile o from f for outgoing associations preferred network transfer syntaxes (incoming associations): @@ -218,25 +218,25 @@ preferred network transfer syntaxes (incoming associations): prefer MPEG2 Main Profile @ High Level TS +xn --prefer-mpeg4 - prefer MPEG4 AVC/H\&.264 High Profile / Level 4\&.1 TS + prefer MPEG4 AVC/H.264 High Profile / Level 4.1 TS +xl --prefer-mpeg4-bd - prefer MPEG4 AVC/H\&.264 BD-compatible HP / Level 4\&.1 TS + prefer MPEG4 AVC/H.264 BD-compatible HP / Level 4.1 TS +x2 --prefer-mpeg4-2-2d - prefer MPEG4 AVC/H\&.264 HP / Level 4\&.2 TS for 2D Videos + prefer MPEG4 AVC/H.264 HP / Level 4.2 TS for 2D Videos +x3 --prefer-mpeg4-2-3d - prefer MPEG4 AVC/H\&.264 HP / Level 4\&.2 TS for 3D Videos + prefer MPEG4 AVC/H.264 HP / Level 4.2 TS for 3D Videos +xo --prefer-mpeg4-2-st - prefer MPEG4 AVC/H\&.264 Stereo HP / Level 4\&.2 TS + prefer MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS +x4 --prefer-hevc - prefer HEVC H\&.265 Main Profile / Level 5\&.1 TS + prefer HEVC/H.265 Main Profile / Level 5.1 TS +x5 --prefer-hevc10 - prefer HEVC H\&.265 Main 10 Profile / Level 5\&.1 TS + prefer HEVC/H.265 Main 10 Profile / Level 5.1 TS +xr --prefer-rle prefer RLE lossless TS @@ -297,25 +297,25 @@ proposed transmission transfer syntaxes (outgoing associations): propose MPEG2 Main Profile @ High Level TS only -xn --propose-mpeg4 - propose MPEG4 AVC/H\&.264 High Profile / Level 4\&.1 TS only + propose MPEG4 AVC/H.264 High Profile / Level 4.1 TS only -xl --propose-mpeg4-bd - propose MPEG4 AVC/H\&.264 BD-compatible HP / Level 4\&.1 TS only + propose MPEG4 AVC/H.264 BD-compatible HP / Level 4.1 TS only -x2 --propose-mpeg4-2-2d - propose MPEG4 AVC/H\&.264 HP / Level 4\&.2 TS for 2D Videos only + propose MPEG4 AVC/H.264 HP / Level 4.2 TS for 2D Videos only -x3 --propose-mpeg4-2-3d - propose MPEG4 AVC/H\&.264 HP / Level 4\&.2 TS for 3D Videos only + propose MPEG4 AVC/H.264 HP / Level 4.2 TS for 3D Videos only -xo --propose-mpeg4-2-st - propose MPEG4 AVC/H\&.264 Stereo HP / Level 4\&.2 TS only + propose MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS only -x4 --propose-hevc - propose HEVC H\&.265 Main Profile / Level 5\&.1 TS only + propose HEVC/H.265 Main Profile / Level 5.1 TS only -x5 --propose-hevc10 - propose HEVC H\&.265 Main 10 Profile / Level 5\&.1 TS only + propose HEVC/H.265 Main 10 Profile / Level 5.1 TS only -xr --propose-rle propose RLE lossless TS @@ -344,7 +344,7 @@ other network options: -td --dimse-timeout [s]econds: integer (default: unlimited) timeout for DIMSE messages - -pdu --max-pdu [n]umber of bytes: integer (4096\&.\&.131072) + -pdu --max-pdu [n]umber of bytes: integer (4096..131072) set max receive pdu to n bytes (default: use value from configuration file) @@ -361,9 +361,9 @@ other network options: ignore store data, receive but do not store # This option causes dcmqrscp database back-end to ignore - # all images received by the Storage Service Class\&. All images + # all images received by the Storage Service Class. All images # will be received from the network but not stored to disk nor - # recorded in database\&. + # recorded in database. -up --uid-padding silently correct space-padded UIDs @@ -412,6 +412,131 @@ specific character set: in destination character set .fi .PP +.SS "transport layer security (TLS) options" +.PP +.nf +transport protocol stack: + + -tls --disable-tls + use normal TCP/IP connection (default) + + +tls --enable-tls [p]rivate key file, [c]ertificate file: string + use authenticated secure TLS connection + +private key password (only with --enable-tls): + + +ps --std-passwd + prompt user to type password on stdin (default) + + +pw --use-passwd [p]assword: string + use specified password + + -pw --null-passwd + use empty string as password + +key and certificate file format: + + -pem --pem-keys + read keys and certificates as PEM file (default) + + -der --der-keys + read keys and certificates as DER file + +certification authority: + + +cf --add-cert-file [f]ilename: string + add certificate file to list of certificates + + +cd --add-cert-dir [d]irectory: string + add certificates in d to list of certificates + + +crl --add-crl-file [f]ilename: string + add certificate revocation list file + (implies --enable-crl-vfy) + + +crv --enable-crl-vfy + enable leaf CRL verification + + +cra --enable-crl-all + enable full chain CRL verification + +security profile: + + +ph --list-profiles + list supported TLS profiles and exit + + +pg --profile-8996 + BCP 195 RFC 8996 TLS Profile (default) + + +pm --profile-8996-mod + Modified BCP 195 RFC 8996 TLS Profile + + # only available if underlying TLS library supports + # all TLS features required for this profile + + +py --profile-bcp195-nd + Non-downgrading BCP 195 TLS Profile (retired) + + +px --profile-bcp195 + BCP 195 TLS Profile (retired) + + +pz --profile-bcp195-ex + Extended BCP 195 TLS Profile (retired) + + +pb --profile-basic + Basic TLS Secure Transport Connection Profile (retired) + + # only available if underlying TLS library supports 3DES + + +pa --profile-aes + AES TLS Secure Transport Connection Profile (retired) + + +pn --profile-null + Authenticated unencrypted communication + (retired, was used in IHE ATNA) + +ciphersuite: + + +cc --list-ciphers + list supported TLS ciphersuites and exit + + +cs --cipher [c]iphersuite name: string + add ciphersuite to list of negotiated suites + + +dp --dhparam [f]ilename: string + read DH parameters for DH/DSS ciphersuites + +server name indication: + + --no-sni + do not use SNI (default) + + --expect-sni [s]erver name: string + expect requests for server name s + +pseudo random generator: + + +rs --seed [f]ilename: string + seed random generator with contents of f + + +ws --write-seed + write back modified seed (only with --seed) + + +wf --write-seed-file [f]ilename: string (only with --seed) + write modified seed to file f + +peer authentication: + + -rc --require-peer-cert + verify peer certificate, fail if absent (default) + + -vc --verify-peer-cert + verify peer certificate if present + + -ic --ignore-peer-cert + don't verify peer certificate +.fi +.PP .SS "output options" .PP .nf @@ -506,128 +631,128 @@ The \fBdcmqrscp\fP application supports the following SOP Classes as an SCU: .PP .PP .nf -VerificationSOPClass 1\&.2\&.840\&.10008\&.1\&.1 - -RETIRED_StoredPrintStorage 1\&.2\&.840\&.10008\&.5\&.1\&.1\&.27 -RETIRED_HardcopyGrayscaleImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.1\&.29 -RETIRED_HardcopyColorImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.1\&.30 -ComputedRadiographyImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1 -DigitalXRayImageStorageForPresentation 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.1 -DigitalXRayImageStorageForProcessing 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.1\&.1 -DigitalMammographyXRayImageStorageForPresentation 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.2 -DigitalMammographyXRayImageStorageForProcessing 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.2\&.1 -DigitalIntraOralXRayImageStorageForPresentation 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.3 -DigitalIntraOralXRayImageStorageForProcessing 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.3\&.1 -CTImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.2 -EnhancedCTImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.2\&.1 -LegacyConvertedEnhancedCTImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.2\&.2 -RETIRED_UltrasoundMultiframeImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.3 -UltrasoundMultiframeImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.3\&.1 -MRImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.4 -EnhancedMRImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.4\&.1 -MRSpectroscopyStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.4\&.2 -EnhancedMRColorImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.4\&.3 -LegacyConvertedEnhancedMRImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.4\&.4 -RETIRED_NuclearMedicineImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.5 -RETIRED_UltrasoundImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.6 -UltrasoundImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.6\&.1 -EnhancedUSVolumeStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.6\&.2 -SecondaryCaptureImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.7 -MultiframeSingleBitSecondaryCaptureImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.7\&.1 -MultiframeGrayscaleByteSecondaryCaptureImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.7\&.2 -MultiframeGrayscaleWordSecondaryCaptureImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.7\&.3 -MultiframeTrueColorSecondaryCaptureImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.7\&.4 -RETIRED_StandaloneOverlayStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.8 -RETIRED_StandaloneCurveStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9 -TwelveLeadECGWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.1\&.1 -GeneralECGWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.1\&.2 -AmbulatoryECGWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.1\&.3 -HemodynamicWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.2\&.1 -CardiacElectrophysiologyWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.3\&.1 -BasicVoiceAudioWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.4\&.1 -GeneralAudioWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.4\&.2 -ArterialPulseWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.5\&.1 -RespiratoryWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.6\&.1 -RETIRED_StandaloneModalityLUTStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.10 -RETIRED_StandaloneVOILUTStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11 -GrayscaleSoftcopyPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.1 -ColorSoftcopyPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.2 -PseudoColorSoftcopyPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.3 -BlendingSoftcopyPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.4 -XAXRFGrayscaleSoftcopyPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.5 -XRayAngiographicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.12\&.1 -EnhancedXAImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.12\&.1\&.1 -XRayRadiofluoroscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.12\&.2 -EnhancedXRFImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.12\&.2\&.1 -RETIRED_XRayAngiographicBiPlaneImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.12\&.3 -XRay3DAngiographicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.13\&.1\&.1 -XRay3DCraniofacialImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.13\&.1\&.2 -BreastTomosynthesisImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.13\&.1\&.3 -IntravascularOpt\&.Coh\&.Tom\&.ImageStorageForPresentation 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.14\&.1 -IntravascularOpt\&.Coh\&.Tom\&.ImageStorageForProcessing 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.14\&.2 -NuclearMedicineImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.20 -RawDataStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66 -SpatialRegistrationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66\&.1 -SpatialFiducialsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66\&.2 -DeformableSpatialRegistrationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66\&.3 -SegmentationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66\&.4 -SurfaceSegmentationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66\&.5 -RealWorldValueMappingStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.67 -SurfaceScanMeshStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.68\&.1 -SurfaceScanPointCloudStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.68\&.2 -RETIRED_VLImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1 -VLEndoscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.1 -VideoEndoscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.1\&.1 -VLMicroscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.2 -VideoMicroscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.2\&.1 -VLSlideCoordinatesMicroscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.3 -VLPhotographicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.4 -VideoPhotographicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.4\&.1 -OphthalmicPhotography8BitImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.1 -OphthalmicPhotography16BitImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.2 -StereometricRelationshipStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.3 -OphthalmicTomographyImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.4 -VLWholeSlideMicroscopyImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.6 -RETIRED_VLMultiframeImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.2 -LensometryMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.1 -AutorefractionMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.2 -KeratometryMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.3 -SubjectiveRefractionMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.4 -VisualAcuityMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.5 -SpectaclePrescriptionReportStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.6 -OphthalmicAxialMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.7 -IntraocularLensCalculationsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.8 -MacularGridThicknessAndVolumeReportStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.79\&.1 -OphthalmicVisualFieldStaticPerimetryMeasurementsSt\&. 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.80\&.1 -OphthalmicThicknessMapStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.81\&.1 -BasicTextSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.11 -EnhancedSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.22 -ComprehensiveSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.33 -Comprehensive3DSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.34 -ProcedureLogStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.40 -MammographyCADSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.50 -KeyObjectSelectionDocumentStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.59 -ChestCADSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.65 -XRayRadiationDoseSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.67 -ColonCADSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.69 -ImplantationPlanSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.70 -EncapsulatedPDFStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.104\&.1 -EncapsulatedCDAStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.104\&.2 -PositronEmissionTomographyImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.128 -LegacyConvertedEnhancedPETImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.128\&.1 -RETIRED_StandalonePETCurveStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.129 -EnhancedPETImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.130 -BasicStructuredDisplayStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.131 -RTImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.1 -RTDoseStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.2 -RTStructureSetStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.3 -RTBeamsTreatmentRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.4 -RTPlanStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.5 -RTBrachyTreatmentRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.6 -RTTreatmentSummaryRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.7 -RTIonPlanStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.8 -RTIonBeamsTreatmentRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.9 -RTBeamsDeliveryInstructionStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.34\&.7 +VerificationSOPClass 1.2.840.10008.1.1 + +RETIRED_StoredPrintStorage 1.2.840.10008.5.1.1.27 +RETIRED_HardcopyGrayscaleImageStorage 1.2.840.10008.5.1.1.29 +RETIRED_HardcopyColorImageStorage 1.2.840.10008.5.1.1.30 +ComputedRadiographyImageStorage 1.2.840.10008.5.1.4.1.1.1 +DigitalXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.1 +DigitalXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.1.1 +DigitalMammographyXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.2 +DigitalMammographyXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.2.1 +DigitalIntraOralXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.3 +DigitalIntraOralXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.3.1 +CTImageStorage 1.2.840.10008.5.1.4.1.1.2 +EnhancedCTImageStorage 1.2.840.10008.5.1.4.1.1.2.1 +LegacyConvertedEnhancedCTImageStorage 1.2.840.10008.5.1.4.1.1.2.2 +RETIRED_UltrasoundMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.3 +UltrasoundMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.3.1 +MRImageStorage 1.2.840.10008.5.1.4.1.1.4 +EnhancedMRImageStorage 1.2.840.10008.5.1.4.1.1.4.1 +MRSpectroscopyStorage 1.2.840.10008.5.1.4.1.1.4.2 +EnhancedMRColorImageStorage 1.2.840.10008.5.1.4.1.1.4.3 +LegacyConvertedEnhancedMRImageStorage 1.2.840.10008.5.1.4.1.1.4.4 +RETIRED_NuclearMedicineImageStorage 1.2.840.10008.5.1.4.1.1.5 +RETIRED_UltrasoundImageStorage 1.2.840.10008.5.1.4.1.1.6 +UltrasoundImageStorage 1.2.840.10008.5.1.4.1.1.6.1 +EnhancedUSVolumeStorage 1.2.840.10008.5.1.4.1.1.6.2 +SecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7 +MultiframeSingleBitSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.1 +MultiframeGrayscaleByteSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.2 +MultiframeGrayscaleWordSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.3 +MultiframeTrueColorSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.4 +RETIRED_StandaloneOverlayStorage 1.2.840.10008.5.1.4.1.1.8 +RETIRED_StandaloneCurveStorage 1.2.840.10008.5.1.4.1.1.9 +TwelveLeadECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.1 +GeneralECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.2 +AmbulatoryECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.3 +HemodynamicWaveformStorage 1.2.840.10008.5.1.4.1.1.9.2.1 +CardiacElectrophysiologyWaveformStorage 1.2.840.10008.5.1.4.1.1.9.3.1 +BasicVoiceAudioWaveformStorage 1.2.840.10008.5.1.4.1.1.9.4.1 +GeneralAudioWaveformStorage 1.2.840.10008.5.1.4.1.1.9.4.2 +ArterialPulseWaveformStorage 1.2.840.10008.5.1.4.1.1.9.5.1 +RespiratoryWaveformStorage 1.2.840.10008.5.1.4.1.1.9.6.1 +RETIRED_StandaloneModalityLUTStorage 1.2.840.10008.5.1.4.1.1.10 +RETIRED_StandaloneVOILUTStorage 1.2.840.10008.5.1.4.1.1.11 +GrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.1 +ColorSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.2 +PseudoColorSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.3 +BlendingSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.4 +XAXRFGrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.5 +XRayAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.12.1 +EnhancedXAImageStorage 1.2.840.10008.5.1.4.1.1.12.1.1 +XRayRadiofluoroscopicImageStorage 1.2.840.10008.5.1.4.1.1.12.2 +EnhancedXRFImageStorage 1.2.840.10008.5.1.4.1.1.12.2.1 +RETIRED_XRayAngiographicBiPlaneImageStorage 1.2.840.10008.5.1.4.1.1.12.3 +XRay3DAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.13.1.1 +XRay3DCraniofacialImageStorage 1.2.840.10008.5.1.4.1.1.13.1.2 +BreastTomosynthesisImageStorage 1.2.840.10008.5.1.4.1.1.13.1.3 +IntravascularOpt.Coh.Tom.ImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.14.1 +IntravascularOpt.Coh.Tom.ImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.14.2 +NuclearMedicineImageStorage 1.2.840.10008.5.1.4.1.1.20 +RawDataStorage 1.2.840.10008.5.1.4.1.1.66 +SpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.1 +SpatialFiducialsStorage 1.2.840.10008.5.1.4.1.1.66.2 +DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.3 +SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4 +SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5 +RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67 +SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1 +SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2 +RETIRED_VLImageStorage 1.2.840.10008.5.1.4.1.1.77.1 +VLEndoscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.1 +VideoEndoscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.1.1 +VLMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.2 +VideoMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.2.1 +VLSlideCoordinatesMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.3 +VLPhotographicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.4 +VideoPhotographicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.4.1 +OphthalmicPhotography8BitImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.1 +OphthalmicPhotography16BitImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.2 +StereometricRelationshipStorage 1.2.840.10008.5.1.4.1.1.77.1.5.3 +OphthalmicTomographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.4 +VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6 +RETIRED_VLMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.77.2 +LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1 +AutorefractionMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.2 +KeratometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.3 +SubjectiveRefractionMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.4 +VisualAcuityMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.5 +SpectaclePrescriptionReportStorage 1.2.840.10008.5.1.4.1.1.78.6 +OphthalmicAxialMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.7 +IntraocularLensCalculationsStorage 1.2.840.10008.5.1.4.1.1.78.8 +MacularGridThicknessAndVolumeReportStorage 1.2.840.10008.5.1.4.1.1.79.1 +OphthalmicVisualFieldStaticPerimetryMeasurementsSt. 1.2.840.10008.5.1.4.1.1.80.1 +OphthalmicThicknessMapStorage 1.2.840.10008.5.1.4.1.1.81.1 +BasicTextSRStorage 1.2.840.10008.5.1.4.1.1.88.11 +EnhancedSRStorage 1.2.840.10008.5.1.4.1.1.88.22 +ComprehensiveSRStorage 1.2.840.10008.5.1.4.1.1.88.33 +Comprehensive3DSRStorage 1.2.840.10008.5.1.4.1.1.88.34 +ProcedureLogStorage 1.2.840.10008.5.1.4.1.1.88.40 +MammographyCADSRStorage 1.2.840.10008.5.1.4.1.1.88.50 +KeyObjectSelectionDocumentStorage 1.2.840.10008.5.1.4.1.1.88.59 +ChestCADSRStorage 1.2.840.10008.5.1.4.1.1.88.65 +XRayRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.67 +ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69 +ImplantationPlanSRStorage 1.2.840.10008.5.1.4.1.1.88.70 +EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1 +EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2 +PositronEmissionTomographyImageStorage 1.2.840.10008.5.1.4.1.1.128 +LegacyConvertedEnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.128.1 +RETIRED_StandalonePETCurveStorage 1.2.840.10008.5.1.4.1.1.129 +EnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.130 +BasicStructuredDisplayStorage 1.2.840.10008.5.1.4.1.1.131 +RTImageStorage 1.2.840.10008.5.1.4.1.1.481.1 +RTDoseStorage 1.2.840.10008.5.1.4.1.1.481.2 +RTStructureSetStorage 1.2.840.10008.5.1.4.1.1.481.3 +RTBeamsTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.4 +RTPlanStorage 1.2.840.10008.5.1.4.1.1.481.5 +RTBrachyTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.6 +RTTreatmentSummaryRecordStorage 1.2.840.10008.5.1.4.1.1.481.7 +RTIonPlanStorage 1.2.840.10008.5.1.4.1.1.481.8 +RTIonBeamsTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.9 +RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7 .fi .PP .PP @@ -635,9 +760,9 @@ The \fBdcmqrscp\fP application will propose presentation contexts for all of the .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 .fi .PP .PP @@ -645,244 +770,253 @@ This default behavior can be changed with the \fI--propose\fP options (see above .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 -JPEGProcess1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.50 -JPEGProcess2_4TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.51 -JPEGProcess14SV1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.70 -JPEGLSLosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.80 -JPEGLSLossyTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.81 -JPEG2000LosslessOnlyTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.90 -JPEG2000TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.91 -MPEG2MainProfileAtMainLevelTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.100 -MPEG2MainProfileAtHighLevelTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.101 -MPEG4HighProfileLevel4_1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.102 -MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.103 -MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.104 -MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.105 -MPEG4StereoHighProfileLevel4_2TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.106 -HEVCMainProfileLevel5_1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.107 -HEVCMain10ProfileLevel5_1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.108 -RLELosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.5 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 +JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 +JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 +JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70 +JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80 +JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81 +JPEG2000LosslessOnlyTransferSyntax 1.2.840.10008.1.2.4.90 +JPEG2000TransferSyntax 1.2.840.10008.1.2.4.91 +MPEG2MainProfileAtMainLevelTransferSyntax 1.2.840.10008.1.2.4.100 +MPEG2MainProfileAtHighLevelTransferSyntax 1.2.840.10008.1.2.4.101 +MPEG4HighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.102 +MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.103 +MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104 +MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105 +MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106 +HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107 +HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108 +RLELosslessTransferSyntax 1.2.840.10008.1.2.5 .fi .PP .PP +(*) if compiled with zlib support enabled (see \fI--version\fP output) +.PP The \fBdcmqrscp\fP application does not support extended negotiation\&. .PP -Presentation contexts for other SOP Classes may be configured via the \fI--assoc-config-file\fP option by selecting an appropriate profile for outgoing associations\&. The selected profile will completely override the above mentioned default configuration\&. +Presentation contexts for other SOP Classes and/or transfer syntaxes may be configured via the \fI--assoc-config-file\fP option by selecting an appropriate profile for outgoing associations\&. The selected profile will completely override the above mentioned default configuration\&. .SS "SCP Conformance" The \fBdcmqrscp\fP application supports the following SOP Classes as an SCP: .PP .PP .nf -VerificationSOPClass 1\&.2\&.840\&.10008\&.1\&.1 - -FINDPatientRootQueryRetrieveInformationModel 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.2\&.1\&.1 -FINDPatientStudyOnlyQueryRetrieveInformationModel 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.2\&.3\&.1 -FINDStudyRootQueryRetrieveInformationModel 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.2\&.2\&.1 -GETPatientRootQueryRetrieveInformationModel 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.2\&.1\&.3 -GETPatientStudyOnlyQueryRetrieveInformationModel 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.2\&.3\&.3 -GETStudyRootQueryRetrieveInformationModel 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.2\&.2\&.3 -MOVEPatientRootQueryRetrieveInformationModel 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.2\&.1\&.2 -MOVEPatientStudyOnlyQueryRetrieveInformationModel 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.2\&.3\&.2 -MOVEStudyRootQueryRetrieveInformationModel 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.2\&.2\&.2 - -RETIRED_StoredPrintStorage 1\&.2\&.840\&.10008\&.5\&.1\&.1\&.27 -RETIRED_HardcopyGrayscaleImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.1\&.29 -RETIRED_HardcopyColorImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.1\&.30 -ComputedRadiographyImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1 -DigitalXRayImageStorageForPresentation 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.1 -DigitalXRayImageStorageForProcessing 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.1\&.1 -DigitalMammographyXRayImageStorageForPresentation 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.2 -DigitalMammographyXRayImageStorageForProcessing 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.2\&.1 -DigitalIntraOralXRayImageStorageForPresentation 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.3 -DigitalIntraOralXRayImageStorageForProcessing 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.1\&.3\&.1 -CTImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.2 -EnhancedCTImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.2\&.1 -LegacyConvertedEnhancedCTImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.2\&.2 -RETIRED_UltrasoundMultiframeImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.3 -UltrasoundMultiframeImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.3\&.1 -MRImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.4 -EnhancedMRImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.4\&.1 -MRSpectroscopyStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.4\&.2 -EnhancedMRColorImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.4\&.3 -LegacyConvertedEnhancedMRImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.4\&.4 -RETIRED_NuclearMedicineImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.5 -RETIRED_UltrasoundImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.6 -UltrasoundImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.6\&.1 -EnhancedUSVolumeStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.6\&.2 -PhotoacousticImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.6\&.3 -SecondaryCaptureImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.7 -MultiframeSingleBitSecondaryCaptureImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.7\&.1 -MultiframeGrayscaleByteSecondaryCaptureImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.7\&.2 -MultiframeGrayscaleWordSecondaryCaptureImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.7\&.3 -MultiframeTrueColorSecondaryCaptureImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.7\&.4 -RETIRED_StandaloneOverlayStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.8 -RETIRED_StandaloneCurveStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9 -DRAFT_WaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.1 -TwelveLeadECGWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.1\&.1 -GeneralECGWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.1\&.2 -AmbulatoryECGWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.1\&.3 -General32BitECGWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.1\&.4 -HemodynamicWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.2\&.1 -CardiacElectrophysiologyWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.3\&.1 -BasicVoiceAudioWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.4\&.1 -GeneralAudioWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.4\&.2 -ArterialPulseWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.5\&.1 -RespiratoryWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.6\&.1 -MultichannelRespiratoryWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.6\&.2 -RoutineScalpElectroencephalogramWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.7\&.1 -ElectromyogramWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.7\&.2 -ElectrooculogramWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.7\&.3 -SleepElectroencephalogramWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.7\&.4 -BodyPositionWaveformStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.9\&.8\&.1 -RETIRED_StandaloneModalityLUTStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.10 -RETIRED_StandaloneVOILUTStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11 -GrayscaleSoftcopyPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.1 -ColorSoftcopyPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.2 -PseudoColorSoftcopyPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.3 -BlendingSoftcopyPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.4 -XAXRFGrayscaleSoftcopyPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.5 -GrayscalePlanarMPRVolumetricPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.6 -CompositingPlanarMPRVolumetricPresent\&.StateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.7 -AdvancedBlendingPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.8 -VolumeRenderingVolumetricPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.9 -SegmentedVolumeRenderingVolumetricPres\&.StateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.10 -MultipleVolumeRenderingVolumetricPres\&.StateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.11 -VariableModalityLUTSoftcopyPresentationStateStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.11\&.12 -XRayAngiographicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.12\&.1 -EnhancedXAImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.12\&.1\&.1 -XRayRadiofluoroscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.12\&.2 -EnhancedXRFImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.12\&.2\&.1 -RETIRED_XRayAngiographicBiPlaneImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.12\&.3 -XRay3DAngiographicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.13\&.1\&.1 -XRay3DCraniofacialImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.13\&.1\&.2 -BreastTomosynthesisImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.13\&.1\&.3 -BreastProjectionXRayImageStorageForPresentation 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.13\&.1\&.4 -BreastProjectionXRayImageStorageForProcessing 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.13\&.1\&.5 -IntravascularOpt\&.Coh\&.Tom\&.ImageStorageForPresentation 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.14\&.1 -IntravascularOpt\&.Coh\&.Tom\&.ImageStorageForProcessing 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.14\&.2 -NuclearMedicineImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.20 -ParametricMapStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.30 -RawDataStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66 -SpatialRegistrationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66\&.1 -SpatialFiducialsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66\&.2 -DeformableSpatialRegistrationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66\&.3 -SegmentationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66\&.4 -SurfaceSegmentationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66\&.5 -TractographyResultsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.66\&.6 -RealWorldValueMappingStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.67 -SurfaceScanMeshStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.68\&.1 -SurfaceScanPointCloudStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.68\&.2 -RETIRED_VLImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1 -VLEndoscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.1 -VideoEndoscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.1\&.1 -VLMicroscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.2 -VideoMicroscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.2\&.1 -VLSlideCoordinatesMicroscopicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.3 -VLPhotographicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.4 -VideoPhotographicImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.4\&.1 -OphthalmicPhotography8BitImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.1 -OphthalmicPhotography16BitImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.2 -StereometricRelationshipStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.3 -OphthalmicTomographyImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.4 -WideFieldOphthalmicPhoto\&.Stereogr\&.Proj\&.ImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.5 -WideFieldOphthalmicPhotogr\&.3DCoordinatesImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.6 -OphthalmicOpticalCoherenceTomogr\&.EnFaceImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.7 -OphthalmicOpticalCoh\&.Tomogr\&.BscanVolumeAnalysisStor\&. 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.5\&.8 -VLWholeSlideMicroscopyImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.6 -DermoscopicPhotographyImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.1\&.7 -RETIRED_VLMultiframeImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.77\&.2 -LensometryMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.1 -AutorefractionMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.2 -KeratometryMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.3 -SubjectiveRefractionMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.4 -VisualAcuityMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.5 -SpectaclePrescriptionReportStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.6 -OphthalmicAxialMeasurementsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.7 -IntraocularLensCalculationsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.8 -MacularGridThicknessAndVolumeReportStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.79\&.1 -OphthalmicVisualFieldStaticPerimetryMeasurementsSt\&. 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.80\&.1 -OphthalmicThicknessMapStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.81\&.1 -CornealTopographyMapStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.82\&.1 -DRAFT_SRTextStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.1 -DRAFT_SRAudioStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.2 -DRAFT_SRDetailStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.3 -DRAFT_SRComprehensiveStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.4 -BasicTextSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.11 -EnhancedSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.22 -ComprehensiveSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.33 -Comprehensive3DSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.34 -ExtensibleSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.35 -ProcedureLogStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.40 -MammographyCADSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.50 -KeyObjectSelectionDocumentStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.59 -ChestCADSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.65 -XRayRadiationDoseSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.67 -RadiopharmaceuticalRadiationDoseSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.68 -ColonCADSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.69 -ImplantationPlanSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.70 -AcquisitionContextSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.71 -SimplifiedAdultEchoSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.72 -PatientRadiationDoseSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.73 -PlannedImagingAgentAdministrationSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.74 -PerformedImagingAgentAdministrationSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.75 -EnhancedXRayRadiationDoseSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.76 -ContentAssessmentResultsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.90\&.1 -MicroscopyBulkSimpleAnnotationsStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.91\&.1 -EncapsulatedPDFStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.104\&.1 -EncapsulatedCDAStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.104\&.2 -EncapsulatedSTLStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.104\&.3 -EncapsulatedOBJStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.104\&.4 -EncapsulatedMTLStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.104\&.5 -PositronEmissionTomographyImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.128 -LegacyConvertedEnhancedPETImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.128\&.1 -RETIRED_StandalonePETCurveStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.129 -EnhancedPETImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.130 -BasicStructuredDisplayStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.131 -CTPerformedProcedureProtocolStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.200\&.2 -XAPerformedProcedureProtocolStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.200\&.8 -RTImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.1 -RTDoseStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.2 -RTStructureSetStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.3 -RTBeamsTreatmentRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.4 -RTPlanStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.5 -RTBrachyTreatmentRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.6 -RTTreatmentSummaryRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.7 -RTIonPlanStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.8 -RTIonBeamsTreatmentRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.9 -RTPhysicianIntentStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.10 -RTSegmentAnnotationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.11 -RTRadiationSetStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.12 -CArmPhotonElectronRadiationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.13 -TomotherapeuticRadiationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.14 -RoboticArmRadiationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.15 -RTRadiationRecordSetStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.16 -RTRadiationSalvageRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.17 -TomotherapeuticRadiationRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.18 -CArmPhotonElectronRadiationRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.19 -RoboticRadiationRecordStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.20 -RTRadiationSetDeliveryInstructionStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.21 -RTTreatmentPreparationStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.22 -EnhancedRTImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.23 -EnhancedContinuousRTImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.24 -RTPatientPositionAcquisitionInstructionStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.481\&.25 -DICOS_CTImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.501\&.1 -DICOS_DigitalXRayImageStorageForPresentation 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.501\&.2\&.1 -DICOS_DigitalXRayImageStorageForProcessing 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.501\&.2\&.2 -DICOS_ThreatDetectionReportStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.501\&.3 -DICOS_2DAITStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.501\&.4 -DICOS_3DAITStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.501\&.5 -DICOS_QuadrupoleResonanceStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.501\&.6 -DICONDE_EddyCurrentImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.601\&.1 -DICONDE_EddyCurrentMultiframeImageStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.601\&.2 -DRAFT_RTBeamsDeliveryInstructionStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.34\&.1 -RTBeamsDeliveryInstructionStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.34\&.7 -RTBrachyApplicationSetupDeliveryInstructionStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.34\&.10 - -PrivateShutdownSOPClass 1\&.2\&.276\&.0\&.7230010\&.3\&.4\&.1915765545\&.18030\&.917282194\&.0 +VerificationSOPClass 1.2.840.10008.1.1 + +FINDPatientRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.1.1 +FINDPatientStudyOnlyQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.3.1 +FINDStudyRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.2.1 +GETPatientRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.1.3 +GETPatientStudyOnlyQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.3.3 +GETStudyRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.2.3 +MOVEPatientRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.1.2 +MOVEPatientStudyOnlyQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.3.2 +MOVEStudyRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.2.2 + +RETIRED_StoredPrintStorage 1.2.840.10008.5.1.1.27 +RETIRED_HardcopyGrayscaleImageStorage 1.2.840.10008.5.1.1.29 +RETIRED_HardcopyColorImageStorage 1.2.840.10008.5.1.1.30 +ComputedRadiographyImageStorage 1.2.840.10008.5.1.4.1.1.1 +DigitalXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.1 +DigitalXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.1.1 +DigitalMammographyXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.2 +DigitalMammographyXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.2.1 +DigitalIntraOralXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.1.3 +DigitalIntraOralXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.1.3.1 +CTImageStorage 1.2.840.10008.5.1.4.1.1.2 +EnhancedCTImageStorage 1.2.840.10008.5.1.4.1.1.2.1 +LegacyConvertedEnhancedCTImageStorage 1.2.840.10008.5.1.4.1.1.2.2 +RETIRED_UltrasoundMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.3 +UltrasoundMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.3.1 +MRImageStorage 1.2.840.10008.5.1.4.1.1.4 +EnhancedMRImageStorage 1.2.840.10008.5.1.4.1.1.4.1 +MRSpectroscopyStorage 1.2.840.10008.5.1.4.1.1.4.2 +EnhancedMRColorImageStorage 1.2.840.10008.5.1.4.1.1.4.3 +LegacyConvertedEnhancedMRImageStorage 1.2.840.10008.5.1.4.1.1.4.4 +RETIRED_NuclearMedicineImageStorage 1.2.840.10008.5.1.4.1.1.5 +RETIRED_UltrasoundImageStorage 1.2.840.10008.5.1.4.1.1.6 +UltrasoundImageStorage 1.2.840.10008.5.1.4.1.1.6.1 +EnhancedUSVolumeStorage 1.2.840.10008.5.1.4.1.1.6.2 +PhotoacousticImageStorage 1.2.840.10008.5.1.4.1.1.6.3 +SecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7 +MultiframeSingleBitSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.1 +MultiframeGrayscaleByteSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.2 +MultiframeGrayscaleWordSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.3 +MultiframeTrueColorSecondaryCaptureImageStorage 1.2.840.10008.5.1.4.1.1.7.4 +RETIRED_StandaloneOverlayStorage 1.2.840.10008.5.1.4.1.1.8 +RETIRED_StandaloneCurveStorage 1.2.840.10008.5.1.4.1.1.9 +DRAFT_WaveformStorage 1.2.840.10008.5.1.4.1.1.9.1 +TwelveLeadECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.1 +GeneralECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.2 +AmbulatoryECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.3 +General32BitECGWaveformStorage 1.2.840.10008.5.1.4.1.1.9.1.4 +HemodynamicWaveformStorage 1.2.840.10008.5.1.4.1.1.9.2.1 +CardiacElectrophysiologyWaveformStorage 1.2.840.10008.5.1.4.1.1.9.3.1 +BasicVoiceAudioWaveformStorage 1.2.840.10008.5.1.4.1.1.9.4.1 +GeneralAudioWaveformStorage 1.2.840.10008.5.1.4.1.1.9.4.2 +ArterialPulseWaveformStorage 1.2.840.10008.5.1.4.1.1.9.5.1 +RespiratoryWaveformStorage 1.2.840.10008.5.1.4.1.1.9.6.1 +MultichannelRespiratoryWaveformStorage 1.2.840.10008.5.1.4.1.1.9.6.2 +RoutineScalpElectroencephalogramWaveformStorage 1.2.840.10008.5.1.4.1.1.9.7.1 +ElectromyogramWaveformStorage 1.2.840.10008.5.1.4.1.1.9.7.2 +ElectrooculogramWaveformStorage 1.2.840.10008.5.1.4.1.1.9.7.3 +SleepElectroencephalogramWaveformStorage 1.2.840.10008.5.1.4.1.1.9.7.4 +BodyPositionWaveformStorage 1.2.840.10008.5.1.4.1.1.9.8.1 +RETIRED_StandaloneModalityLUTStorage 1.2.840.10008.5.1.4.1.1.10 +RETIRED_StandaloneVOILUTStorage 1.2.840.10008.5.1.4.1.1.11 +GrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.1 +ColorSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.2 +PseudoColorSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.3 +BlendingSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.4 +XAXRFGrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.5 +GrayscalePlanarMPRVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.6 +CompositingPlanarMPRVolumetricPresent.StateStorage 1.2.840.10008.5.1.4.1.1.11.7 +AdvancedBlendingPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.8 +VolumeRenderingVolumetricPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.9 +SegmentedVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.10 +MultipleVolumeRenderingVolumetricPres.StateStorage 1.2.840.10008.5.1.4.1.1.11.11 +VariableModalityLUTSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.12 +XRayAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.12.1 +EnhancedXAImageStorage 1.2.840.10008.5.1.4.1.1.12.1.1 +XRayRadiofluoroscopicImageStorage 1.2.840.10008.5.1.4.1.1.12.2 +EnhancedXRFImageStorage 1.2.840.10008.5.1.4.1.1.12.2.1 +RETIRED_XRayAngiographicBiPlaneImageStorage 1.2.840.10008.5.1.4.1.1.12.3 +XRay3DAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.13.1.1 +XRay3DCraniofacialImageStorage 1.2.840.10008.5.1.4.1.1.13.1.2 +BreastTomosynthesisImageStorage 1.2.840.10008.5.1.4.1.1.13.1.3 +BreastProjectionXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.13.1.4 +BreastProjectionXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.13.1.5 +IntravascularOpt.Coh.Tom.ImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.14.1 +IntravascularOpt.Coh.Tom.ImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.14.2 +NuclearMedicineImageStorage 1.2.840.10008.5.1.4.1.1.20 +ParametricMapStorage 1.2.840.10008.5.1.4.1.1.30 +RawDataStorage 1.2.840.10008.5.1.4.1.1.66 +SpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.1 +SpatialFiducialsStorage 1.2.840.10008.5.1.4.1.1.66.2 +DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.3 +SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4 +SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5 +TractographyResultsStorage 1.2.840.10008.5.1.4.1.1.66.6 +LabelMapSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.7 +HeightMapSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.8 +RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67 +SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1 +SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2 +RETIRED_VLImageStorage 1.2.840.10008.5.1.4.1.1.77.1 +VLEndoscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.1 +VideoEndoscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.1.1 +VLMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.2 +VideoMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.2.1 +VLSlideCoordinatesMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.3 +VLPhotographicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.4 +VideoPhotographicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.4.1 +OphthalmicPhotography8BitImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.1 +OphthalmicPhotography16BitImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.2 +StereometricRelationshipStorage 1.2.840.10008.5.1.4.1.1.77.1.5.3 +OphthalmicTomographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.4 +WideFieldOphthalmicPhoto.Stereogr.Proj.ImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.5 +WideFieldOphthalmicPhotogr.3DCoordinatesImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.6 +OphthalmicOpticalCoherenceTomogr.EnFaceImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.7 +OphthalmicOpticalCoh.Tomogr.BscanVolumeAnalysisStor. 1.2.840.10008.5.1.4.1.1.77.1.5.8 +VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6 +DermoscopicPhotographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.7 +ConfocalMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.8 +ConfocalMicroscopyTiledPyramidalImageStorage 1.2.840.10008.5.1.4.1.1.77.1.9 +RETIRED_VLMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.77.2 +LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1 +AutorefractionMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.2 +KeratometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.3 +SubjectiveRefractionMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.4 +VisualAcuityMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.5 +SpectaclePrescriptionReportStorage 1.2.840.10008.5.1.4.1.1.78.6 +OphthalmicAxialMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.7 +IntraocularLensCalculationsStorage 1.2.840.10008.5.1.4.1.1.78.8 +MacularGridThicknessAndVolumeReportStorage 1.2.840.10008.5.1.4.1.1.79.1 +OphthalmicVisualFieldStaticPerimetryMeasurementsSt. 1.2.840.10008.5.1.4.1.1.80.1 +OphthalmicThicknessMapStorage 1.2.840.10008.5.1.4.1.1.81.1 +CornealTopographyMapStorage 1.2.840.10008.5.1.4.1.1.82.1 +DRAFT_SRTextStorage 1.2.840.10008.5.1.4.1.1.88.1 +DRAFT_SRAudioStorage 1.2.840.10008.5.1.4.1.1.88.2 +DRAFT_SRDetailStorage 1.2.840.10008.5.1.4.1.1.88.3 +DRAFT_SRComprehensiveStorage 1.2.840.10008.5.1.4.1.1.88.4 +BasicTextSRStorage 1.2.840.10008.5.1.4.1.1.88.11 +EnhancedSRStorage 1.2.840.10008.5.1.4.1.1.88.22 +ComprehensiveSRStorage 1.2.840.10008.5.1.4.1.1.88.33 +Comprehensive3DSRStorage 1.2.840.10008.5.1.4.1.1.88.34 +ExtensibleSRStorage 1.2.840.10008.5.1.4.1.1.88.35 +ProcedureLogStorage 1.2.840.10008.5.1.4.1.1.88.40 +MammographyCADSRStorage 1.2.840.10008.5.1.4.1.1.88.50 +KeyObjectSelectionDocumentStorage 1.2.840.10008.5.1.4.1.1.88.59 +ChestCADSRStorage 1.2.840.10008.5.1.4.1.1.88.65 +XRayRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.67 +RadiopharmaceuticalRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.68 +ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69 +ImplantationPlanSRStorage 1.2.840.10008.5.1.4.1.1.88.70 +AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71 +SimplifiedAdultEchoSRStorage 1.2.840.10008.5.1.4.1.1.88.72 +PatientRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.73 +PlannedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.74 +PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75 +EnhancedXRayRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.76 +WaveformAnnotationSRStorage 1.2.840.10008.5.1.4.1.1.88.77 +ContentAssessmentResultsStorage 1.2.840.10008.5.1.4.1.1.90.1 +MicroscopyBulkSimpleAnnotationsStorage 1.2.840.10008.5.1.4.1.1.91.1 +EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1 +EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2 +EncapsulatedSTLStorage 1.2.840.10008.5.1.4.1.1.104.3 +EncapsulatedOBJStorage 1.2.840.10008.5.1.4.1.1.104.4 +EncapsulatedMTLStorage 1.2.840.10008.5.1.4.1.1.104.5 +PositronEmissionTomographyImageStorage 1.2.840.10008.5.1.4.1.1.128 +LegacyConvertedEnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.128.1 +RETIRED_StandalonePETCurveStorage 1.2.840.10008.5.1.4.1.1.129 +EnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.130 +BasicStructuredDisplayStorage 1.2.840.10008.5.1.4.1.1.131 +CTPerformedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.2 +XAPerformedProcedureProtocolStorage 1.2.840.10008.5.1.4.1.1.200.8 +RTImageStorage 1.2.840.10008.5.1.4.1.1.481.1 +RTDoseStorage 1.2.840.10008.5.1.4.1.1.481.2 +RTStructureSetStorage 1.2.840.10008.5.1.4.1.1.481.3 +RTBeamsTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.4 +RTPlanStorage 1.2.840.10008.5.1.4.1.1.481.5 +RTBrachyTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.6 +RTTreatmentSummaryRecordStorage 1.2.840.10008.5.1.4.1.1.481.7 +RTIonPlanStorage 1.2.840.10008.5.1.4.1.1.481.8 +RTIonBeamsTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.9 +RTPhysicianIntentStorage 1.2.840.10008.5.1.4.1.1.481.10 +RTSegmentAnnotationStorage 1.2.840.10008.5.1.4.1.1.481.11 +RTRadiationSetStorage 1.2.840.10008.5.1.4.1.1.481.12 +CArmPhotonElectronRadiationStorage 1.2.840.10008.5.1.4.1.1.481.13 +TomotherapeuticRadiationStorage 1.2.840.10008.5.1.4.1.1.481.14 +RoboticArmRadiationStorage 1.2.840.10008.5.1.4.1.1.481.15 +RTRadiationRecordSetStorage 1.2.840.10008.5.1.4.1.1.481.16 +RTRadiationSalvageRecordStorage 1.2.840.10008.5.1.4.1.1.481.17 +TomotherapeuticRadiationRecordStorage 1.2.840.10008.5.1.4.1.1.481.18 +CArmPhotonElectronRadiationRecordStorage 1.2.840.10008.5.1.4.1.1.481.19 +RoboticRadiationRecordStorage 1.2.840.10008.5.1.4.1.1.481.20 +RTRadiationSetDeliveryInstructionStorage 1.2.840.10008.5.1.4.1.1.481.21 +RTTreatmentPreparationStorage 1.2.840.10008.5.1.4.1.1.481.22 +EnhancedRTImageStorage 1.2.840.10008.5.1.4.1.1.481.23 +EnhancedContinuousRTImageStorage 1.2.840.10008.5.1.4.1.1.481.24 +RTPatientPositionAcquisitionInstructionStorage 1.2.840.10008.5.1.4.1.1.481.25 +DICOS_CTImageStorage 1.2.840.10008.5.1.4.1.1.501.1 +DICOS_DigitalXRayImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.501.2.1 +DICOS_DigitalXRayImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.501.2.2 +DICOS_ThreatDetectionReportStorage 1.2.840.10008.5.1.4.1.1.501.3 +DICOS_2DAITStorage 1.2.840.10008.5.1.4.1.1.501.4 +DICOS_3DAITStorage 1.2.840.10008.5.1.4.1.1.501.5 +DICOS_QuadrupoleResonanceStorage 1.2.840.10008.5.1.4.1.1.501.6 +DICONDE_EddyCurrentImageStorage 1.2.840.10008.5.1.4.1.1.601.1 +DICONDE_EddyCurrentMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.601.2 +DICONDE_ThermographyImageStorage 1.2.840.10008.5.1.4.1.1.601.3 +DICONDE_ThermographyMultiFrameImageStorage 1.2.840.10008.5.1.4.1.1.601.4 +DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1 +RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7 +RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10 + +PrivateShutdownSOPClass 1.2.276.0.7230010.3.4.1915765545.18030.917282194.0 .fi .PP .PP @@ -890,9 +1024,9 @@ The \fBdcmqrscp\fP application will accept presentation contexts for all of the .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 .fi .PP .PP @@ -900,33 +1034,33 @@ The \fBdcmqrscp\fP application will prefer transfer syntaxes having an explicit .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -DeflatedExplicitVRLittleEndianTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1\&.99 -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 -JPEGProcess1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.50 -JPEGProcess2_4TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.51 -JPEGProcess14SV1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.70 -JPEGLSLosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.80 -JPEGLSLossyTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.81 -JPEG2000LosslessOnlyTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.90 -JPEG2000TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.91 -MPEG2MainProfileAtMainLevelTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.100 -MPEG2MainProfileAtHighLevelTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.101 -MPEG4HighProfileLevel4_1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.102 -MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.103 -MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.104 -MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.105 -MPEG4StereoHighProfileLevel4_2TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.106 -HEVCMainProfileLevel5_1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.107 -HEVCMain10ProfileLevel5_1TransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.4\&.108 -RLELosslessTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.5 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 +JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 +JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 +JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70 +JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80 +JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81 +JPEG2000LosslessOnlyTransferSyntax 1.2.840.10008.1.2.4.90 +JPEG2000TransferSyntax 1.2.840.10008.1.2.4.91 +MPEG2MainProfileAtMainLevelTransferSyntax 1.2.840.10008.1.2.4.100 +MPEG2MainProfileAtHighLevelTransferSyntax 1.2.840.10008.1.2.4.101 +MPEG4HighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.102 +MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.103 +MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104 +MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105 +MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106 +HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107 +HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108 +RLELosslessTransferSyntax 1.2.840.10008.1.2.5 .fi .PP .PP The \fBdcmqrscp\fP application does not support extended negotiation\&. .PP -Presentation contexts for other SOP Classes may be configured via the \fI--assoc-config-file\fP option by selecting an appropriate profile for incoming associations\&. The selected profile will override only the above mentioned storage SOP classes, \fBdcmqrscp\fP will accept contexts with the above mentioned FIND, GET, MOVE and private shutdown SOP Classes additionally to the ones defined in the selected profile\&. Please note that an appropriate profile for \fBrole negotiation\fP must be defined and used for enabling GET support\&. +Presentation contexts for other SOP Classes and Transfer Syntax may be configured via the \fI--assoc-config-file\fP option by selecting an appropriate profile for incoming associations\&. The selected profile will override only the above mentioned storage SOP classes, \fBdcmqrscp\fP will accept contexts with the above mentioned FIND, GET, MOVE and private shutdown SOP Classes additionally to the ones defined in the selected profile\&. Please note that an appropriate profile for \fBrole negotiation\fP must be defined and used for enabling GET support\&. .SS "Query Keys" The \fBdcmqrscp\fP application supports the following attributes as query keys\&. .PP @@ -1026,4 +1160,4 @@ The mapping table files are expected in DCMTK's \fI\fP\&. The \fIDCMICO \fBdcmqridx\fP(1), \fBdcmqrti\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1993-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1993-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmqrti.1 b/doxygen/manpages/man1/dcmqrti.1 index 9f6adfa8..b9d8c55e 100644 --- a/doxygen/manpages/man1/dcmqrti.1 +++ b/doxygen/manpages/man1/dcmqrti.1 @@ -1,4 +1,4 @@ -.TH "dcmqrti" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmqrti" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmqrti \- The Terminal Initiator Telnet Client Program @@ -7,7 +7,7 @@ dcmqrti \- The Terminal Initiator Telnet Client Program .PP .PP .nf -dcmqrti [options] peer\&.\&.\&. +dcmqrti [options] peer... .fi .PP .SH "DESCRIPTION" @@ -54,7 +54,7 @@ peer peer host name or symbolic name from cfg file -c --config [f]ilename: string use specific configuration file - (default: /usr/local/etc/dcmtk-/dcmqrscp\&.cfg) + (default: /usr/local/etc/dcmtk-/dcmqrscp.cfg) .fi .PP .SS "network options" @@ -75,7 +75,7 @@ peer peer host name or symbolic name from cfg file -aet --aetitle [a]etitle: string set my AE title (default: TELNET_INITIATOR) - -pdu --max-pdu [n]umber of bytes: integer (4096\&.\&.131072) + -pdu --max-pdu [n]umber of bytes: integer (4096..131072) set max receive pdu to n bytes (default: use value from configuration file) .fi @@ -184,11 +184,11 @@ The 'series' command with no argument lists the series in the current study\&. A .nf ------------------------------------------------------------ Series Modality SeriesInstanceUID -* 0) 1 MR 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.201 - 1) 2 MR 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.202 - 2) 3 MR 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.203 - 3) 4 MR 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.204 - 4) 5 MR 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.205 +* 0) 1 MR 1.2.840.113654.2.3.1993.201 + 1) 2 MR 1.2.840.113654.2.3.1993.202 + 2) 3 MR 1.2.840.113654.2.3.1993.203 + 3) 4 MR 1.2.840.113654.2.3.1993.204 + 4) 5 MR 1.2.840.113654.2.3.1993.205 5 Series in StudyID 05381, Patient: MONROE^JAMES^^^ (Database: COMMON) @@ -206,19 +206,19 @@ The 'image' command with no argument lists the images in the current series\&. A .nf ------------------------------------------------------------ Image ImageInstanceUID -* 0) 1 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2674 - 1) 2 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2675 - 2) 3 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2676 - 3) 4 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2677 - 4) 5 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2678 - 5) 6 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2679 - 6) 7 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2680 - 7) 8 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2681 - 8) 9 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2682 - 9) 10 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2683 - 10) 11 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2684 - 11) 12 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2685 - 12) 13 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.2686 +* 0) 1 1.2.840.113654.2.3.1993.9.123.6.2674 + 1) 2 1.2.840.113654.2.3.1993.9.123.6.2675 + 2) 3 1.2.840.113654.2.3.1993.9.123.6.2676 + 3) 4 1.2.840.113654.2.3.1993.9.123.6.2677 + 4) 5 1.2.840.113654.2.3.1993.9.123.6.2678 + 5) 6 1.2.840.113654.2.3.1993.9.123.6.2679 + 6) 7 1.2.840.113654.2.3.1993.9.123.6.2680 + 7) 8 1.2.840.113654.2.3.1993.9.123.6.2681 + 8) 9 1.2.840.113654.2.3.1993.9.123.6.2682 + 9) 10 1.2.840.113654.2.3.1993.9.123.6.2683 + 10) 11 1.2.840.113654.2.3.1993.9.123.6.2684 + 11) 12 1.2.840.113654.2.3.1993.9.123.6.2685 + 12) 13 1.2.840.113654.2.3.1993.9.123.6.2686 13 Images in MR Series, StudyID 05381, Patient: MONROE^JAMES^^^ (Database: COMMON) @@ -236,7 +236,7 @@ The 'send' command allows a complete study/series or individual image to be stor .PP .PP .nf -The 'send' command exists in three forms: +The "send" command exists in three forms: send study [#] send series [#] @@ -254,7 +254,7 @@ New Association Started (swallow:2001,ACME1) [MsgID 1] Store, PatientName: JACKSON^ANDREW^^^, StudyID: 20001, Series: 2, Modality: CR, Image: 1, - Image UID: 1\&.2\&.840\&.113654\&.2\&.3\&.1993\&.9\&.123\&.6\&.1834 + Image UID: 1.2.840.113654.2.3.1993.9.123.6.1834 0%________25%_________50%__________75%________100% -------------------------------------------------- [MsgID 1] Complete [Status: Success] @@ -286,9 +286,9 @@ The \fBdcmqrti\fP application will propose presentation contexts for all of the .PP .PP .nf -LittleEndianImplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2 -LittleEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.1 -BigEndianExplicitTransferSyntax 1\&.2\&.840\&.10008\&.1\&.2\&.2 +LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 +LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 +BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 .fi .PP .PP @@ -324,4 +324,4 @@ The default behavior should be preferred and the \fIDCMDICTPATH\fP environment v \fBdcmqrscp\fP(1) .SH "COPYRIGHT" .PP -Copyright (C) 1993-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 1993-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmquant.1 b/doxygen/manpages/man1/dcmquant.1 index 1a5e739c..d0838d10 100644 --- a/doxygen/manpages/man1/dcmquant.1 +++ b/doxygen/manpages/man1/dcmquant.1 @@ -1,4 +1,4 @@ -.TH "dcmquant" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmquant" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmquant \- Convert DICOM color images to palette color @@ -17,9 +17,9 @@ The \fBdcmquant\fP utility reads a DICOM color image, computes a palette color l .PP .PP .nf -dcmfile-in DICOM input filename to be converted ('-' for stdin) +dcmfile-in DICOM input filename to be converted ("-" for stdin) -dcmfile-out DICOM output filename to be written ('-' for stdout) +dcmfile-out DICOM output filename to be written ("-" for stdout) .fi .PP .SH "OPTIONS" @@ -137,7 +137,7 @@ color palette creation: +pf --floyd-steinberg use Floyd-Steinberg error diffusion - +pc --colors number of colors: 2\&.\&.65536 (default 256) + +pc --colors number of colors: 2..65536 (default 256) number of colors to quantize to SOP Class UID: @@ -243,4 +243,4 @@ The \fBdcmquant\fP utility will attempt to load DICOM data dictionaries specifie The default behavior should be preferred and the \fIDCMDICTPATH\fP environment variable only used when alternative data dictionaries are required\&. The \fIDCMDICTPATH\fP environment variable has the same format as the Unix shell \fIPATH\fP variable in that a colon (':') separates entries\&. On Windows systems, a semicolon (';') is used as a separator\&. The data dictionary code will attempt to load each file specified in the \fIDCMDICTPATH\fP environment variable\&. It is an error if no data dictionary can be loaded\&. .SH "COPYRIGHT" .PP -Copyright (C) 2001-2023 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. +Copyright (C) 2001-2024 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&. diff --git a/doxygen/manpages/man1/dcmrecv.1 b/doxygen/manpages/man1/dcmrecv.1 index bc57bf08..41d89d2e 100644 --- a/doxygen/manpages/man1/dcmrecv.1 +++ b/doxygen/manpages/man1/dcmrecv.1 @@ -1,4 +1,4 @@ -.TH "dcmrecv" 1 "Tue Dec 19 2023" "Version 3.6.8" "OFFIS DCMTK" \" -*- nroff -*- +.TH "dcmrecv" 1 "Wed Dec 11 2024" "Version 3.6.9" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH NAME dcmrecv \- Simple DICOM storage SCP (receiver) @@ -78,7 +78,7 @@ other network options: -td --dimse-timeout [s]econds: integer (default: unlimited) timeout for DIMSE messages - -pdu --max-pdu [n]umber of bytes: integer (4096\&.\&.131072) + -pdu --max-pdu [n]umber of bytes: integer (4096..131072) set max receive pdu to n bytes (default: 16384) -dhl --disable-host-lookup disable hostname lookup @@ -134,6 +134,9 @@ certification authority: security profile: + +ph --list-profiles + list supported TLS profiles and exit + +pg --profile-8996 BCP 195 RFC 8996 TLS Profile (default) @@ -167,7 +170,7 @@ security profile: ciphersuite: +cc --list-ciphers - show list of supported TLS ciphersuites and exit + list supported TLS ciphersuites and exit +cs --cipher [c]iphersuite name: string add ciphersuite to list of negotiated suites @@ -211,7 +214,7 @@ peer authentication: .nf general: - -od --output-directory [d]irectory: string (default: '\&.') + -od --output-directory [d]irectory: string (default: ".") write received objects to existing directory d subdirectory generation: @@ -258,7 +261,7 @@ A typical use case of \fBdcmrecv\fP is to receive SOP instances that are sent fr .PP .PP .nf -dcmrecv --verbose --config-file storescp\&.cfg default +dcmrecv --verbose --config-file storescp.cfg default .fi .PP .PP @@ -266,9 +269,9 @@ If you prefer some automatically created subdirectory structure, shorter file na .PP .PP .nf -dcmrecv -v -xf storescp\&.cfg default --series-date-subdir +dcmrecv -v -xf storescp.cfg default --series-date-subdir --short-unique-names - --filename-extension \&.dcm + --filename-extension .dcm .fi .PP .PP @@ -276,7 +279,7 @@ In case of very large SOP instances or if the dataset should be written exactly .PP .PP .nf -dcmrecv -v -xf storescp\&.cfg default --bit-preserving +dcmrecv -v -xf storescp.cfg default --bit-preserving .fi .PP .PP @@ -310,7 +313,7 @@ By default, the filenames for storing the received DICOM datasets are generated .PP .PP .nf -\&. +. .fi .PP .PP @@ -320,7 +323,7 @@ The option \fI--unique-filenames\fP makes sure that each received DICOM dataset .PP .PP .nf -\&.X\&. +.X. .fi .PP .PP @@ -338,7 +341,7 @@ Finally, option \fI--system-time-names\fP allows for generating filenames based .PP .PP .nf -